diff --git a/samples/sample-all-deactivated/build.out b/samples/sample-all-deactivated/build.out index f449b2e2..e68ddf0d 100644 --- a/samples/sample-all-deactivated/build.out +++ b/samples/sample-all-deactivated/build.out @@ -55,7 +55,8 @@ compileClasspath - Compile classpath for source set 'main'. +--- jakarta.validation:jakarta.validation-api:2.0.1 FAILED +--- jakarta.websocket:jakarta.websocket-client-api:2.1.1 FAILED +--- jakarta.ws.rs:jakarta.ws.rs-api:3.1.0 FAILED -+--- jakarta.xml.bind:jakarta.xml.bind-api:2.3.3 FAILED ++--- jakarta.xml.bind:jakarta.xml.bind-api:2.3.3 +| \--- jakarta.activation:jakarta.activation-api:1.2.2 FAILED +--- jakarta.xml.soap:jakarta.xml.soap-api:1.4.2 FAILED +--- jakarta.xml.ws:jakarta.xml.ws-api:2.3.3 FAILED +--- javassist:javassist:3.12.1.GA FAILED @@ -88,7 +89,8 @@ compileClasspath - Compile classpath for source set 'main'. +--- javax.websocket:javax.websocket-client-api:1.0 FAILED +--- javax.ws.rs:javax.ws.rs-api:2.1.1 FAILED +--- javax.ws.rs:jsr311-api:1.1.1 FAILED -+--- javax.xml.bind:jaxb-api:2.3.1 FAILED ++--- javax.xml.bind:jaxb-api:2.3.1 +| \--- javax.activation:javax.activation-api:1.2.0 FAILED +--- javax.xml.soap:javax.xml.soap-api:1.4.0 FAILED +--- javax.xml.stream:stax-api:1.0 FAILED +--- javax.xml.ws:jaxws-api:2.3.1 FAILED @@ -251,4 +253,6 @@ compileClasspath - Compile classpath for source set 'main'. +--- woodstox:wstx-lgpl:3.2.7 FAILED \--- com.google.collections:google-collections:1.0 FAILED +(*) - Indicates repeated occurrences of a transitive dependency subtree. Gradle expands transitive dependency subtrees only once per project; repeat occurrences only display the root of the subtree, followed by this annotation. + A web-based, searchable dependency report is available by adding the --scan option. diff --git a/samples/sample-all/build.out b/samples/sample-all/build.out index 16c8b716..63108dea 100644 --- a/samples/sample-all/build.out +++ b/samples/sample-all/build.out @@ -78,7 +78,12 @@ compileClasspath - Compile classpath for source set 'main'. +--- jakarta.el:jakarta.el-api:4.0.0 +--- jakarta.inject:jakarta.inject-api:1.0.5 -> com.jwebmp:javax.inject:1.1 +--- jakarta.json:jakarta.json-api:1.1.6 -+--- jakarta.jws:jakarta.jws-api:3.0.0 ++--- jakarta.jws:jakarta.jws-api:3.0.0 -> 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.activation:jakarta.activation-api:2.1.1 +| +--- jakarta.xml.soap:jakarta.xml.soap-api:2.0.1 +| | \--- com.sun.activation:jakarta.activation:2.0.1 -> jakarta.activation:jakarta.activation-api:2.1.1 +| \--- jakarta.jws:jakarta.jws-api:3.0.0 -> jakarta.xml.ws:jakarta.xml.ws-api:3.0.1 (*) +--- jakarta.mail:jakarta.mail-api:2.1.0 (*) +--- jakarta.persistence:jakarta.persistence-api:3.0.0 +--- jakarta.servlet.jsp.jstl:jakarta.servlet.jsp.jstl-api:1.2.7 @@ -89,14 +94,9 @@ compileClasspath - Compile classpath for source set 'main'. +--- jakarta.websocket:jakarta.websocket-api:2.1.1 +--- jakarta.websocket:jakarta.websocket-client-api:2.1.1 +--- jakarta.ws.rs:jakarta.ws.rs-api:3.1.0 -+--- jakarta.xml.bind:jakarta.xml.bind-api:3.0.1 -| \--- com.sun.activation:jakarta.activation:2.0.1 -> jakarta.activation:jakarta.activation-api:2.1.1 -+--- jakarta.xml.soap:jakarta.xml.soap-api:2.0.1 -| \--- com.sun.activation:jakarta.activation:2.0.1 -> jakarta.activation:jakarta.activation-api:2.1.1 -+--- jakarta.xml.ws:jakarta.xml.ws-api:3.0.1 -| +--- jakarta.xml.bind:jakarta.xml.bind-api:3.0.1 (*) -| +--- jakarta.xml.soap:jakarta.xml.soap-api:2.0.1 (*) -| \--- jakarta.jws:jakarta.jws-api:3.0.0 ++--- jakarta.xml.bind:jakarta.xml.bind-api:3.0.1 (*) ++--- jakarta.xml.soap:jakarta.xml.soap-api:2.0.1 (*) ++--- jakarta.xml.ws:jakarta.xml.ws-api:3.0.1 (*) +--- javassist:javassist:3.12.1.GA -> org.javassist:javassist:3.29.1-GA +--- javax.activation:activation:1.1.1 -> javax.activation:javax.activation-api:1.2.0 +--- javax.activation:javax.activation-api:1.2.0 @@ -109,7 +109,11 @@ compileClasspath - Compile classpath for source set 'main'. +--- javax.el:javax.el-api:3.0.0 +--- javax.inject:javax.inject:1 -> com.jwebmp:javax.inject:1.1 +--- javax.json:javax.json-api:1.1.4 -> jakarta.json:jakarta.json-api:1.1.6 -+--- javax.jws:javax.jws-api:1.1 ++--- javax.jws:javax.jws-api:1.1 -> javax.xml.ws:jaxws-api:2.3.1 +| +--- javax.xml.bind:jaxb-api:2.3.1 +| | \--- javax.activation:javax.activation-api:1.2.0 +| +--- javax.xml.soap:javax.xml.soap-api:1.4.0 +| \--- javax.annotation:javax.annotation-api:1.3.2 +--- javax.mail:javax.mail-api:1.4.7 -> com.sun.mail:javax.mail:1.6.2 (*) +--- javax.mail:mail:1.4.7 -> com.sun.mail:javax.mail:1.6.2 (*) +--- javax.persistence:javax.persistence-api:2.2 @@ -128,14 +132,10 @@ compileClasspath - Compile classpath for source set 'main'. +--- javax.websocket:javax.websocket-client-api:1.0 -> org.eclipse.jetty.toolchain:jetty-javax-websocket-api:1.1.2 +--- javax.ws.rs:javax.ws.rs-api:2.1.1 +--- javax.ws.rs:jsr311-api:1.1.1 -> javax.ws.rs:javax.ws.rs-api:2.1.1 -+--- javax.xml.bind:jaxb-api:2.3.1 -| \--- javax.activation:javax.activation-api:1.2.0 ++--- javax.xml.bind:jaxb-api:2.3.1 (*) +--- javax.xml.soap:javax.xml.soap-api:1.4.0 +--- javax.xml.stream:stax-api:1.0 -> stax:stax-api:1.0.1 -+--- javax.xml.ws:jaxws-api:2.3.1 -| +--- javax.xml.bind:jaxb-api:2.3.1 (*) -| +--- javax.xml.soap:javax.xml.soap-api:1.4.0 -| \--- javax.annotation:javax.annotation-api:1.3.2 ++--- javax.xml.ws:jaxws-api:2.3.1 (*) +--- jboss:javassist:3.8.0.GA -> org.javassist:javassist:3.29.1-GA +--- junit:junit-dep:4.8 -> junit:junit:4.12 | \--- org.hamcrest:hamcrest-core:1.3 -> org.hamcrest:hamcrest:2.2 diff --git a/src/main/java/org/gradlex/jvm/dependency/conflict/detection/rules/CapabilityDefinition.java b/src/main/java/org/gradlex/jvm/dependency/conflict/detection/rules/CapabilityDefinition.java index f3e5b779..2fe8433f 100644 --- a/src/main/java/org/gradlex/jvm/dependency/conflict/detection/rules/CapabilityDefinition.java +++ b/src/main/java/org/gradlex/jvm/dependency/conflict/detection/rules/CapabilityDefinition.java @@ -21,6 +21,7 @@ import org.gradlex.jvm.dependency.conflict.detection.rules.jakarta.JakartaActivationApiRule; import org.gradlex.jvm.dependency.conflict.detection.rules.jakarta.JakartaActivationImplementationRule; import org.gradlex.jvm.dependency.conflict.detection.rules.jakarta.JakartaAnnotationApiRule; +import org.gradlex.jvm.dependency.conflict.detection.rules.jakarta.JakartaJwsApisRule; import org.gradlex.jvm.dependency.conflict.detection.rules.jakarta.JakartaMailApiRule; import org.gradlex.jvm.dependency.conflict.detection.rules.jakarta.JakartaServletApiRule; import org.gradlex.jvm.dependency.conflict.detection.rules.jakarta.JakartaWebsocketApiRule; @@ -43,8 +44,6 @@ import org.gradlex.jvm.dependency.conflict.detection.rules.jakarta.JavaxValidationApiRule; import org.gradlex.jvm.dependency.conflict.detection.rules.jakarta.JavaxWebsocketApiRule; import org.gradlex.jvm.dependency.conflict.detection.rules.jakarta.JavaxWsRsApiRule; -import org.gradlex.jvm.dependency.conflict.detection.rules.jakarta.JavaxXmlBindApiRule; -import org.gradlex.jvm.dependency.conflict.detection.rules.jakarta.JavaxXmlWsApiRule; import org.gradlex.jvm.dependency.conflict.detection.rules.logging.LoggingModuleIdentifiers; import org.gradlex.jvm.dependency.conflict.resolution.DefaultResolutionStrategy; @@ -362,7 +361,9 @@ public enum CapabilityDefinition { ), JAVAX_JWS_API(HIGHEST_VERSION, JavaxJwsApisRule.class, "javax.jws:javax.jws-api", - "jakarta.jws:jakarta.jws-api" + "javax.xml.ws:jaxws-api", + "jakarta.jws:jakarta.jws-api", + "jakarta.xml.ws:jakarta.xml.ws-api" ), JAVAX_MAIL_API(HIGHEST_VERSION, JavaxMailApiRule.class, "com.sun.mail:mailapi", // API only @@ -445,12 +446,8 @@ public enum CapabilityDefinition { "jakarta.ws.rs:jakarta.ws.rs-api", "javax.ws.rs:javax.ws.rs-api" ), - JAVAX_XML_BIND_API(HIGHEST_VERSION, JavaxXmlBindApiRule.class, - "javax.xml.bind:jaxb-api", - "jakarta.xml.bind:jakarta.xml.bind-api" - ), - JAVAX_XML_WS_API(HIGHEST_VERSION, JavaxXmlWsApiRule.class, - "javax.xml.ws:jaxws-api", + JAKARTA_JWS_API(HIGHEST_VERSION, JakartaJwsApisRule.class, + "jakarta.jws:jakarta.jws-api", "jakarta.xml.ws:jakarta.xml.ws-api" ), diff --git a/src/main/java/org/gradlex/jvm/dependency/conflict/detection/rules/jakarta/JavaxXmlBindApiRule.java b/src/main/java/org/gradlex/jvm/dependency/conflict/detection/rules/jakarta/JakartaJwsApisRule.java similarity index 79% rename from src/main/java/org/gradlex/jvm/dependency/conflict/detection/rules/jakarta/JavaxXmlBindApiRule.java rename to src/main/java/org/gradlex/jvm/dependency/conflict/detection/rules/jakarta/JakartaJwsApisRule.java index 598d269b..ad1ef953 100644 --- a/src/main/java/org/gradlex/jvm/dependency/conflict/detection/rules/jakarta/JavaxXmlBindApiRule.java +++ b/src/main/java/org/gradlex/jvm/dependency/conflict/detection/rules/jakarta/JakartaJwsApisRule.java @@ -25,17 +25,15 @@ import javax.inject.Inject; @CacheableRule -public abstract class JavaxXmlBindApiRule extends CapabilityDefinitionRule { - - static final String FIRST_JAKARTA_VERSION = "3.0.0"; +public abstract class JakartaJwsApisRule extends CapabilityDefinitionRule { @Inject - public JavaxXmlBindApiRule(CapabilityDefinition rule) { + public JakartaJwsApisRule(CapabilityDefinition rule) { super(rule); } @Override protected boolean shouldApply(ModuleVersionIdentifier id) { - return VersionNumber.parse(id.getVersion()).compareTo(VersionNumber.parse(FIRST_JAKARTA_VERSION)) < 0; + return VersionNumber.parse(getVersion(id)).compareTo(VersionNumber.parse(JavaxJwsApisRule.FIRST_JAKARTA_VERSION)) >= 0; } }