This is an automated email from the ASF dual-hosted git repository.
robbie pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git
The following commit(s) were added to refs/heads/main by this push:
new ee52e3d ARTEMIS-3650: simplify distribution to leverage module poms
for most of work, ensure their deps are present
ee52e3d is described below
commit ee52e3de7c5edb65ee0df463a17387672425b2ba
Author: Robbie Gemmell <[email protected]>
AuthorDate: Mon Jan 17 16:54:45 2022 +0000
ARTEMIS-3650: simplify distribution to leverage module poms for most of
work, ensure their deps are present
Fixes/tidies some module definitions to set appropriate test/etc dep scopes
and/or exclude bits not used or passed on for usage.
---
artemis-distribution/pom.xml | 133 +------------------------
artemis-distribution/src/main/assembly/dep.xml | 110 ++++----------------
artemis-dto/pom.xml | 13 +++
artemis-quorum-ri/pom.xml | 3 +-
artemis-server/pom.xml | 28 ++++++
artemis-website/pom.xml | 5 +
pom.xml | 25 +++++
7 files changed, 97 insertions(+), 220 deletions(-)
diff --git a/artemis-distribution/pom.xml b/artemis-distribution/pom.xml
index 9e99276..f499e32 100644
--- a/artemis-distribution/pom.xml
+++ b/artemis-distribution/pom.xml
@@ -59,11 +59,6 @@
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
- <artifactId>artemis-dto</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.activemq</groupId>
<artifactId>artemis-cli</artifactId>
<version>${project.version}</version>
</dependency>
@@ -82,16 +77,6 @@
<artifactId>artemis-ra</artifactId>
<version>${project.version}</version>
</dependency>
- <dependency>
- <groupId>org.apache.activemq</groupId>
- <artifactId>artemis-spring-integration</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.activemq.rest</groupId>
- <artifactId>artemis-rest</artifactId>
- <version>${project.version}</version>
- </dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>artemis-web</artifactId>
@@ -143,64 +128,15 @@
<version>${project.version}</version>
</dependency>
<!-- dependencies -->
- <dependency>
- <groupId>org.jboss.logmanager</groupId>
- <artifactId>jboss-logmanager</artifactId>
- </dependency>
- <dependency>
- <groupId>org.jboss.slf4j</groupId>
- <artifactId>slf4j-jboss-logmanager</artifactId>
- </dependency>
- <dependency>
- <groupId>org.wildfly.common</groupId>
- <artifactId>wildfly-common</artifactId>
- </dependency>
- <dependency>
- <groupId>io.airlift</groupId>
- <artifactId>airline</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.activemq</groupId>
- <artifactId>activemq-client</artifactId>
- <exclusions>
- <exclusion>
- <groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-jms_1.1_spec</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-j2ee-management_1.1_spec</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-openwire-legacy</artifactId>
</dependency>
<dependency>
- <groupId>org.eclipse.jetty.aggregate</groupId>
- <artifactId>jetty-all</artifactId>
- <type>jar</type>
- <classifier>uber</classifier>
- </dependency>
- <dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-servlet-api</artifactId>
</dependency>
- <!-- for artemis cli producer/consumer -->
- <dependency>
- <groupId>org.apache.qpid</groupId>
- <artifactId>qpid-jms-client</artifactId>
- <exclusions>
- <exclusion>
- <groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-jms_2.0_spec</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
-
-
<!-- Management Console Dependencies -->
<dependency>
<groupId>org.apache.activemq</groupId>
@@ -220,15 +156,6 @@
<version>${project.version} </version>
<type>war</type>
</dependency>
-
- <dependency>
- <groupId>commons-beanutils</groupId>
- <artifactId>commons-beanutils</artifactId>
- </dependency>
- <dependency>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- </dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>artemis-website</artifactId>
@@ -246,64 +173,8 @@
<artifactId>artemis-quorum-ri</artifactId>
<version>${project.version}</version>
</dependency>
- <dependency>
- <groupId>io.netty</groupId>
- <artifactId>netty-buffer</artifactId>
- </dependency>
- <dependency>
- <groupId>io.netty</groupId>
- <artifactId>netty-transport</artifactId>
- </dependency>
- <dependency>
- <groupId>io.netty</groupId>
- <artifactId>netty-handler</artifactId>
- </dependency>
- <dependency>
- <groupId>io.netty</groupId>
- <artifactId>netty-handler-proxy</artifactId>
- </dependency>
- <dependency>
- <groupId>io.netty</groupId>
- <artifactId>netty-codec</artifactId>
- </dependency>
- <dependency>
- <groupId>io.netty</groupId>
- <artifactId>netty-codec-http</artifactId>
- </dependency>
- <dependency>
- <groupId>io.netty</groupId>
- <artifactId>netty-codec-mqtt</artifactId>
- </dependency>
- <dependency>
- <groupId>io.netty</groupId>
- <artifactId>netty-codec-socks</artifactId>
- </dependency>
- <dependency>
- <groupId>io.netty</groupId>
- <artifactId>netty-common</artifactId>
- </dependency>
- <dependency>
- <groupId>io.netty</groupId>
- <artifactId>netty-resolver</artifactId>
- </dependency>
- <dependency>
- <groupId>io.netty</groupId>
- <artifactId>netty-transport-classes-epoll</artifactId>
- </dependency>
- <dependency>
- <groupId>io.netty</groupId>
- <artifactId>netty-transport-native-epoll</artifactId>
- <classifier>${netty-transport-native-epoll-classifier}</classifier>
- </dependency>
- <dependency>
- <groupId>io.netty</groupId>
- <artifactId>netty-transport-classes-kqueue</artifactId>
- </dependency>
- <dependency>
- <groupId>io.netty</groupId>
- <artifactId>netty-transport-native-kqueue</artifactId>
- <classifier>${netty-transport-native-kqueue-classifier}</classifier>
- </dependency>
+
+ <!--TODO: no other modules seem to use this, is it equivalent to
something else they do use ? -->
<dependency>
<groupId>jakarta.security.auth.message</groupId>
<artifactId>jakarta.security.auth.message-api</artifactId>
diff --git a/artemis-distribution/src/main/assembly/dep.xml
b/artemis-distribution/src/main/assembly/dep.xml
index a9de2c8..9f15317 100644
--- a/artemis-distribution/src/main/assembly/dep.xml
+++ b/artemis-distribution/src/main/assembly/dep.xml
@@ -32,114 +32,48 @@
</includes>
<useProjectArtifact>false</useProjectArtifact>
</dependencySet>
-
<dependencySet>
<directoryMode>0755</directoryMode>
<fileMode>0644</fileMode>
<includes>
-
- <!-- modules -->
- <include>org.apache.activemq:artemis-cli</include>
- <include>org.apache.activemq:artemis-commons</include>
- <include>org.apache.activemq:artemis-core-client</include>
- <include>org.apache.activemq:artemis-dto</include>
- <include>org.apache.activemq:artemis-jms-client</include>
- <include>org.apache.activemq:artemis-jms-server</include>
- <include>org.apache.activemq:artemis-journal</include>
- <include>org.apache.activemq:artemis-jdbc-store</include>
- <include>org.apache.activemq:activemq-artemis-native</include>
- <include>org.apache.activemq:artemis-amqp-protocol</include>
- <include>org.apache.activemq:artemis-openwire-protocol</include>
- <include>org.apache.activemq:artemis-hornetq-protocol</include>
- <include>org.apache.activemq:artemis-hqclient-protocol</include>
- <include>org.apache.activemq:artemis-stomp-protocol</include>
- <include>org.apache.activemq:artemis-mqtt-protocol</include>
- <include>org.apache.activemq:artemis-ra</include>
- <include>org.apache.activemq:artemis-selector</include>
- <include>org.apache.activemq:artemis-server</include>
- <include>org.apache.activemq:artemis-service-extensions</include>
- <include>org.apache.activemq:artemis-web</include>
- <include>org.apache.activemq.rest:artemis-rest</include>
- <include>org.apache.qpid:qpid-jms-client</include>
- <include>io.micrometer:micrometer-core</include>
- <!-- quorum -->
- <include>org.apache.activemq:artemis-quorum-api</include>
- <include>org.apache.activemq:artemis-quorum-ri</include>
-
- <!-- dependencies -->
- <include>jakarta.jms:jakarta.jms-api</include>
- <include>jakarta.transaction:jakarta.transaction-api</include>
- <include>org.wildfly.common:wildfly-common</include>
- <include>org.jboss.logmanager:jboss-logmanager</include>
- <include>org.jboss.logging:jboss-logging</include>
- <include>org.jboss.slf4j:slf4j-jboss-logmanager</include>
- <include>org.jctools:jctools-core</include>
- <include>org.apache.commons:commons-dbcp2</include>
- <include>org.apache.commons:commons-pool2</include>
- <include>io.netty:netty-buffer</include>
- <include>io.netty:netty-transport</include>
- <include>io.netty:netty-handler</include>
- <include>io.netty:netty-handler-proxy</include>
- <include>io.netty:netty-codec</include>
- <include>io.netty:netty-codec-http</include>
- <include>io.netty:netty-codec-mqtt</include>
- <include>io.netty:netty-codec-socks</include>
- <include>io.netty:netty-common</include>
- <include>io.netty:netty-resolver</include>
- <include>io.netty:netty-transport-native-unix-common</include>
- <include>io.netty:netty-transport-classes-epoll</include>
- <include>io.netty:netty-transport-native-epoll</include>
- <include>io.netty:netty-transport-classes-kqueue</include>
- <include>io.netty:netty-transport-native-kqueue</include>
- <include>org.apache.qpid:proton-j</include>
- <include>org.apache.activemq:activemq-client</include>
- <include>org.apache.activemq:activemq-openwire-legacy</include>
- <include>org.slf4j:slf4j-api</include>
- <include>io.airlift:airline</include>
- <include>com.google.guava:guava</include>
- <include>jakarta.inject:jakarta.inject-api</include>
<include>org.eclipse.jetty.aggregate:jetty-all:jar:uber</include>
- <include>org.apache.tomcat:tomcat-servlet-api</include>
- <include>commons-beanutils:commons-beanutils</include>
- <include>commons-logging:commons-logging</include>
- <include>commons-collections:commons-collections</include>
- <include>org.apache.commons:commons-configuration2</include>
- <include>org.apache.commons:commons-text</include>
- <include>org.apache.commons:commons-lang3</include>
- <include>org.fusesource.hawtbuf:hawtbuf</include>
- <include>org.jgroups:jgroups</include>
- <include>jakarta.xml.bind:jakarta.xml.bind-api</include>
- <include>com.sun.xml.bind:jaxb-impl</include>
- <include>jakarta.activation:jakarta.activation-api</include>
-
<include>jakarta.security.auth.message:jakarta.security.auth.message-api</include>
- <!-- quorum -->
- <include>org.apache.curator:curator-recipes</include>
- <include>org.apache.curator:curator-client</include>
- <include>org.apache.curator:curator-framework</include>
- <include>org.apache.zookeeper:zookeeper</include>
- <include>org.apache.zookeeper:zookeeper-jute</include>
</includes>
- <!--excludes>
- <exclude>org.apache.activemq:artemis-website</exclude>
- </excludes-->
<outputDirectory>lib</outputDirectory>
<unpack>false</unpack>
<useProjectArtifact>false</useProjectArtifact>
</dependencySet>
+
<dependencySet>
<directoryMode>0755</directoryMode>
<fileMode>0644</fileMode>
- <includes>
- <include>org.apache.activemq:artemis-jms-client-all</include>
- </includes>
- <outputDirectory>lib/client</outputDirectory>
+ <excludes>
+ <!-- Handled above for now to avoid it bringing in duplicative
transitive deps -->
+ <!-- Should not be using this according to the jetty folks:
https://www.eclipse.org//lists/jetty-users/msg06029.html -->
+ <exclude>org.eclipse.jetty.aggregate:jetty-all:jar:uber</exclude>
+
+ <!-- Handled above -->
+ <exclude>org.apache.activemq:artemis-boot</exclude>
+
+ <!-- Handled later in lib/client subdir -->
+ <exclude>org.apache.activemq:artemis-jms-client-all</exclude>
+ <exclude>org.apache.activemq:artemis-jakarta-client-all</exclude>
+
+ <!-- Handled later in web subdir for console bits -->
+ <exclude>org.apache.activemq:artemis-console:war</exclude>
+ <exclude>org.apache.activemq:activemq-branding:war</exclude>
+ <exclude>org.apache.activemq:artemis-plugin:war</exclude>
+ <exclude>org.apache.activemq:artemis-website</exclude>
+ </excludes>
+ <outputDirectory>lib</outputDirectory>
<unpack>false</unpack>
<useProjectArtifact>false</useProjectArtifact>
+ <useTransitiveFiltering>true</useTransitiveFiltering>
</dependencySet>
<dependencySet>
<directoryMode>0755</directoryMode>
<fileMode>0644</fileMode>
<includes>
+ <include>org.apache.activemq:artemis-jms-client-all</include>
<include>org.apache.activemq:artemis-jakarta-client-all</include>
</includes>
<outputDirectory>lib/client</outputDirectory>
diff --git a/artemis-dto/pom.xml b/artemis-dto/pom.xml
index 332c5f8..45e1b2b 100644
--- a/artemis-dto/pom.xml
+++ b/artemis-dto/pom.xml
@@ -50,11 +50,18 @@
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>${version.jaxb.runtime}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>com.sun.activation</groupId>
+ <artifactId>jakarta.activation</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-jxc</artifactId>
<version>${version.jaxb.runtime}</version>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>jakarta.activation</groupId>
@@ -129,6 +136,12 @@
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>${version.jaxb.runtime}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>com.sun.activation</groupId>
+ <artifactId>jakarta.activation</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
diff --git a/artemis-quorum-ri/pom.xml b/artemis-quorum-ri/pom.xml
index 254082e..9a15f84 100644
--- a/artemis-quorum-ri/pom.xml
+++ b/artemis-quorum-ri/pom.xml
@@ -48,6 +48,7 @@
<groupId>org.apache.curator</groupId>
<artifactId>curator-test</artifactId>
<version>${curator.version}</version>
+ <scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.jupiter</groupId>
@@ -139,4 +140,4 @@
</plugin>
</plugins>
</build>
-</project>
\ No newline at end of file
+</project>
diff --git a/artemis-server/pom.xml b/artemis-server/pom.xml
index 881d213..519ace3 100644
--- a/artemis-server/pom.xml
+++ b/artemis-server/pom.xml
@@ -51,6 +51,33 @@
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
+ <exclusions>
+ <exclusion>
+ <groupId>com.google.guava</groupId>
+ <artifactId>listenablefuture</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>com.google.code.findbugs</groupId>
+ <artifactId>jsr305</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.checkerframework</groupId>
+ <artifactId>checker-qual</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>com.google.errorprone</groupId>
+ <artifactId>error_prone_annotations</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>com.google.j2objc</groupId>
+ <artifactId>j2objc-annotations</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>com.google.code.findbugs</groupId>
+ <artifactId>jsr305</artifactId>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>org.jboss.logging</groupId>
@@ -155,6 +182,7 @@
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
+ <scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
diff --git a/artemis-website/pom.xml b/artemis-website/pom.xml
index 20e2de3..2ba7957 100644
--- a/artemis-website/pom.xml
+++ b/artemis-website/pom.xml
@@ -72,6 +72,11 @@
<optional>true</optional>
<scope>provided</scope>
</dependency>
+ <dependency>
+ <groupId>com.google.code.findbugs</groupId>
+ <artifactId>jsr305</artifactId>
+ <scope>provided</scope>
+ </dependency>
</dependencies>
<properties>
diff --git a/pom.xml b/pom.xml
index bccd724..a64e6d8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -99,6 +99,7 @@
<commons.codec.version>1.15</commons.codec.version>
<fuse.mqtt.client.version>1.16</fuse.mqtt.client.version>
<guava.version>30.1-jre</guava.version>
+ <jsr305.version>3.0.2</jsr305.version>
<jboss.logging.version>3.4.2.Final</jboss.logging.version>
<jetty.version>9.4.44.v20210927</jetty.version>
<jgroups.version>3.6.13.Final</jgroups.version>
@@ -373,6 +374,7 @@
<artifactId>jboss-logging-processor</artifactId>
<version>2.2.0.Final</version>
<optional>true</optional>
+ <scope>provided</scope>
<!-- License: LGPL-->
</dependency>
<dependency>
@@ -556,6 +558,10 @@
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
</exclusion>
+ <exclusion>
+ <groupId>com.google.code.findbugs</groupId>
+ <artifactId>jsr305</artifactId>
+ </exclusion>
</exclusions>
<!-- License: Apache 2.0 -->
</dependency>
@@ -800,6 +806,16 @@
<artifactId>micrometer-core</artifactId>
<version>${version.micrometer}</version>
<optional>true</optional> <!-- keep optional as "true" at least
until micrometer supports OSGi -->
+ <exclusions>
+ <exclusion>
+ <groupId>org.hdrhistogram</groupId>
+ <artifactId>HdrHistogram</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.latencyutils</groupId>
+ <artifactId>LatencyUtils</artifactId>
+ </exclusion>
+ </exclusions>
<!-- license Apache 2 -->
</dependency>
@@ -891,6 +907,11 @@
<!-- License: Apache 2.0 -->
</dependency>
<dependency>
+ <groupId>com.google.code.findbugs</groupId>
+ <artifactId>jsr305</artifactId>
+ <version>${jsr305.version}</version>
+ </dependency>
+ <dependency>
<groupId>jakarta.security.auth.message</groupId>
<artifactId>jakarta.security.auth.message-api</artifactId>
<version>${jakarta.security.auth.message-api.version}</version>
@@ -928,6 +949,10 @@
<groupId>io.netty</groupId>
<artifactId>netty-transport-native-epoll</artifactId>
</exclusion>
+ <exclusion>
+ <groupId>org.apache.yetus</groupId>
+ <artifactId>audience-annotations</artifactId>
+ </exclusion>
</exclusions>
</dependency>
<dependency>