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>

Reply via email to