From c37716f92ace44c183c0194d6c633aa568ebab0f Mon Sep 17 00:00:00 2001 From: Matt Pavlovich Date: Thu, 2 Oct 2025 13:27:23 -0500 Subject: [PATCH] [AMQ-9777] Migrate to using multi-release jar for activemq-client --- activemq-client-jdk21-test/pom.xml | 98 -------- activemq-client-jdk21/pom.xml | 237 ------------------ activemq-client/pom.xml | 33 +++ .../thread/VirtualThreadExecutor.java | 0 .../thread/VirtualThreadTaskRunner.java | 0 activemq-unit-tests/pom.xml | 28 +++ .../VirtualThreadTaskRunnerBrokerTest.java | 0 assembly/pom.xml | 4 - assembly/src/main/descriptors/common-bin.xml | 10 - pom.xml | 48 ---- 10 files changed, 61 insertions(+), 397 deletions(-) delete mode 100644 activemq-client-jdk21-test/pom.xml delete mode 100644 activemq-client-jdk21/pom.xml rename {activemq-client-jdk21/src/main/java => activemq-client/src/main/java21}/org/apache/activemq/thread/VirtualThreadExecutor.java (100%) rename {activemq-client-jdk21/src/main/java => activemq-client/src/main/java21}/org/apache/activemq/thread/VirtualThreadTaskRunner.java (100%) rename {activemq-client-jdk21-test/src/test/java => activemq-unit-tests/src/test/java21}/org/apache/activemq/broker/VirtualThreadTaskRunnerBrokerTest.java (100%) diff --git a/activemq-client-jdk21-test/pom.xml b/activemq-client-jdk21-test/pom.xml deleted file mode 100644 index 5d7247064dd..00000000000 --- a/activemq-client-jdk21-test/pom.xml +++ /dev/null @@ -1,98 +0,0 @@ - - - - 4.0.0 - - org.apache.activemq - activemq-parent - 6.2.0-SNAPSHOT - - activemq-client-jdk21-test - jar - ActiveMQ :: Client JDK 21 Test - Test module for activemq-client-jdk21 with tech preview support for Virtual Threads - - 21 - 21 - 21 - true - - - - org.apache.activemq - activemq-client-jdk21 - ${project.version} - - - org.apache.activemq - activemq-client - - - - - junit - junit - test - - - org.apache.activemq - activemq-broker - test - tests - ${project.version} - - - org.apache.activemq - activemq-client - - - - - org.apache.activemq - activemq-unit-tests - test - tests - ${project.version} - - - org.apache.activemq - activemq-client - - - - - - - jdk-17-skip - - [17,21) - - - - true - true - - - - jdk-21-plus - - [21,) - - - - diff --git a/activemq-client-jdk21/pom.xml b/activemq-client-jdk21/pom.xml deleted file mode 100644 index 54740994555..00000000000 --- a/activemq-client-jdk21/pom.xml +++ /dev/null @@ -1,237 +0,0 @@ - - - - 4.0.0 - - org.apache.activemq - activemq-parent - 6.2.0-SNAPSHOT - - activemq-client-jdk21 - bundle - ActiveMQ :: Client JDK 21 - ActiveMQ Client implementation compiled with JDK 21 and tech preview support for Virtual Threads - - 21 - 21 - 21 - true - - - - org.apache.activemq - activemq-client - provided - - - jakarta.jms - jakarta.jms-api - - - - - jakarta.jms - jakarta.jms-api - ${jakarta-jms-api-version} - - - org.fusesource.hawtbuf - hawtbuf - ${hawtbuf-version} - - - org.slf4j - slf4j-api - - - org.jmdns - jmdns - true - provided - - - com.thoughtworks.xstream - xstream - provided - - - junit - junit - test - - - org.apache.activemq - activemq-broker - test - tests - ${project.version} - - - org.apache.activemq - activemq-unit-tests - test - tests - ${project.version} - - - - - jdk-17-skip - - [17,21) - - - - true - - - - - org.apache.felix - maven-bundle-plugin - true - - - - - - jdk-21-plus - - [21,) - - - - - maven-dependency-plugin - - - unpack-source - initialize - - unpack - - - - - org.apache.activemq - activemq-client - sources - jar - ${project.build.directory}/copied-sources/activemq-client - **/META-INF/*,**/META-INF/maven/**,**/zeroconf/** - **/** - - - - - - - - maven-resources-plugin - - - copy-java-source - generate-sources - - copy-resources - - - ${project.build.directory}/generated-sources - - - ${project.build.directory}/copied-sources/activemq-client - - - - - - copy-resources - generate-sources - - copy-resources - - - ${project.build.directory}/generated-resources/META-INF - - - ${project.build.directory}/copied-sources/activemq-client/META-INF - - - - - - - - org.codehaus.mojo - build-helper-maven-plugin - - - add-source - generate-sources - - add-source - - - - ${project.build.directory}/generated-sources - - - - - add-resource - generate-resources - - add-resource - - - - - ${project.build.directory}/generated-resources - - - - - - - - org.apache.felix - maven-bundle-plugin - true - true - - - - !java.*, - !com.google.errorprone.annotations, - !com.google.errorprone.annotations.concurrent, - com.thoughtworks.xstream.*;resolution:="optional", - * - - - com.google.errorprone.annotations, - com.google.errorprone.annotations.concurrent - - <_noee>true - - - - - - - - diff --git a/activemq-client/pom.xml b/activemq-client/pom.xml index 6b160eb9af9..4d6f5a79eb4 100644 --- a/activemq-client/pom.xml +++ b/activemq-client/pom.xml @@ -200,15 +200,21 @@ + !java.*, + !javax.naming*, + !javax.net*, + !org.apache.activemq*, !com.google.errorprone.annotations, !com.google.errorprone.annotations.concurrent, com.thoughtworks.xstream.*;resolution:="optional", + javax.jmdns.*;resolution:="optional", * com.google.errorprone.annotations, com.google.errorprone.annotations.concurrent + true <_noee>true @@ -396,5 +402,32 @@ + + jdk21-plus + + [21,) + + + + + maven-compiler-plugin + + + java21-compile + compile + + compile + + + 21 + ${project.basedir}/src/main/java21 + true + + + + + + + diff --git a/activemq-client-jdk21/src/main/java/org/apache/activemq/thread/VirtualThreadExecutor.java b/activemq-client/src/main/java21/org/apache/activemq/thread/VirtualThreadExecutor.java similarity index 100% rename from activemq-client-jdk21/src/main/java/org/apache/activemq/thread/VirtualThreadExecutor.java rename to activemq-client/src/main/java21/org/apache/activemq/thread/VirtualThreadExecutor.java diff --git a/activemq-client-jdk21/src/main/java/org/apache/activemq/thread/VirtualThreadTaskRunner.java b/activemq-client/src/main/java21/org/apache/activemq/thread/VirtualThreadTaskRunner.java similarity index 100% rename from activemq-client-jdk21/src/main/java/org/apache/activemq/thread/VirtualThreadTaskRunner.java rename to activemq-client/src/main/java21/org/apache/activemq/thread/VirtualThreadTaskRunner.java diff --git a/activemq-unit-tests/pom.xml b/activemq-unit-tests/pom.xml index eea75d283c7..13b53fe40f4 100644 --- a/activemq-unit-tests/pom.xml +++ b/activemq-unit-tests/pom.xml @@ -1145,5 +1145,33 @@ + + jdk21-plus + + [21,) + + + + + org.codehaus.mojo + build-helper-maven-plugin + + + add-jdk21-test-source + generate-test-sources + + add-test-source + + + + src/test/java21 + + + + + + + + diff --git a/activemq-client-jdk21-test/src/test/java/org/apache/activemq/broker/VirtualThreadTaskRunnerBrokerTest.java b/activemq-unit-tests/src/test/java21/org/apache/activemq/broker/VirtualThreadTaskRunnerBrokerTest.java similarity index 100% rename from activemq-client-jdk21-test/src/test/java/org/apache/activemq/broker/VirtualThreadTaskRunnerBrokerTest.java rename to activemq-unit-tests/src/test/java21/org/apache/activemq/broker/VirtualThreadTaskRunnerBrokerTest.java diff --git a/assembly/pom.xml b/assembly/pom.xml index d87127ed821..03ca26e6f83 100644 --- a/assembly/pom.xml +++ b/assembly/pom.xml @@ -41,10 +41,6 @@ ${project.groupId} activemq-client - - ${project.groupId} - activemq-client-jdk21 - org.apache.activemq activemq-openwire-legacy diff --git a/assembly/src/main/descriptors/common-bin.xml b/assembly/src/main/descriptors/common-bin.xml index b916a0c1943..4574d21bc0f 100644 --- a/assembly/src/main/descriptors/common-bin.xml +++ b/assembly/src/main/descriptors/common-bin.xml @@ -158,16 +158,6 @@ 0644 0755 - - lib/jdk21 - false - runtime - - ${pom.groupId}:activemq-client-jdk21 - - 0644 - 0755 - lib/camel false diff --git a/pom.xml b/pom.xml index 0472e17ecd3..7facafd4c81 100644 --- a/pom.xml +++ b/pom.xml @@ -275,11 +275,6 @@ activemq-client ${project.version} - - org.apache.activemq - activemq-client-jdk21 - ${project.version} - org.apache.activemq activemq-client @@ -1457,48 +1452,5 @@ -Xdoclint:none - - jdk-21 - - [21,) - - - activemq-openwire-generator - activemq-client - activemq-client-jdk21 - activemq-client-jdk21-test - activemq-openwire-legacy - activemq-broker - activemq-stomp - activemq-mqtt - activemq-amqp - activemq-kahadb-store - activemq-jdbc-store - activemq-unit-tests - activemq-all - activemq-console - activemq-jaas - activemq-jms-pool - activemq-pool - activemq-cf - activemq-ra - activemq-rar - activemq-run - activemq-shiro - activemq-spring - activemq-runtime-config - activemq-tooling - activemq-web - activemq-web-demo - activemq-web-console - activemq-karaf - activemq-osgi - activemq-blueprint - activemq-karaf-itest - assembly - activemq-log4j-appender - activemq-http - -