diff --git a/CHANGELOG.md b/CHANGELOG.md index 4f35cab5..abbc182e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ # JVM Dependency Conflict Resolution Gradle plugin - Changelog +## Version 2.5 +* [Adjusted Rule] [#270](https://github.com/gradlex-org/jvm-dependency-conflict-resolution/issues/270) add net.java.dev.jna:jna-jpms and net.java.dev.jna:jna-platform-jpms to JNA rules + ## 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 diff --git a/samples/sample-all-deactivated/build.gradle.kts b/samples/sample-all-deactivated/build.gradle.kts index 9f75d77a..d8119828 100644 --- a/samples/sample-all-deactivated/build.gradle.kts +++ b/samples/sample-all-deactivated/build.gradle.kts @@ -104,6 +104,8 @@ dependencies { implementation("junit:junit:4.13.2") implementation("log4j:log4j:1.2.17") implementation("mysql:mysql-connector-java:8.0.33") + implementation("net.java.dev.jna:jna-jpms:5.17.0") + implementation("net.java.dev.jna:jna-platform-jpms:5.17.0") implementation("net.java.dev.jna:jna-platform:5.17.0") implementation("net.java.dev.jna:jna:5.17.0") implementation("net.java.dev.jna:platform:3.5.2") diff --git a/samples/sample-all-deactivated/build.out b/samples/sample-all-deactivated/build.out index f435b1f0..dd0a83c8 100644 --- a/samples/sample-all-deactivated/build.out +++ b/samples/sample-all-deactivated/build.out @@ -112,6 +112,8 @@ compileClasspath - Compile classpath for source set 'main'. +--- junit:junit:4.13.2 FAILED +--- log4j:log4j:1.2.17 FAILED +--- mysql:mysql-connector-java:8.0.33 FAILED ++--- net.java.dev.jna:jna-jpms:5.17.0 FAILED ++--- net.java.dev.jna:jna-platform-jpms:5.17.0 FAILED +--- net.java.dev.jna:jna-platform:5.17.0 FAILED +--- net.java.dev.jna:jna:5.17.0 FAILED +--- net.java.dev.jna:platform:3.5.2 FAILED diff --git a/samples/sample-all/build.gradle.kts b/samples/sample-all/build.gradle.kts index 87c80adf..4be4710e 100644 --- a/samples/sample-all/build.gradle.kts +++ b/samples/sample-all/build.gradle.kts @@ -107,6 +107,8 @@ dependencies { implementation("junit:junit:4.13.2") implementation("log4j:log4j:1.2.17") implementation("mysql:mysql-connector-java:8.0.33") + implementation("net.java.dev.jna:jna-jpms:5.17.0") + implementation("net.java.dev.jna:jna-platform-jpms:5.17.0") implementation("net.java.dev.jna:jna-platform:5.17.0") implementation("net.java.dev.jna:jna:5.17.0") implementation("net.java.dev.jna:platform:3.5.2") @@ -288,6 +290,8 @@ jvmDependencyConflicts { select(CapabilityDefinition.JAVAX_MAIL_API, "com.sun.mail:javax.mail"); select(CapabilityDefinition.JAVAX_SERVLET_API, "javax.servlet:javax.servlet-api") select(CapabilityDefinition.JAVAX_TRANSACTION_API, "javax.transaction:javax.transaction-api") + select(CapabilityDefinition.JNA, "net.java.dev.jna:jna-jpms") + select(CapabilityDefinition.JNA_PLATFORM, "net.java.dev.jna:jna-platform-jpms") select(CapabilityDefinition.WOODSTOX_ASL, "org.codehaus.woodstox:woodstox-core-asl") } } diff --git a/samples/sample-all/build.out b/samples/sample-all/build.out index 17a20ed9..d5001652 100644 --- a/samples/sample-all/build.out +++ b/samples/sample-all/build.out @@ -154,10 +154,12 @@ compileClasspath - Compile classpath for source set 'main'. | +--- org.slf4j:slf4j-api:2.0.17 (*) | \--- org.slf4j:slf4j-bom:2.0.17 (*) +--- mysql:mysql-connector-java:8.0.33 -> com.mysql:mysql-connector-j:9.3.0 (*) -+--- net.java.dev.jna:jna-platform:5.17.0 -| \--- net.java.dev.jna:jna:5.17.0 -+--- net.java.dev.jna:jna:5.17.0 -+--- net.java.dev.jna:platform:3.5.2 -> net.java.dev.jna:jna-platform:5.17.0 (*) ++--- net.java.dev.jna:jna-jpms:5.17.0 ++--- net.java.dev.jna:jna-platform-jpms:5.17.0 +| \--- net.java.dev.jna:jna-jpms:5.17.0 ++--- net.java.dev.jna:jna-platform:5.17.0 -> net.java.dev.jna:jna-platform-jpms:5.17.0 (*) ++--- net.java.dev.jna:jna:5.17.0 -> net.java.dev.jna:jna-jpms:5.17.0 ++--- net.java.dev.jna:platform:3.5.2 -> net.java.dev.jna:jna-platform-jpms:5.17.0 (*) +--- net.jcip:jcip-annotations:1.0 +--- net.jpountz.lz4:lz4:1.3 -> org.lz4:lz4-java:1.8.0 +--- org.apache.commons:commons-csv:1.14.0 -> org.apache.solr:solr-commons-csv:3.5.0 @@ -309,7 +311,7 @@ compileClasspath - Compile classpath for source set 'main'. +--- org.eclipse.jetty.toolchain:jetty-jakarta-servlet-api:5.0.2 -> jakarta.servlet:jakarta.servlet-api:6.1.0 +--- org.eclipse.jetty.toolchain:jetty-jakarta-websocket-api:2.0.0 -> jakarta.websocket:jakarta.websocket-api:2.2.0 +--- org.eclipse.jetty.toolchain:jetty-javax-websocket-api:1.1.2 -+--- org.elasticsearch:jna:5.7.0-1 -> net.java.dev.jna:jna:5.17.0 ++--- org.elasticsearch:jna:5.7.0-1 -> net.java.dev.jna:jna-jpms:5.17.0 +--- org.glassfish.hk2.external:jakarta.inject:2.6.1 -> com.jwebmp:javax.inject:1.1 +--- org.glassfish.hk2.external:javax.inject:2.4.0 -> com.jwebmp:javax.inject:1.1 +--- org.glassfish:jakarta.json:2.0.1 -> jakarta.json:jakarta.json-api:2.1.3 @@ -347,8 +349,8 @@ compileClasspath - Compile classpath for source set 'main'. | | +--- com.google.guava:guava:30.1.1-jre -> 33.4.8-jre (*) | | +--- org.apache.commons:commons-collections4:4.4 | | +--- com.diogonunes:JColor:5.2.0 -| | | +--- net.java.dev.jna:jna:5.8.0 -> 5.17.0 -| | | \--- net.java.dev.jna:jna-platform:5.8.0 -> 5.17.0 (*) +| | | +--- net.java.dev.jna:jna:5.8.0 -> net.java.dev.jna:jna-jpms:5.17.0 +| | | \--- net.java.dev.jna:jna-platform:5.8.0 -> net.java.dev.jna:jna-platform-jpms:5.17.0 (*) | | +--- org.apache.logging.log4j:log4j-api:2.17.1 -> 2.25.0 (*) | | \--- org.apache.logging.log4j:log4j-core:2.17.1 -> org.apache.logging.log4j:log4j-to-slf4j:2.25.0 (*) | +--- org.jzy3d:jzy3d-core-awt:2.2.1 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 822cf1a7..4a451398 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 @@ -244,10 +244,12 @@ public enum CapabilityDefinition { ), JNA_PLATFORM(HIGHEST_VERSION, "net.java.dev.jna:platform", - "net.java.dev.jna:jna-platform" + "net.java.dev.jna:jna-platform", + "net.java.dev.jna:jna-platform-jpms" ), JNA(HIGHEST_VERSION, "net.java.dev.jna:jna", + "net.java.dev.jna:jna-jpms", "org.elasticsearch:jna" ), JTS_CORE(HIGHEST_VERSION,