Closed mqware closed 4 months ago
In the updated setup, I now integrated the version catalog (#5) and no longer use alignment BOMs directly. Instead I define the version for one (or more, if necessary) of the components. And then I used the "alignment" feature of the jvm-dependency-conflict-resolution
plugin to define alignment where needed. The approach used there does not require a "fake" BOM anymore and thus can't run into the problem you initially ran into.
Alignment in updated setup: https://github.com/jjohannes/gradle-project-setup-howto/blob/main/gradle/plugins/src/main/kotlin/org.example.gradle.base.dependency-rules.gradle.kts#L29-L49 Docs for jvm-dependency-conflict-resolution: https://gradlex.org/jvm-dependency-conflict-resolution/#patch-dsl-block
Hope this helps. Let me know if you have follow up questions.
(This post is copied over from here: How to create a platform rule for BouncyCastle? as it is related to this project.)
Hi @jjohannes,
Thanks for your quick response!
Unfortunately this didn't work, apparently because it provides the same capability. I got a similar error as above:
Nevertheless, this was helpful, because next I tried
BOUNCY_CASTLE_PLATFORM = "org.bouncycastle:bcmail-jdk18on"
and that worked fine. So, thanks for pointing me in the right direction. :smile:Actually I wanted to ask about this, (although this would be more suited for the gradle-project-setup-howto project), but the poi rule doesn't seem to be doing anything, because the dependency graph (under the platform) looks like this:
This is just what's in the pom with nothing added or removed. Unlike
org.apache.httpcomponents:httpcomponents-client
for example, where I only see a list of constraints that were added by the rule.It is not a complete success yet, but I am getting there. :smile: First I had to build the whole project from scratch, one file at a time, so I can try and (at least somewhat) understand the structure, because it is way over my head. Then I moved in the actual source code and now I am trying to put all the dependencies into the platform project, migrate my existing rules, etc. But thanks for providing this framework, I think it will be great, once I complete it. :laughing:
Great, and I was thinking that I was modernizing my project. Now you're telling me that I am using outdated, "legacy" technology. :joy::joy::joy:
Looking forward to the updates. Until then I'll continue working with this dinosaur. 😂