diff --git a/CHANGELOG.md b/CHANGELOG.md index ed436f62..4f35cab5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ ## Version 2.4 * [Fix] [#238](https://github.com/gradlex-org/jvm-dependency-conflict-resolution/issues/238) Patch DSL now works for dependencies with non-standard variant names (e.g. com.google.guava). +* [Fix] [#243](https://github.com/gradlex-org/jvm-dependency-conflict-resolution/issues/243) jakarta.xml.ws:jakarta.xml.ws-api no longer clashes with jakarta.jws:jakarta.jws-api for versions <= 4.0 * [Deprecation] [#251](https://github.com/gradlex-org/jvm-dependency-conflict-resolution/issues/251) Deprecate GuavaComponentRule in favor of more general patch DSL. ## Version 2.3 diff --git a/src/main/java/org/gradlex/jvm/dependency/conflict/detection/rules/jakarta/JakartaJwsApiRule.java b/src/main/java/org/gradlex/jvm/dependency/conflict/detection/rules/jakarta/JakartaJwsApiRule.java index 5a83b0e8..f2cf30ad 100644 --- a/src/main/java/org/gradlex/jvm/dependency/conflict/detection/rules/jakarta/JakartaJwsApiRule.java +++ b/src/main/java/org/gradlex/jvm/dependency/conflict/detection/rules/jakarta/JakartaJwsApiRule.java @@ -36,7 +36,7 @@ public JakartaJwsApiRule(CapabilityDefinition rule) { @Override protected boolean shouldApply(ModuleVersionIdentifier id) { - if (id.getName().equals("jakarta.xml.ws:jakarta.xml.ws-api")) { + if (id.getName().equals("jakarta.xml.ws-api")) { return VersionNumber.parse(getVersion(id)).compareTo(VersionNumber.parse(JWS_MERGER_VERSION)) >= 0; } return true; diff --git a/src/test/groovy/org/gradlex/jvm/dependency/conflict/test/issues/Issue243Test.groovy b/src/test/groovy/org/gradlex/jvm/dependency/conflict/test/issues/Issue243Test.groovy new file mode 100644 index 00000000..636e7e88 --- /dev/null +++ b/src/test/groovy/org/gradlex/jvm/dependency/conflict/test/issues/Issue243Test.groovy @@ -0,0 +1,43 @@ +package org.gradlex.jvm.dependency.conflict.test.issues + +import org.gradlex.jvm.dependency.conflict.test.fixture.GradleBuild +import spock.lang.Issue +import spock.lang.Specification + +@Issue("https://github.com/gradlex-org/jvm-dependency-conflict-resolution/issues/243") +class Issue243Test extends Specification { + + @Delegate + GradleBuild build = new GradleBuild() + + def "works for older versions"() { + given: + buildFile << """ + plugins { + id("org.gradlex.jvm-dependency-conflict-detection") + id("java-library") + } + + repositories { + mavenCentral() + } + + dependencies { + implementation("jakarta.xml.ws:jakarta.xml.ws-api:3.0.1") + implementation("jakarta.jws:jakarta.jws-api:3.0.0") + } + """ + + expect: + dependenciesCompile().output.contains ''' +compileClasspath - Compile classpath for source set 'main'. ++--- jakarta.xml.ws:jakarta.xml.ws-api:3.0.1 +| +--- jakarta.xml.bind:jakarta.xml.bind-api:3.0.1 +| | \\--- com.sun.activation:jakarta.activation:2.0.1 +| +--- jakarta.xml.soap:jakarta.xml.soap-api:2.0.1 +| | \\--- com.sun.activation:jakarta.activation:2.0.1 +| \\--- jakarta.jws:jakarta.jws-api:3.0.0 +\\--- jakarta.jws:jakarta.jws-api:3.0.0 +''' + } +}