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.
This commit is contained in:
Robbie Gemmell 2022-01-17 16:54:45 +00:00
parent e164a5b3b8
commit ee52e3de7c
7 changed files with 102 additions and 225 deletions

View File

@ -57,11 +57,6 @@
<artifactId>artemis-server</artifactId>
<version>${project.version}</version>
</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>
@ -81,16 +76,6 @@
<groupId>org.apache.activemq</groupId>
<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>
@ -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>

View File

@ -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>
<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>
</includes>
<outputDirectory>lib/client</outputDirectory>
<unpack>false</unpack>
<useProjectArtifact>false</useProjectArtifact>
</dependencySet>
<dependencySet>
<directoryMode>0755</directoryMode>
<fileMode>0644</fileMode>
<includes>
<include>org.apache.activemq:artemis-jakarta-client-all</include>
</includes>
<outputDirectory>lib/client</outputDirectory>

View File

@ -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>

View File

@ -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>
</project>

View File

@ -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>

View File

@ -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>

25
pom.xml
View File

@ -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>
@ -890,6 +906,11 @@
<version>${guava.version}</version>
<!-- 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>
@ -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>