jvm-dependency-conflict-resolution icon indicating copy to clipboard operation
jvm-dependency-conflict-resolution copied to clipboard

Extend rule for `org.bouncycastle`

Open boris-petrov opened this issue 2 years ago • 5 comments

There are org.bouncycastle:bcprov-jdk15on and org.bouncycastle:bcprov-jdk18on which are conflicting.

Same for bcmail, bcutil, bcpkix and maybe others.

boris-petrov avatar Nov 18 '22 09:11 boris-petrov

This would be a candidate to solve like we did for Guava in the past. If the Java version used defines which variant to pick, we could merge all variants together into a single component (from the Gradle viewpoint) and then use the org.gradle.jvm.version attribute (and not only capabilities) for Gradle to decide based on the Java version.

See this example: https://docs.gradle.org/current/userguide/component_metadata_rules.html#making_variants_encoded_in_versions_explicit

jjohannes avatar Jan 26 '23 18:01 jjohannes

Okay that's crazy:

bcprov

Let's just do the capabilities similar to the other libraries at first.

jjohannes avatar Jan 26 '23 19:01 jjohannes

@jjohannes there is also bcjmail-jdk18on (note the extra j) - that's a Jakarta version of the bcmail artifact... so I guess either in this rule or in the Jakarta vs javax rules this could be added... not sure how exactly. This is complete madness. :smile:

boris-petrov avatar Jul 16 '23 18:07 boris-petrov

@jjohannes sorry to ping you again but you might have missed this. :)

boris-petrov avatar Aug 09 '23 16:08 boris-petrov

Thanks for the ping.

jjohannes avatar Aug 10 '23 06:08 jjohannes

We've reviewed this today and realized that bcjmail artifacts are already covered, see https://github.com/gradlex-org/jvm-dependency-conflict-resolution/blob/a795278db454e9b246064d68f7c9efef11a46358/src/main/java/org/gradlex/jvm/dependency/conflict/detection/rules/CapabilityDefinition.java#L82-L84

britter avatar May 24 '24 13:05 britter