amarkevich commented on code in PR #4782:
URL: https://github.com/apache/activemq-artemis/pull/4782#discussion_r1480628544


##########
artemis-parent/pom.xml:
##########
@@ -0,0 +1,2074 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/maven-v4_0_0.xsd";>
+   <modelVersion>4.0.0</modelVersion>
+   <parent>
+      <groupId>org.apache.activemq</groupId>
+      <artifactId>artemis-pom</artifactId>
+      <version>2.33.0-SNAPSHOT</version>
+   </parent>
+
+   <artifactId>artemis-parent</artifactId>
+   <packaging>pom</packaging>
+   <name>ActiveMQ Artemis Parent POM</name>
+
+   <properties>
+      <maven.compiler.source>11</maven.compiler.source>
+      <maven.compiler.target>11</maven.compiler.target>
+
+      <retryTests>false</retryTests>
+      <logging.config>log4j2-tests-config.properties</logging.config>
+      <modular.jdk.surefire.arg>--add-modules java.sql,jdk.unsupported 
</modular.jdk.surefire.arg>
+
+      <activemq-artemis-native-version>2.0.0</activemq-artemis-native-version>
+      <karaf.version>4.4.4</karaf.version>
+      <pax.exam.version>4.13.5</pax.exam.version>
+      <commons.config.version>2.9.0</commons.config.version>
+      <commons.lang.version>3.14.0</commons.lang.version>
+      <activemq5-version>5.18.3</activemq5-version>
+      <apache.derby.version>10.15.2.0</apache.derby.version>
+      <commons.beanutils.version>1.9.4</commons.beanutils.version>
+      <commons.logging.version>1.3.0</commons.logging.version>
+      <commons.dbcp2.version>2.11.0</commons.dbcp2.version>
+      <commons.pool2.version>2.12.0</commons.pool2.version>
+      <commons.collections.version>3.2.2</commons.collections.version>
+      <commons.text.version>1.10.0</commons.text.version>
+      <commons.io.version>2.15.1</commons.io.version>
+      <commons.codec.version>1.16.0</commons.codec.version>
+      <fuse.mqtt.client.version>1.16</fuse.mqtt.client.version>
+      <caffeine.version>3.1.8</caffeine.version>
+      <guava.version>33.0.0-jre</guava.version>
+      <hawtio.version>2.17.7</hawtio.version>
+      <jsr305.version>3.0.2</jsr305.version>
+      <jetty.version>10.0.20</jetty.version>
+      <jetty-servlet-api.version>4.0.6</jetty-servlet-api.version>
+      <jgroups.version>5.3.2.Final</jgroups.version>
+      <errorprone.version>2.24.1</errorprone.version>
+      <maven.bundle.plugin.version>5.1.9</maven.bundle.plugin.version>
+      <jib.maven.plugin.version>3.3.2</jib.maven.plugin.version>
+      <versions.maven.plugin.version>2.16.1</versions.maven.plugin.version>
+      <sevntu.checks.version>1.44.1</sevntu.checks.version>
+      <checkstyle.version>10.12.7</checkstyle.version>
+      <mockito.version>5.10.0</mockito.version>
+      <jctools.version>4.0.2</jctools.version>
+      <netty.version>4.1.106.Final</netty.version>
+      <hdrhistogram.version>2.1.12</hdrhistogram.version>
+      <curator.version>5.6.0</curator.version>
+      <zookeeper.version>3.9.1</zookeeper.version>
+      <woodstox.version>4.4.0</woodstox.version>
+      <pem-keystore.version>2.3.0</pem-keystore.version>
+      <!-- This overrides the Apache parent POM due to 
https://issues.apache.org/jira/browse/MSHADE-462. Once that issue
+           is resolved and a new Apache parent is released then we can get rid 
of this. -->
+      <version.maven-shade-plugin>3.4.1</version.maven-shade-plugin>
+
+      <!-- docs -->
+      
<asciidoctor.maven.plugin.version>2.2.4</asciidoctor.maven.plugin.version>
+      <asciidoctorj.pdf.version>2.3.9</asciidoctorj.pdf.version>
+
+      <!-- this is basically for tests -->
+      <netty-tcnative-version>2.0.61.Final</netty-tcnative-version>
+      <proton.version>0.34.1</proton.version>
+      <protonj2.version>1.0.0-M19</protonj2.version>
+      <slf4j.version>2.0.11</slf4j.version>
+      <log4j.version>2.22.1</log4j.version>
+      <qpid.jms.version>1.10.0</qpid.jms.version>
+      <johnzon.version>1.2.21</johnzon.version>
+      <hawtbuff.version>1.11</hawtbuff.version>
+      <hawtdispatch.version>1.22</hawtdispatch.version>
+      <picocli.version>4.7.5</picocli.version>
+      <jline.version>3.25.1</jline.version>
+      <jakarta.activation-api.version>1.2.2</jakarta.activation-api.version>
+      <jakarta.annotation-api.version>1.3.5</jakarta.annotation-api.version>
+      <jakarta.ejb-api.version>3.2.6</jakarta.ejb-api.version>
+      
<jakarta.enterprise.cdi-api.version>2.0.2</jakarta.enterprise.cdi-api.version>
+      <jakarta.inject-api.version>1.0.3</jakarta.inject-api.version>
+      <jakarta.jms-api.version>2.0.3</jakarta.jms-api.version>
+      <jakarta.json-api.version>1.1.6</jakarta.json-api.version>
+      
<jakarta.management.j2ee-api.version>1.1.4</jakarta.management.j2ee-api.version>
+      <jakarta.resource-api.version>1.7.4</jakarta.resource-api.version>
+      
<jakarta.security.auth.message-api.version>1.1.3</jakarta.security.auth.message-api.version>
+      <jakarta.transaction-api.version>1.3.3</jakarta.transaction-api.version>
+      <jakarta.ws.rs-api.version>2.1.6</jakarta.ws.rs-api.version>
+      <jakarta.xml.bind-api.version>2.3.3</jakarta.xml.bind-api.version>
+      <weld.version>2.4.0.Final</weld.version>
+      
<arquillian-weld-embedded.version>2.0.0.Beta3</arquillian-weld-embedded.version>
+      <owb.version>1.7.0</owb.version>
+      <arquillian.version>1.1.11.Final</arquillian.version>
+      
<servicemix.json-1.1.spec.version>2.9.0</servicemix.json-1.1.spec.version>
+      <version.org.jacoco>0.8.11</version.org.jacoco>
+      <version.org.jacoco.plugin>0.8.11</version.org.jacoco.plugin>
+      <version.micrometer>1.12.2</version.micrometer>
+      <hamcrest.version>2.1</hamcrest.version>
+      <junit.version>4.13.2</junit.version>
+      <junit5.version>5.10.1</junit5.version>
+      <surefire.version>2.22.2</surefire.version>
+      <version.jaxb.runtime>2.3.3</version.jaxb.runtime>
+      <paho.client.mqtt.version>1.2.5</paho.client.mqtt.version>
+      <postgresql.version>42.7.1</postgresql.version>
+      <testcontainers.version>1.19.4</testcontainers.version>
+      <selenium.version>4.17.0</selenium.version>
+      <exec-maven-plugin.version>3.0.0</exec-maven-plugin.version>
+      <apache.httpcore.version>4.4.13</apache.httpcore.version>
+      <apache.httpclient.version>4.5.13</apache.httpclient.version>
+
+      <!-- for JakartaEE -->
+      <version.batavia>1.0.10.Final</version.batavia>
+      <jakarta.jms-api.version.alt>3.1.0</jakarta.jms-api.version.alt>
+      
<jakarta.transaction-api.version.alt>2.0.1</jakarta.transaction-api.version.alt>
+      
<jakarta.resource-api.version.alt>2.1.0</jakarta.resource-api.version.alt>
+
+      <!-- used on tests -->
+      <groovy.version>4.0.13</groovy.version>
+      <vertx.version>4.5.2</vertx.version>
+      <hadoop.minikdc.version>3.3.1</hadoop.minikdc.version>
+      <mockserver.version>5.15.0</mockserver.version>
+
+      <owasp.version>9.0.9</owasp.version>
+      <spring.version>5.3.27</spring.version>
+
+      <jackson.version>2.16.1</jackson.version>
+      <jackson-databind.version>${jackson.version}</jackson-databind.version>
+
+      
<activemq.version.versionName>${project.version}</activemq.version.versionName>
+      <activemq.version.majorVersion>1</activemq.version.majorVersion>
+      <activemq.version.minorVersion>0</activemq.version.minorVersion>
+      <activemq.version.microVersion>0</activemq.version.microVersion>
+      
<activemq.version.incrementingVersion>135,134,133,132,131,130,129,128,127,126,125,124,123,122</activemq.version.incrementingVersion>
+      
<activemq.version.versionTag>${project.version}</activemq.version.versionTag>
+      
<ActiveMQ-Version>${project.version}(${activemq.version.incrementingVersion})</ActiveMQ-Version>
+
+      <skipUnitTests>true</skipUnitTests>
+      <skipJmsTests>true</skipJmsTests>
+      <skipExtraTests>true</skipExtraTests>
+      <skipIntegrationTests>true</skipIntegrationTests>
+      <skipFeaturesVerification>true</skipFeaturesVerification>
+      <skipIsolatedIntegrationTests>true</skipIsolatedIntegrationTests>
+      <skipLeakTests>true</skipLeakTests>
+      <skipSmokeTests>true</skipSmokeTests>
+      <skipJoramTests>true</skipJoramTests>
+      <skipTimingTests>true</skipTimingTests>
+      <skipStressTests>true</skipStressTests>
+      <skipSoakTests>true</skipSoakTests>
+      <skipPerformanceTests>true</skipPerformanceTests>
+      <skipActiveMQ5Tests>true</skipActiveMQ5Tests>
+
+      <e2e-tests.skipTests>true</e2e-tests.skipTests>
+      <e2e-tests.skipImageBuild>true</e2e-tests.skipImageBuild>
+
+      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+      
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+
+      
<maven.test.redirectTestOutputToFile>false</maven.test.redirectTestOutputToFile>
+
+      <!--
+
+       note for idea users:
+       Idea picks up surefire argline by default:
+       if You don't want it, you can add 
-Didea.maven.surefire.disable.argLine=true to idea.vmoptions files,
+       see https://intellij-support.jetbrains.com/entries/23395793
+
+       Also see: http://youtrack.jetbrains.com/issue/IDEA-125696
+
+
+       For profiling add this line and use jmc (Java Mission Control) to 
evaluate the results:
+           -XX:+UnlockCommercialFeatures -XX:+FlightRecorder 
-XX:StartFlightRecording=delay=30s,duration=120s,filename=/tmp/myrecording.jfr
+
+      -->
+
+      <!-- for tests that will need a new server created -->
+      
<artemis.distribution.output>${activemq.basedir}/artemis-distribution/target/apache-artemis-${project.version}-bin/apache-artemis-${project.version}</artemis.distribution.output>
+
+      
<activemq-surefire-argline>-Dorg.apache.activemq.artemis.utils.RetryRule.retry=${retryTests}
 -Dbrokerconfig.maxDiskUsage=100 
-Dorg.apache.activemq.artemis.core.remoting.impl.netty.TransportConstants.DEFAULT_QUIET_PERIOD=0
 
-Dorg.apache.activemq.artemis.core.remoting.impl.netty.TransportConstants.DEFAULT_SHUTDOWN_TIMEOUT=0
+         
-Djava.library.path="${activemq.basedir}/target/bin/lib/linux-x86_64:${activemq.basedir}/target/bin/lib/linux-i686"
 -Djgroups.bind_addr=localhost
+         -Djava.net.preferIPv4Stack=true -Dbasedir=${basedir}
+         -Djdk.attach.allowAttachSelf=true
+         -Dartemis.distribution.output="${artemis.distribution.output}"
+         
-Dlog4j2.configurationFile="file:${activemq.basedir}/tests/config/${logging.config}"
+      </activemq-surefire-argline>
+      <activemq.basedir>${project.basedir}/..</activemq.basedir>
+      <proton.trace.frames>false</proton.trace.frames>
+
+      <directory-version>2.0.0.AM25</directory-version>
+      <directory-jdbm2-version>2.0.0-M1</directory-jdbm2-version>
+      <bc-java-version>1.77</bc-java-version>
+
+      
<netty-transport-native-epoll-classifier>linux-x86_64</netty-transport-native-epoll-classifier>
+      
<netty-transport-native-kqueue-classifier>osx-x86_64</netty-transport-native-kqueue-classifier>
+
+      <!-- Ignore failed tests by default because there are "known" failures 
in the full test-suite.
+           This will be set to false for the "fast-tests" profile as none of 
those tests should fail. -->
+      <testFailureIgnore>true</testFailureIgnore>
+      <fast-tests>false</fast-tests>
+
+      
<project.build.outputTimestamp>2024-01-24T19:21:07Z</project.build.outputTimestamp>
+   </properties>
+
+   <scm>
+      
<connection>scm:git:https://gitbox.apache.org/repos/asf/activemq-artemis.git</connection>
+      
<developerConnection>scm:git:https://gitbox.apache.org/repos/asf/activemq-artemis.git</developerConnection>
+      <url>https://github.com/apache/activemq-artemis</url>
+      <tag>HEAD</tag>
+   </scm>
+
+   <issueManagement>
+      <system>JIRA</system>
+      <url>https://issues.apache.org/jira/browse/ARTEMIS</url>
+   </issueManagement>
+   <developers>
+      <developer>
+         <name>The Apache ActiveMQ Team</name>
+         <email>d...@activemq.apache.org</email>
+         <url>http://activemq.apache.org</url>
+         <organization>Apache Software Foundation</organization>
+         <organizationUrl>http://apache.org/</organizationUrl>
+      </developer>
+   </developers>
+   <mailingLists>
+      <mailingList>
+         <name>User List</name>
+         <subscribe>users-subscr...@activemq.apache.org</subscribe>
+         <unsubscribe>users-unsubscr...@activemq.apache.org</unsubscribe>
+         <post>us...@activemq.apache.org</post>
+      </mailingList>
+      <mailingList>
+         <name>Development List</name>
+         <subscribe>dev-subscr...@activemq.apache.org</subscribe>
+         <unsubscribe>dev-unsubscr...@activemq.apache.org</unsubscribe>
+         <post>d...@activemq.apache.org</post>
+      </mailingList>
+   </mailingLists>
+
+   <dependencyManagement>
+      <dependencies>
+         <dependency>
+            <groupId>org.apache.activemq</groupId>
+            <artifactId>artemis-bom</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+            <scope>import</scope>
+         </dependency>
+
+         <!-- ## Test Dependencies ## -->
+         <dependency>
+            <groupId>org.junit.jupiter</groupId>
+            <artifactId>junit-jupiter-api</artifactId>
+            <version>${junit5.version}</version>
+            <!-- Eclipse Public License - v 2.0 -->
+         </dependency>
+
+         <!-- ## Test Dependencies ## Note: Run Junit5 test. -->
+         <dependency>
+            <groupId>org.junit.jupiter</groupId>
+            <artifactId>junit-jupiter-engine</artifactId>
+            <version>${junit5.version}</version>
+            <scope>test</scope>
+            <!-- Eclipse Public License - v 2.0 -->
+         </dependency>
+
+         <!-- ## Test Dependencies ## Note: Run Junit4 tests. -->
+         <dependency>
+            <groupId>org.junit.vintage</groupId>
+            <artifactId>junit-vintage-engine</artifactId>
+            <version>${junit5.version}</version>
+            <!-- Eclipse Public License - v 2.0 -->
+         </dependency>
+
+         <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <version>${junit.version}</version>
+            <scope>test</scope>
+            <!-- License: EPL 1.0 -->
+         </dependency>
+
+         <dependency>
+            <groupId>org.easymock</groupId>
+            <artifactId>easymock</artifactId>
+            <version>5.2.0</version>
+            <scope>test</scope>
+         </dependency>
+
+         <!-- ### For MQTT Tests && Examples -->
+         <dependency>
+            <groupId>org.eclipse.paho</groupId>
+            <artifactId>org.eclipse.paho.client.mqttv3</artifactId>
+            <version>${paho.client.mqtt.version}</version>
+         </dependency>
+         <dependency>
+            <groupId>org.eclipse.paho</groupId>
+            <artifactId>org.eclipse.paho.mqttv5.client</artifactId>
+            <version>${paho.client.mqtt.version}</version>
+         </dependency>
+         <dependency>
+            <groupId>org.fusesource.mqtt-client</groupId>
+            <artifactId>mqtt-client</artifactId>
+            <version>${fuse.mqtt.client.version}</version>
+            <!-- Apache v2.0 License -->
+         </dependency>
+         <dependency>
+            <groupId>org.apache.derby</groupId>
+            <artifactId>derby</artifactId>
+            <version>${apache.derby.version}</version>
+            <scope>test</scope>
+         </dependency>
+         <dependency>
+            <groupId>org.apache.derby</groupId>
+            <artifactId>derbytools</artifactId>
+            <version>${apache.derby.version}</version>
+            <scope>test</scope>
+         </dependency>
+         <dependency>
+            <groupId>org.eclipse.paho</groupId>
+            <artifactId>mqtt-client</artifactId>
+            <version>0.4.0</version>
+            <scope>test</scope>
+            <!-- Eclipse Public License - v 1.0 -->
+         </dependency>
+
+         <dependency>
+            <groupId>org.postgresql</groupId>
+            <artifactId>postgresql</artifactId>
+            <version>${postgresql.version}</version>
+            <scope>provided</scope>
+            <!-- postgresql license -->
+         </dependency>
+
+         <dependency>
+            <groupId>commons-collections</groupId>
+            <artifactId>commons-collections-testframework</artifactId>
+            <version>${commons.collections.version}</version>
+            <!-- License: Apache 2.0 -->
+         </dependency>
+
+         <dependency>
+            <groupId>org.mockito</groupId>
+            <artifactId>mockito-core</artifactId>
+            <version>${mockito.version}</version>
+            <scope>test</scope>
+            <!-- License: MIT -->
+         </dependency>
+
+         <dependency>
+            <groupId>org.apache.hadoop</groupId>
+            <artifactId>hadoop-minikdc</artifactId>
+            <version>${hadoop.minikdc.version}</version>
+            <scope>test</scope>
+            <exclusions>
+               <exclusion>
+                  <groupId>org.slf4j</groupId>
+                  <artifactId>slf4j-log4j12</artifactId>
+               </exclusion>
+               <exclusion>
+                  <groupId>com.nimbusds</groupId>
+                  <artifactId>nimbus-jose-jwt</artifactId>
+               </exclusion>
+            </exclusions>
+         </dependency>
+         <dependency>
+            <groupId>de.dentrassi.crypto</groupId>
+            <artifactId>pem-keystore</artifactId>
+            <version>${pem-keystore.version}</version>
+            <!-- Eclipse Public License - v 1.0 -->
+            <exclusions>
+               <!-- exclude bcprov-jdk15on to avoid conflicts with 
bcprov-jdk18on -->
+               <exclusion>
+                  <groupId>org.bouncycastle</groupId>
+                  <artifactId>bcprov-jdk15on</artifactId>
+               </exclusion>
+               <exclusion>
+                  <groupId>org.bouncycastle</groupId>
+                  <artifactId>bcpkix-jdk15on</artifactId>
+               </exclusion>
+            </exclusions>
+         </dependency>
+         <dependency>
+            <groupId>org.bouncycastle</groupId>
+            <artifactId>bcprov-jdk18on</artifactId>
+            <version>${bc-java-version}</version>
+         </dependency>
+         <dependency>
+            <groupId>org.bouncycastle</groupId>
+            <artifactId>bcpkix-jdk18on</artifactId>
+            <version>${bc-java-version}</version>
+         </dependency>
+
+         <!-- ## End Test Dependencies ## -->
+         <dependency>
+            <groupId>com.google.errorprone</groupId>
+            <artifactId>error_prone_core</artifactId>
+            <version>${errorprone.version}</version>
+            <scope>provided</scope>
+         </dependency>
+         <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-core</artifactId>
+            <version>${spring.version}</version>
+            <scope>compile</scope>
+            <!-- License: Apache 2.0 -->
+         </dependency>
+         <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-beans</artifactId>
+            <version>${spring.version}</version>
+            <scope>compile</scope>
+            <!-- License: Apache 2.0 -->
+         </dependency>
+         <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-context</artifactId>
+            <version>${spring.version}</version>
+            <scope>compile</scope>
+            <!-- License: Apache 2.0 -->
+         </dependency>
+         <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-jms</artifactId>
+            <version>${spring.version}</version>
+            <scope>compile</scope>
+            <!-- License: Apache 2.0 -->
+         </dependency>
+         <!-- ### End Build Time Dependencies ### -->
+
+         <dependency>
+            <groupId>org.owasp</groupId>
+            <artifactId>dependency-check-core</artifactId>
+            <version>${owasp.version}</version>
+            <!-- License: Apache 2.0 -->
+         </dependency>
+         <dependency>
+            <groupId>org.owasp</groupId>
+            <artifactId>dependency-check-utils</artifactId>
+            <version>${owasp.version}</version>
+            <!-- License: Apache 2.0 -->
+         </dependency>
+
+         <!-- ### Run Time Dependencies: MUST NOT INCLUDE CAT X LICENSES ###-->
+         <dependency>
+            <groupId>jakarta.inject</groupId>
+            <artifactId>jakarta.inject-api</artifactId>
+            <version>${jakarta.inject-api.version}</version>
+            <!-- License: EPL 2.0 -->
+         </dependency>
+         <dependency>
+            <groupId>org.fusesource.hawtbuf</groupId>
+            <artifactId>hawtbuf</artifactId>
+            <version>${hawtbuff.version}</version>
+            <!-- License: Apache 2.0 -->
+         </dependency>
+         <dependency>
+            <groupId>org.fusesource.hawtdispatch</groupId>
+            <artifactId>hawtdispatch</artifactId>
+            <version>${hawtdispatch.version}</version>
+            <!-- License: Apache 2.0 -->
+         </dependency>
+         <dependency>
+            <groupId>net.java.dev.javacc</groupId>
+            <artifactId>javacc</artifactId>
+            <version>7.0.13</version>
+            <!-- License: BSD -->
+         </dependency>
+         <dependency>
+            <groupId>jakarta.jms</groupId>
+            <artifactId>jakarta.jms-api</artifactId>
+            <version>${jakarta.jms-api.version}</version>
+            <!-- License: EPL 2.0 -->
+         </dependency>
+         <dependency>
+            <groupId>jakarta.transaction</groupId>
+            <artifactId>jakarta.transaction-api</artifactId>
+            <version>${jakarta.transaction-api.version}</version>
+            <!-- License: EPL 2.0 -->
+         </dependency>
+         <dependency>
+            <groupId>jakarta.ejb</groupId>
+            <artifactId>jakarta.ejb-api</artifactId>
+            <version>${jakarta.ejb-api.version}</version>
+            <!-- License: EPL 2.0 -->
+         </dependency>
+         <dependency>
+            <groupId>jakarta.annotation</groupId>
+            <artifactId>jakarta.annotation-api</artifactId>
+            <version>${jakarta.annotation-api.version}</version>
+            <!-- License: EPL 2.0 -->
+         </dependency>
+         <dependency>
+            <groupId>jakarta.resource</groupId>
+            <artifactId>jakarta.resource-api</artifactId>
+            <version>${jakarta.resource-api.version}</version>
+            <!-- License: EPL 2.0 -->
+         </dependency>
+         <dependency>
+            <groupId>commons-collections</groupId>
+            <artifactId>commons-collections</artifactId>
+            <version>${commons.collections.version}</version>
+            <!-- License: Apache 2.0 -->
+         </dependency>
+         <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-configuration2</artifactId>
+            <version>${commons.config.version}</version>
+            <!-- License: Apache 2.0 -->
+         </dependency>
+         <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-text</artifactId>
+            <version>${commons.text.version}</version>
+            <!-- License: Apache 2.0 -->
+         </dependency>
+         <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-lang3</artifactId>
+            <version>${commons.lang.version}</version>
+            <!-- License: Apache 2.0 -->
+         </dependency>
+
+         <!-- ## Examples Dependencies ## -->
+         <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-simple</artifactId>
+            <version>${slf4j.version}</version>
+         </dependency>
+         <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-nop</artifactId>
+            <version>${slf4j.version}</version>
+         </dependency>
+         <!-- ## End Examples Dependencies ## -->
+
+         <!--needed to compile the bootstrap jar-->
+         <dependency>
+            <groupId>org.jgroups</groupId>
+            <artifactId>jgroups</artifactId>
+            <version>${jgroups.version}</version>
+            <exclusions>
+               <!-- Exclude BM utils: dont need, cant ship -->
+               <exclusion>
+                  <groupId>*</groupId>
+                  <artifactId>*</artifactId>
+               </exclusion>
+            </exclusions>
+            <!-- License: Apache 2.0 -->
+         </dependency>
+         <dependency>
+            <groupId>info.picocli</groupId>
+            <artifactId>picocli</artifactId>
+            <version>${picocli.version}</version>
+            <!-- License: Apache 2.0 -->
+         </dependency>
+         <dependency>
+            <groupId>info.picocli</groupId>
+            <artifactId>picocli-shell-jline3</artifactId>
+            <version>${picocli.version}</version>
+            <!-- License: Apache 2.0 -->
+         </dependency>
+         <dependency>
+            <groupId>org.jline</groupId>
+            <artifactId>jline</artifactId>
+            <version>${jline.version}</version>
+            <!-- License: BSD 3-Clause -->
+         </dependency>
+         <!--needed to compile transport jar-->
+         <dependency>
+            <groupId>org.jctools</groupId>
+            <artifactId>jctools-core</artifactId>
+            <version>${jctools.version}</version>
+            <!-- License: Apache 2.0 -->
+         </dependency>
+         <dependency>
+            <groupId>org.hdrhistogram</groupId>
+            <artifactId>HdrHistogram</artifactId>
+            <version>${hdrhistogram.version}</version>
+            <!-- Licence: BSD 2-Clause -->
+         </dependency>
+         <dependency>
+            <groupId>io.netty</groupId>
+            <artifactId>netty-buffer</artifactId>
+            <version>${netty.version}</version>
+            <!-- License: Apache 2.0 -->
+         </dependency>
+         <dependency>
+            <groupId>io.netty</groupId>
+            <artifactId>netty-transport</artifactId>
+            <version>${netty.version}</version>
+            <!-- License: Apache 2.0 -->
+         </dependency>
+         <dependency>
+            <groupId>io.netty</groupId>
+            <artifactId>netty-handler</artifactId>
+            <version>${netty.version}</version>
+            <!-- License: Apache 2.0 -->
+         </dependency>
+         <dependency>
+            <groupId>io.netty</groupId>
+            <artifactId>netty-handler-proxy</artifactId>
+            <version>${netty.version}</version>
+            <!-- License: Apache 2.0 -->
+         </dependency>
+         <dependency>
+            <groupId>io.netty</groupId>
+            <artifactId>netty-codec</artifactId>
+            <version>${netty.version}</version>
+            <!-- License: Apache 2.0 -->
+         </dependency>
+         <dependency>
+            <groupId>io.netty</groupId>
+            <artifactId>netty-codec-http</artifactId>
+            <version>${netty.version}</version>
+            <!-- License: Apache 2.0 -->
+         </dependency>
+         <dependency>
+            <groupId>io.netty</groupId>
+            <artifactId>netty-codec-mqtt</artifactId>
+            <version>${netty.version}</version>
+            <!-- License: Apache 2.0 -->
+         </dependency>
+         <dependency>
+            <groupId>io.netty</groupId>
+            <artifactId>netty-codec-socks</artifactId>
+            <version>${netty.version}</version>
+            <!-- License: Apache 2.0 -->
+         </dependency>
+         <dependency>
+            <groupId>io.netty</groupId>
+            <artifactId>netty-common</artifactId>
+            <version>${netty.version}</version>
+            <!-- License: Apache 2.0 -->
+         </dependency>
+         <dependency>
+            <groupId>io.netty</groupId>
+            <artifactId>netty-resolver</artifactId>
+            <version>${netty.version}</version>
+            <!-- License: Apache 2.0 -->
+         </dependency>
+         <dependency>
+            <groupId>io.netty</groupId>
+            <artifactId>netty-transport-native-unix-common</artifactId>
+            <version>${netty.version}</version>
+            <!-- License: Apache 2.0 -->
+         </dependency>
+         <dependency>
+            <groupId>io.netty</groupId>
+            <artifactId>netty-transport-classes-epoll</artifactId>
+            <version>${netty.version}</version>
+            <!-- License: Apache 2.0 -->
+         </dependency>
+         <dependency>
+            <groupId>io.netty</groupId>
+            <artifactId>netty-transport-native-epoll</artifactId>
+            <version>${netty.version}</version>
+            <classifier>${netty-transport-native-epoll-classifier}</classifier>
+            <!-- License: Apache 2.0 -->
+         </dependency>
+         <dependency>
+            <groupId>io.netty</groupId>
+            <artifactId>netty-transport-classes-kqueue</artifactId>
+            <version>${netty.version}</version>
+            <!-- License: Apache 2.0 -->
+         </dependency>
+         <dependency>
+            <groupId>io.netty</groupId>
+            <artifactId>netty-transport-native-kqueue</artifactId>
+            <version>${netty.version}</version>
+            
<classifier>${netty-transport-native-kqueue-classifier}</classifier>
+            <!-- License: Apache 2.0 -->
+         </dependency>
+         <dependency>
+            <groupId>org.apache.qpid</groupId>
+            <artifactId>proton-j</artifactId>
+            <version>${proton.version}</version>
+            <!-- License: Apache 2.0 -->
+         </dependency>
+         <dependency>
+            <groupId>org.apache.qpid</groupId>
+            <artifactId>protonj2-test-driver</artifactId>
+            <version>${protonj2.version}</version>
+            <scope>test</scope>
+            <!-- License: Apache 2.0 -->
+         </dependency>
+         <dependency>
+            <groupId>org.apache.qpid</groupId>
+            <artifactId>qpid-jms-client</artifactId>
+            <version>${qpid.jms.version}</version>
+         </dependency>
+         <dependency>
+            <groupId>org.apache.activemq</groupId>
+            <artifactId>activemq-client</artifactId>
+            <version>${activemq5-version}</version>
+            <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>
+            <!-- License: Apache 2.0 -->
+         </dependency>
+         <dependency>
+            <groupId>org.apache.activemq</groupId>
+            <artifactId>activemq-client-jakarta</artifactId>
+            <version>${activemq5-version}</version>
+            <!-- License: Apache 2.0 -->
+         </dependency>
+         <dependency>
+            <groupId>org.apache.activemq</groupId>
+            <artifactId>activemq-openwire-legacy</artifactId>
+            <version>${activemq5-version}</version>
+            <!-- License: Apache 2.0 -->
+         </dependency>
+         <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-api</artifactId>
+            <version>${slf4j.version}</version>
+            <!-- License: MIT -->
+         </dependency>
+         <dependency>
+            <groupId>org.apache.logging.log4j</groupId>
+            <artifactId>log4j-slf4j2-impl</artifactId>
+            <version>${log4j.version}</version>
+         </dependency>
+         <dependency>
+            <groupId>org.apache.logging.log4j</groupId>
+            <artifactId>log4j-api</artifactId>
+            <version>${log4j.version}</version>
+         </dependency>
+         <dependency>
+            <groupId>org.apache.logging.log4j</groupId>
+            <artifactId>log4j-core</artifactId>
+            <version>${log4j.version}</version>
+         </dependency>
+         <dependency>
+            <groupId>commons-codec</groupId>
+            <artifactId>commons-codec</artifactId>
+            <version>${commons.codec.version}</version>
+            <!-- License: Apache 2.0 -->
+         </dependency>
+
+         <!-- ## Jetty web Dependencies ##-->
+         <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-bom</artifactId>
+            <version>${jetty.version}</version>
+            <type>pom</type>
+            <scope>import</scope>
+            <!-- License: (Joint): Apache 2.0 or EPL 2.0 -->
+         </dependency>
+         <dependency>
+            <groupId>org.eclipse.jetty.toolchain</groupId>
+            <artifactId>jetty-servlet-api</artifactId>
+            <version>${jetty-servlet-api.version}</version>
+            <!-- License: (Joint): Apache 2.0 or EPL 2.0 -->
+         </dependency>
+         <!-- ## End Jetty Wed Dependencies ## -->
+
+         <!-- for URL reflection. Using Populate on URI Factory at 
activemq-commons -->
+         <dependency>
+            <groupId>commons-beanutils</groupId>
+            <artifactId>commons-beanutils</artifactId>
+            <version>${commons.beanutils.version}</version>
+            <!-- License: Apache 2.0 -->
+         </dependency>
+
+         <!-- needed by commons-beanutils-->
+         <dependency>
+            <groupId>commons-logging</groupId>
+            <artifactId>commons-logging</artifactId>
+            <version>${commons.logging.version}</version>
+            <!-- License: Apache 2.0 -->
+         </dependency>
+
+         <dependency>
+            <groupId>commons-io</groupId>
+            <artifactId>commons-io</artifactId>
+            <version>${commons.io.version}</version>
+         </dependency>
+
+         <!-- needed by artemis-jdbc-store -->
+         <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-dbcp2</artifactId>
+            <version>${commons.dbcp2.version}</version>
+            <!-- license Apache 2 -->
+         </dependency>
+         <!-- used by commons-dbcp2 -->
+         <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-pool2</artifactId>
+            <version>${commons.pool2.version}</version>
+            <!-- license Apache 2 -->
+            <scope>runtime</scope>
+         </dependency>
+
+         <!-- Needed for Micrometer -->
+         <dependency>
+            <groupId>io.micrometer</groupId>
+            <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>
+
+         <dependency>
+            <groupId>org.apache.openwebbeans</groupId>
+            <artifactId>openwebbeans-impl</artifactId>
+            <version>${owb.version}</version>
+            <scope>test</scope>
+         </dependency>
+         <dependency>
+            <groupId>org.apache.openwebbeans</groupId>
+            <artifactId>openwebbeans-spi</artifactId>
+            <version>${owb.version}</version>
+            <scope>test</scope>
+         </dependency>
+         <dependency>
+            <groupId>org.apache.openwebbeans</groupId>
+            <artifactId>openwebbeans-resource</artifactId>
+            <version>${owb.version}</version>
+            <scope>test</scope>
+         </dependency>
+         <dependency>
+            <groupId>org.apache.openwebbeans.arquillian</groupId>
+            <artifactId>owb-arquillian-standalone</artifactId>
+            <version>${owb.version}</version>
+            <scope>test</scope>
+         </dependency>
+         <dependency>
+            <groupId>org.jboss.weld.se</groupId>
+            <artifactId>weld-se</artifactId>
+            <version>${weld.version}</version>
+            <scope>test</scope>
+         </dependency>
+         <dependency>
+            <groupId>org.jboss.arquillian.container</groupId>
+            <artifactId>arquillian-weld-embedded</artifactId>
+            <version>${arquillian-weld-embedded.version}</version>
+            <scope>test</scope>
+         </dependency>
+         <dependency>
+            <groupId>org.jboss.arquillian.junit</groupId>
+            <artifactId>arquillian-junit-container</artifactId>
+            <version>${arquillian.version}</version>
+            <scope>test</scope>
+         </dependency>
+         <dependency>
+            <groupId>org.jboss.arquillian.junit</groupId>
+            <artifactId>arquillian-junit-core</artifactId>
+            <version>${arquillian.version}</version>
+            <scope>test</scope>
+         </dependency>
+         <dependency>
+            <groupId>org.jacoco</groupId>
+            <artifactId>org.jacoco.ant</artifactId>
+            <version>${version.org.jacoco}</version>
+            <scope>test</scope>
+         </dependency>
+         <dependency>
+            <groupId>org.jacoco</groupId>
+            <artifactId>org.jacoco.core</artifactId>
+            <version>${version.org.jacoco}</version>
+            <scope>test</scope>
+         </dependency>
+         <dependency>
+            <groupId>jakarta.enterprise</groupId>
+            <artifactId>jakarta.enterprise.cdi-api</artifactId>
+            <version>${jakarta.enterprise.cdi-api.version}</version>
+            <scope>provided</scope>
+         </dependency>
+         <!--  OSGi support -->
+         <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.core</artifactId>
+            <version>6.0.0</version>
+            <scope>provided</scope>
+            <!-- License: Apache 2.0 -->
+         </dependency>
+         <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>osgi.cmpn</artifactId>
+            <version>6.0.0</version>
+            <scope>provided</scope>
+            <!-- License: Apache 2.0 -->
+         </dependency>
+         <dependency>
+            <groupId>com.google.guava</groupId>
+            <artifactId>guava</artifactId>
+            <version>${guava.version}</version>
+            <!-- License: Apache 2.0 -->
+         </dependency>
+         <dependency>
+            <groupId>com.github.ben-manes.caffeine</groupId>
+            <artifactId>caffeine</artifactId>
+            <version>${caffeine.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>
+            <version>${jakarta.security.auth.message-api.version}</version>
+         </dependency>
+         <!-- Curator Zookeeper RI -->
+         <dependency>
+            <groupId>org.apache.curator</groupId>
+            <artifactId>curator-recipes</artifactId>
+            <version>${curator.version}</version>
+         </dependency>
+         <dependency>
+            <groupId>org.apache.curator</groupId>
+            <artifactId>curator-framework</artifactId>
+            <version>${curator.version}</version>
+         </dependency>
+         <dependency>
+            <groupId>org.apache.curator</groupId>
+            <artifactId>curator-client</artifactId>
+            <version>${curator.version}</version>
+         </dependency>
+         <dependency>
+            <groupId>org.apache.zookeeper</groupId>
+            <artifactId>zookeeper</artifactId>
+            <version>${zookeeper.version}</version>
+            <exclusions>
+               <exclusion>
+                  <groupId>ch.qos.logback</groupId>
+                  <artifactId>*</artifactId>
+               </exclusion>
+               <exclusion>
+                  <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>
+            <groupId>org.apache.zookeeper</groupId>
+            <artifactId>zookeeper-jute</artifactId>
+            <version>${zookeeper.version}</version>
+         </dependency>
+
+
+
+         <!-- johnzon and jakarta.json are shaded on artemis-commons.
+              However during internal builds and test phase original bits may 
be used,
+              and this library would still be needed for test phase.
+              I am declaring scope as test by default to avoid any accidental 
use.
+              The only place where we are allowed to use this library is 
within artemis-commons.
+              anything other than that need to be carefully thought.
+          -->
+         <dependency>
+            <groupId>org.apache.johnzon</groupId>
+            <artifactId>johnzon-core</artifactId>
+            <version>${johnzon.version}</version>
+            <scope>test</scope>
+         </dependency>
+         <dependency>
+            <groupId>jakarta.json</groupId>
+            <artifactId>jakarta.json-api</artifactId>
+            <version>${jakarta.json-api.version}</version>
+            <scope>test</scope>
+            <!-- License: EPL 2.0 -->
+         </dependency>
+
+         <dependency>
+            <groupId>org.testcontainers</groupId>
+            <artifactId>testcontainers</artifactId>
+            <version>${testcontainers.version}</version>
+            <scope>test</scope>
+         </dependency>
+         <dependency>
+            <groupId>org.testcontainers</groupId>
+            <artifactId>selenium</artifactId>
+            <version>${testcontainers.version}</version>
+            <scope>test</scope>
+         </dependency>
+         <dependency>
+            <groupId>org.seleniumhq.selenium</groupId>
+            <artifactId>selenium-api</artifactId>
+            <version>${selenium.version}</version>
+            <scope>test</scope>
+         </dependency>
+         <dependency>
+            <groupId>org.seleniumhq.selenium</groupId>
+            <artifactId>selenium-firefox-driver</artifactId>
+            <version>${selenium.version}</version>
+            <scope>test</scope>
+         </dependency>
+         <dependency>
+            <groupId>org.seleniumhq.selenium</groupId>
+            <artifactId>selenium-chrome-driver</artifactId>
+            <version>${selenium.version}</version>
+            <scope>test</scope>
+         </dependency>
+         <dependency>
+            <groupId>org.seleniumhq.selenium</groupId>
+            <artifactId>selenium-chromium-driver</artifactId>
+            <version>${selenium.version}</version>
+            <scope>test</scope>
+         </dependency>
+         <dependency>
+            <groupId>org.seleniumhq.selenium</groupId>
+            <artifactId>selenium-remote-driver</artifactId>
+            <version>${selenium.version}</version>
+            <scope>test</scope>
+         </dependency>
+         <dependency>
+            <groupId>org.seleniumhq.selenium</groupId>
+            <artifactId>selenium-support</artifactId>
+            <version>${selenium.version}</version>
+            <scope>test</scope>
+         </dependency>
+
+         <dependency>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-core</artifactId>
+            <version>${jackson.version}</version>
+         </dependency>
+         <dependency>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-databind</artifactId>
+            <version>${jackson-databind.version}</version>
+         </dependency>
+         <dependency>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-annotations</artifactId>
+            <version>${jackson.version}</version>
+         </dependency>
+         <dependency>
+            <groupId>com.fasterxml.jackson.jaxrs</groupId>
+            <artifactId>jackson-jaxrs-json-provider</artifactId>
+            <version>${jackson.version}</version>
+         </dependency>
+         <dependency>
+            <groupId>com.fasterxml.jackson.dataformat</groupId>
+            <artifactId>jackson-dataformat-yaml</artifactId>
+            <version>${jackson.version}</version>
+         </dependency>
+         <dependency>
+            <groupId>com.fasterxml.jackson.jr</groupId>
+            <artifactId>jackson-jr-objects</artifactId>
+            <version>${jackson.version}</version>
+         </dependency>
+
+         <dependency>
+            <groupId>org.apache.httpcomponents</groupId>
+            <artifactId>httpcore</artifactId>
+            <version>${apache.httpcore.version}</version>
+         </dependency>
+         <dependency>
+            <groupId>org.apache.httpcomponents</groupId>
+            <artifactId>httpclient</artifactId>
+            <version>${apache.httpclient.version}</version>
+         </dependency>
+
+      </dependencies>
+   </dependencyManagement>
+
+   <profiles>
+      <profile>
+         <id>M2E</id>
+         <activation>
+            <property>
+               <name>m2e.version</name>
+            </property>
+         </activation>
+         <properties>
+            <javac-compiler-id>javac</javac-compiler-id>
+         </properties>
+      </profile>
+
+      <profile>
+         <id>jdk11to15-errorprone</id>
+         <activation>
+            <jdk>[11,16)</jdk>
+            <property>
+               <name>errorprone</name>
+            </property>
+         </activation>
+         <dependencies>
+            <dependency>
+               <groupId>com.google.errorprone</groupId>
+               <artifactId>error_prone_core</artifactId>
+            </dependency>
+         </dependencies>
+         <build>
+            <plugins>
+               <plugin>
+                  <groupId>org.apache.maven.plugins</groupId>
+                  <artifactId>maven-compiler-plugin</artifactId>
+                  <configuration>
+                     <compilerArgs>
+                        <arg>-Xdiags:verbose</arg>
+                        
<arg>--add-exports=jdk.unsupported/sun.misc=ALL-UNNAMED</arg>
+                        
<arg>--add-exports=java.base/jdk.internal.misc=ALL-UNNAMED</arg>
+                        <arg>-XDcompilePolicy=simple</arg>
+                        <arg>-Xplugin:ErrorProne -Xep:ThreadLocalUsage:ERROR 
-Xep:MissingOverride:ERROR -Xep:NonAtomicVolatileUpdate:ERROR 
-Xep:SynchronizeOnNonFinalField:ERROR -Xep:StaticQualifiedUsingExpression:ERROR 
-Xep:WaitNotInLoop:ERROR -Xep:BanJNDI:OFF 
-XepExcludedPaths:.*/generated-sources/.*</arg>
+                     </compilerArgs>
+                  </configuration>
+               </plugin>
+            </plugins>
+         </build>
+      </profile>
+      <profile>
+         <id>jdk16on-errorprone</id>
+         <!-- TODO: MissingOverride check only warns in this profile for now, 
as JDK15+ added a toString method to CharSequence -->
+         <activation>
+            <jdk>[16,)</jdk>
+            <property>
+               <name>errorprone</name>
+            </property>
+         </activation>
+         <dependencies>
+            <dependency>
+               <groupId>com.google.errorprone</groupId>
+               <artifactId>error_prone_core</artifactId>
+            </dependency>
+         </dependencies>
+         <build>
+            <plugins>
+               <plugin>
+                  <groupId>org.apache.maven.plugins</groupId>
+                  <artifactId>maven-compiler-plugin</artifactId>
+                  <configuration>
+                     <fork>true</fork>
+                     <compilerArgs>
+                        <arg>-Xdiags:verbose</arg>
+                        
<arg>--add-exports=jdk.unsupported/sun.misc=ALL-UNNAMED</arg>
+                        
<arg>--add-exports=java.base/jdk.internal.misc=ALL-UNNAMED</arg>
+                        <arg>-XDcompilePolicy=simple</arg>
+                        <arg>-Xplugin:ErrorProne -Xep:ThreadLocalUsage:ERROR 
-Xep:MissingOverride:WARN -Xep:NonAtomicVolatileUpdate:ERROR 
-Xep:SynchronizeOnNonFinalField:ERROR -Xep:StaticQualifiedUsingExpression:ERROR 
-Xep:WaitNotInLoop:ERROR -Xep:BanJNDI:OFF 
-XepExcludedPaths:.*/generated-sources/.*</arg>
+                        
<arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED</arg>
+                        
<arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED</arg>
+                        
<arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED</arg>
+                        
<arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED</arg>
+                        
<arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED</arg>
+                        
<arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED</arg>
+                        
<arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED</arg>
+                        
<arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED</arg>
+                        
<arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED</arg>
+                        
<arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED</arg>
+                     </compilerArgs>
+                  </configuration>
+               </plugin>
+            </plugins>
+         </build>
+      </profile>
+      <profile>
+         <id>owasp</id>
+         <build>
+            <plugins>
+               <plugin>
+                  <groupId>org.owasp</groupId>
+                  <artifactId>dependency-check-maven</artifactId>
+                  <version>${owasp.version}</version>
+                  <configuration>
+                     <!-- <skipProvidedScope>true</skipProvidedScope>
+                      <skipRuntimeScope>true</skipRuntimeScope> -->
+                  </configuration>
+                  <executions>
+                     <execution>
+                        <goals>
+                           <!-- combine results for all modules into a single 
report -->
+                           <goal>aggregate</goal>
+                        </goals>
+                     </execution>
+                  </executions>
+               </plugin>
+            </plugins>
+         </build>
+      </profile>
+      <profile>
+         <id>dev</id>
+         <build>
+            <plugins>
+               <plugin>
+                  <groupId>org.apache.rat</groupId>
+                  <artifactId>apache-rat-plugin</artifactId>
+                  <executions>
+                     <execution>
+                        <phase>compile</phase>
+                        <goals>
+                           <goal>check</goal>
+                        </goals>
+                     </execution>
+                  </executions>
+               </plugin>
+               <plugin>
+                  <groupId>org.apache.maven.plugins</groupId>
+                  <artifactId>maven-checkstyle-plugin</artifactId>
+                  <executions>
+                     <execution>
+                        <phase>compile</phase>
+                        <goals>
+                           <goal>check</goal>
+                        </goals>
+                     </execution>
+                  </executions>
+               </plugin>
+            </plugins>
+         </build>
+      </profile>
+      <profile>
+         <id>release</id>
+         <modules>
+            <module>../artemis-website</module>
+         </modules>
+         <build>
+            <plugins>
+               <plugin>
+                  <groupId>org.apache.maven.plugins</groupId>
+                  <artifactId>maven-enforcer-plugin</artifactId>
+                  <executions>
+                     <execution>
+                        <id>enforce-java-version</id>
+                        <goals>
+                           <goal>enforce</goal>
+                        </goals>
+                        <configuration>
+                           <rules>
+                              <requireJavaVersion>
+                                 <version>[11, 12)</version>
+                                 <message>JDK 11 is required when building the 
release</message>
+                              </requireJavaVersion>
+                           </rules>
+                        </configuration>
+                     </execution>
+                  </executions>
+               </plugin>
+               <plugin>
+                  <groupId>org.apache.rat</groupId>
+                  <artifactId>apache-rat-plugin</artifactId>
+                  <executions>
+                     <execution>
+                        <phase>compile</phase>
+                        <goals>
+                           <goal>check</goal>
+                        </goals>
+                     </execution>
+                  </executions>
+               </plugin>
+               <plugin>
+                  <groupId>org.apache.maven.plugins</groupId>
+                  <artifactId>maven-checkstyle-plugin</artifactId>
+                  <executions>
+                     <execution>
+                        <phase>compile</phase>
+                        <goals>
+                           <goal>check</goal>
+                        </goals>
+                     </execution>
+                  </executions>
+               </plugin>
+            </plugins>
+         </build>
+      </profile>
+      <!-- Override the apache-release profile from the parent to skip creating
+           a source-release archive here, it is done in artemis-distribution. 
-->
+      <profile>
+         <id>apache-release</id>
+         <build>
+            <plugins>
+               <plugin>
+                  <artifactId>maven-assembly-plugin</artifactId>
+                  <executions>
+                     <execution>
+                        <id>source-release-assembly</id>
+                        <configuration>
+                           <skipAssembly>true</skipAssembly>
+                        </configuration>
+                     </execution>
+                  </executions>
+               </plugin>
+            </plugins>
+         </build>
+      </profile>
+      <profile>
+         <!-- this will activate the property required to play with tests 
retry -->
+         <id>tests-retry</id>
+         <properties>
+            <retryTests>true</retryTests>
+         </properties>
+      </profile>
+      <profile>
+         <!-- tests is the profile we use to run the entire testsuite
+               Running this entire build could take up to 2 hours -->
+         <id>tests</id>
+         <properties>
+            <skipUnitTests>false</skipUnitTests>
+            <skipJmsTests>false</skipJmsTests>
+            <skipJoramTests>false</skipJoramTests>
+            <skipIntegrationTests>false</skipIntegrationTests>
+            <skipFeaturesVerification>false</skipFeaturesVerification>
+            <skipIsolatedIntegrationTests>false</skipIsolatedIntegrationTests>
+            <skipSmokeTests>false</skipSmokeTests>
+            <skipTimingTests>true</skipTimingTests>
+            <skipStressTests>true</skipStressTests>
+            <skipSoakTests>true</skipSoakTests>
+            <skipPerformanceTests>true</skipPerformanceTests>
+            <skipExtraTests>false</skipExtraTests>
+            <skipLeakTests>false</skipLeakTests>
+         </properties>
+      </profile>
+      <profile>
+         <!-- This will represent a subset of the tests
+              This is used on PR checks -->
+         <id>fast-tests</id>
+         <properties>
+            <fast-tests>true</fast-tests>
+            <skipUnitTests>false</skipUnitTests>
+            <skipJmsTests>false</skipJmsTests>
+            <skipJoramTests>false</skipJoramTests>
+            <skipLeakTests>true</skipLeakTests>
+            <testFailureIgnore>false</testFailureIgnore>
+            <!-- This enables the karaf-<foo>-integration-tests and
+                 integration-tests module tests, see fast-tests profile
+                 in the latter for specific tests it then runs -->
+            <skipIntegrationTests>false</skipIntegrationTests>
+            <skipFeaturesVerification>false</skipFeaturesVerification>
+            <!-- Only a portion of the smoke-tests are run. See the filter
+                 applied in the fast-tests profile under ./tests/smoke-tests 
-->
+            <skipSmokeTests>false</skipSmokeTests>
+         </properties>
+      </profile>
+      <!-- This profile generates jacoco coverage files. To generate html 
report use "-Pjacoco-generate-report" -->
+      <profile>
+         <id>jacoco</id>
+         <dependencies>
+            <dependency>
+               <groupId>org.jacoco</groupId>
+               <artifactId>org.jacoco.core</artifactId>
+            </dependency>
+         </dependencies>
+         <properties>
+
+            <!-- Property set by Jacoco plugin -->
+            <jacoco.agent />
+
+            <activemq-surefire-argline>
+               
-Dlog4j2.configurationFile="file:${activemq.basedir}/tests/config/${logging.config}"
+               
-Djava.library.path="${activemq.basedir}/activemq-artemis-native/bin" 
-Djgroups.bind_addr=localhost 
-Dorg.apache.activemq.artemis.api.core.UDPBroadcastEndpointFactory.localBindAddress=localhost
+               -Djava.net.preferIPv4Stack=true -Dbasedir=${basedir}
+               @{jacoco.agent} -Djacoco.agent=@{jacoco.agent}
+            </activemq-surefire-argline>
+         </properties>
+         <build>
+            <plugins>
+               <plugin>
+                  <groupId>org.jacoco</groupId>
+                  <artifactId>jacoco-maven-plugin</artifactId>
+                  <executions>
+                     <execution>
+                        <id>jacoco-prepare</id>
+                        <phase>validate</phase>
+                        <goals>
+                           <goal>prepare-agent</goal>
+                        </goals>
+                        <configuration>
+                           
<destFile>${project.build.directory}/jacoco.exec</destFile>
+                           <!-- Jacoco sets this property with agent 
configuration.
+                           This property is passed to maven-surefire-plugin -->
+                           <propertyName>jacoco.agent</propertyName>
+                        </configuration>
+                     </execution>
+                     <execution>
+                        <id>merge</id>
+                        <phase>none</phase>
+                        <goals>
+                           <goal>merge</goal>
+                        </goals>
+                     </execution>
+                  </executions>
+                  <configuration>
+                     <fileSets>
+                        <fileSet 
implementation="org.apache.maven.shared.model.fileset.FileSet">
+                           <directory>${activemq.basedir}</directory>
+                           <includes>
+                              <include>**/*.exec</include>
+                           </includes>
+                        </fileSet>
+                     </fileSets>
+                  </configuration>
+               </plugin>
+            </plugins>
+         </build>
+      </profile>
+      <!-- This profile generates html report from jacoco coverage files. Use 
"-Pjacoco" profile to generate coverage. -->
+      <profile>
+         <id>jacoco-generate-report</id>
+         <build>
+            <plugins>
+               <plugin>
+                  <groupId>org.apache.maven.plugins</groupId>
+                  <artifactId>maven-dependency-plugin</artifactId>
+                  <executions>
+                     <!-- Copy jacoco ant jar. This is needed to generate 
jacoco report with maven-antrun-plugin -->
+                     <execution>
+                        <goals>
+                           <goal>copy</goal>
+                        </goals>
+                        <phase>process-test-resources</phase>
+                        <inherited>false</inherited>
+                        <configuration>
+                           <artifactItems>
+                              <artifactItem>
+                                 <groupId>org.jacoco</groupId>
+                                 <artifactId>org.jacoco.ant</artifactId>
+                                 
<version>${version.org.jacoco.plugin}</version>
+                              </artifactItem>
+                           </artifactItems>
+                           <stripVersion>true</stripVersion>
+                           
<outputDirectory>${project.build.directory}/jacoco-jars</outputDirectory>
+                        </configuration>
+                     </execution>
+                  </executions>
+               </plugin>
+               <plugin>
+                  <groupId>org.apache.maven.plugins</groupId>
+                  <artifactId>maven-antrun-plugin</artifactId>
+                  <executions>
+                     <execution>
+                        <phase>post-integration-test</phase>
+                        <goals><goal>run</goal></goals>
+                        <inherited>false</inherited>
+                        <configuration>
+                           <target>
+                              <property name="result.report.dir" 
location="target/jacoco-report" />
+                              <taskdef name="report" 
classname="org.jacoco.ant.ReportTask">
+                                 <classpath 
path="${project.build.directory}/jacoco-jars/org.jacoco.ant.jar" />
+                              </taskdef>
+                              <echo>Creating JaCoCo ActiveMQ Artemis test 
coverage reports...</echo>
+                              <report>
+                                 <executiondata>
+                                    <fileset dir="${basedir}">
+                                       <include name="**/target/jacoco.exec" />
+                                    </fileset>
+                                 </executiondata>
+                                 <structure name="JaCoCo ActiveMQ Artemis">
+                                    <classfiles>
+                                       <fileset 
dir="${activemq.basedir}/artemis-boot/target/classes" />
+                                       <fileset 
dir="${activemq.basedir}/artemis-cdi-client/target/classes" />
+                                       <fileset 
dir="${activemq.basedir}/artemis-cli/target/classes" />
+                                       <fileset 
dir="${activemq.basedir}/artemis-commons/target/classes" />
+                                       <fileset 
dir="${activemq.basedir}/artemis-core-client/target/classes" />
+                                       <fileset 
dir="${activemq.basedir}/artemis-dto/target/classes" />
+                                       <fileset 
dir="${activemq.basedir}/artemis-jdbc-store/target/classes" />
+                                       <fileset 
dir="${activemq.basedir}/artemis-jms-client/target/classes" />
+                                       <fileset 
dir="${activemq.basedir}/artemis-jms-server/target/classes" />
+                                       <fileset 
dir="${activemq.basedir}/artemis-journal/target/classes" />
+                                       <fileset 
dir="${activemq.basedir}/activemq-artemis-native/target/classes" />
+                                       <fileset 
dir="${activemq.basedir}/artemis-ra/target/classes" />
+                                       <fileset 
dir="${activemq.basedir}/artemis-selector/target/classes" />
+                                       <fileset 
dir="${activemq.basedir}/artemis-server/target/classes" />
+                                       <fileset 
dir="${activemq.basedir}/artemis-server-osgi/target/classes" />
+                                       <fileset 
dir="${activemq.basedir}/artemis-service-extensions/target" />
+                                       <fileset 
dir="${activemq.basedir}/artemis-web/target/classes" />
+                                    </classfiles>
+                                    <sourcefiles encoding="UTF-8">
+                                       <fileset 
dir="${activemq.basedir}/artemis-boot/src/main/java" />
+                                       <fileset 
dir="${activemq.basedir}/artemis-cdi-client/src/main/java" />
+                                       <fileset 
dir="${activemq.basedir}/artemis-cli/src/main/java" />
+                                       <fileset 
dir="${activemq.basedir}/artemis-commons/src/main/java" />
+                                       <fileset 
dir="${activemq.basedir}/artemis-core-client/src/main/java" />
+                                       <fileset 
dir="${activemq.basedir}/artemis-dto/src/main/java" />
+                                       <fileset 
dir="${activemq.basedir}/artemis-jdbc-store/src/main/java" />
+                                       <fileset 
dir="${activemq.basedir}/artemis-jms-client/src/main/java" />
+                                       <fileset 
dir="${activemq.basedir}/artemis-jms-server/src/main/java" />
+                                       <fileset 
dir="${activemq.basedir}/artemis-journal/src/main/java" />
+                                       <fileset 
dir="${activemq.basedir}/activemq-artemis-native/src/main/java" />
+                                       <fileset 
dir="${activemq.basedir}/artemis-ra/src/main/java" />
+                                       <fileset 
dir="${activemq.basedir}/artemis-selector/src/main/java" />
+                                       <fileset 
dir="${activemq.basedir}/artemis-server/src/main/java" />
+                                       <fileset 
dir="${activemq.basedir}/artemis-server-osgi/src/main/java" />
+                                       <fileset 
dir="${activemq.basedir}/artemis-service-extensions/src/main/java" />
+                                       <fileset 
dir="${activemq.basedir}/artemis-web/src/main/java" />
+                                    </sourcefiles>
+                                 </structure>
+                                 <html destdir="\${result.report.dir}" />
+                                 <xml 
destfile="\${result.report.dir}/report.xml" />
+                              </report>
+                           </target>
+                        </configuration>
+                     </execution>
+                  </executions>
+                  <dependencies>
+                     <dependency>
+                        <groupId>org.jacoco</groupId>
+                        <artifactId>org.jacoco.ant</artifactId>
+                        <version>${version.org.jacoco.plugin}</version>
+                     </dependency>
+                  </dependencies>
+               </plugin>
+            </plugins>
+         </build>
+      </profile>
+   </profiles>
+
+   <build>
+      <extensions>
+         <!-- Generate os.detected.classifier property for Netty native 
dependencies -->
+         <extension>
+            <groupId>kr.motd.maven</groupId>
+            <artifactId>os-maven-plugin</artifactId>
+            <version>1.7.1</version>
+         </extension>
+      </extensions>
+
+      <pluginManagement>
+         <plugins>
+            <plugin>
+               <groupId>org.eclipse.m2e</groupId>
+               <artifactId>lifecycle-mapping</artifactId>
+               <version>1.0.0</version>
+               <configuration>
+                  <lifecycleMappingMetadata>
+                     <pluginExecutions>
+                        <pluginExecution>
+                           <pluginExecutionFilter>
+                              <groupId>org.apache.rat</groupId>
+                              <artifactId>apache-rat-plugin</artifactId>
+                              <versionRange>[0.12,)</versionRange>
+                              <goals>
+                                 <goal>check</goal>
+                              </goals>
+                           </pluginExecutionFilter>
+                           <action>
+                              <ignore />
+                           </action>
+                        </pluginExecution>
+                        <pluginExecution>
+                           <pluginExecutionFilter>
+                              <groupId>
+                                 org.apache.servicemix.tooling
+                           </groupId>
+                              <artifactId>
+                                 depends-maven-plugin
+                           </artifactId>
+                              <versionRange>
+                                 [1.2,)
+                           </versionRange>
+                              <goals>
+                                 <goal>
+                                    generate-depends-file
+                              </goal>
+                              </goals>
+                           </pluginExecutionFilter>
+                           <action>
+                              <ignore />
+                           </action>
+                        </pluginExecution>
+                     </pluginExecutions>
+                  </lifecycleMappingMetadata>
+               </configuration>
+            </plugin>
+            <plugin>
+               <groupId>org.codehaus.mojo</groupId>
+               <artifactId>javacc-maven-plugin</artifactId>
+               <version>2.6</version>
+               <executions>
+                  <execution>
+                     <id>javacc</id>
+                     <goals>
+                        <goal>javacc</goal>
+                     </goals>
+                  </execution>
+               </executions>
+            </plugin>
+            <plugin>
+               <groupId>org.apache.maven.plugins</groupId>
+               <artifactId>maven-compiler-plugin</artifactId>
+               <configuration>
+                  <showWarnings>true</showWarnings>
+                  <compilerArgs>
+                     
<arg>--add-exports=java.base/jdk.internal.misc=ALL-UNNAMED</arg>
+                  </compilerArgs>
+               </configuration>
+            </plugin>
+            <plugin>
+               <groupId>org.apache.maven.plugins</groupId>
+               <artifactId>maven-rar-plugin</artifactId>
+               <version>3.0.0</version>
+            </plugin>
+            <plugin>
+               <groupId>net.sf.maven-sar</groupId>
+               <artifactId>maven-sar-plugin</artifactId>
+               <version>1.0</version>
+            </plugin>
+            <plugin>
+               <groupId>org.eclipse.jetty</groupId>
+               <artifactId>jetty-maven-plugin</artifactId>
+               <version>${jetty.version}</version>
+            </plugin>
+            <plugin>
+               <groupId>org.wildfly.extras.batavia</groupId>
+               <artifactId>transformer-tools-mvn</artifactId>
+               <version>${version.batavia}</version>
+            </plugin>
+            <plugin>
+               <inherited>true</inherited>
+               <groupId>org.apache.maven.plugins</groupId>
+               <artifactId>maven-source-plugin</artifactId>
+               <executions>
+                  <execution>
+                     <id>attach-sources</id>
+                     <phase>verify</phase>
+                     <goals>
+                        <goal>jar-no-fork</goal>
+                     </goals>
+                  </execution>
+               </executions>
+            </plugin>
+            <plugin>
+               <groupId>org.apache.maven.plugins</groupId>
+               <artifactId>maven-surefire-plugin</artifactId>
+               <configuration>
+                  <forkCount>1</forkCount>
+                  <reuseForks>true</reuseForks>
+                  <testFailureIgnore>${testFailureIgnore}</testFailureIgnore>
+                  <runOrder>alphabetical</runOrder>
+                  
<redirectTestOutputToFile>${maven.test.redirectTestOutputToFile}</redirectTestOutputToFile>
+                  <argLine>${activemq-surefire-argline}</argLine>
+                  <environmentVariables>
+                     <PN_TRACE_FRM>${proton.trace.frames}</PN_TRACE_FRM>
+                  </environmentVariables>
+               </configuration>
+            </plugin>
+            <plugin>
+               <groupId>org.apache.maven.plugins</groupId>
+               <artifactId>maven-surefire-report-plugin</artifactId>
+            </plugin>
+            <plugin>
+               <groupId>org.apache.maven.plugins</groupId>
+               <artifactId>maven-pmd-plugin</artifactId>
+               <version>3.6</version>
+               <configuration>
+                  <linkXRef>true</linkXRef>
+                  <minimumTokens>100</minimumTokens>
+               </configuration>
+            </plugin>
+            <plugin>
+               <groupId>org.codehaus.mojo</groupId>
+               <artifactId>build-helper-maven-plugin</artifactId>
+               <version>1.8</version>
+            </plugin>
+            <plugin>
+               <groupId>org.codehaus.mojo</groupId>
+               <artifactId>xml-maven-plugin</artifactId>
+               <version>1.0</version>
+            </plugin>
+            <!-- Many examples use it -->
+            <plugin>
+               <groupId>org.apache.activemq</groupId>
+               <artifactId>artemis-maven-plugin</artifactId>
+               <version>${project.version}</version>
+            </plugin>
+            <plugin>
+               <groupId>org.jacoco</groupId>
+               <artifactId>jacoco-maven-plugin</artifactId>
+               <version>${version.org.jacoco.plugin}</version>
+            </plugin>
+            <plugin>
+               <groupId>org.apache.maven.plugins</groupId>
+               <artifactId>maven-checkstyle-plugin</artifactId>
+               <dependencies>
+                  <dependency>
+                     <groupId>com.github.sevntu-checkstyle</groupId>
+                     <artifactId>sevntu-checks</artifactId>
+                     <version>${sevntu.checks.version}</version>
+                  </dependency>
+                  <dependency>
+                     <groupId>com.puppycrawl.tools</groupId>
+                     <artifactId>checkstyle</artifactId>
+                     <version>${checkstyle.version}</version>
+                  </dependency>
+               </dependencies>
+               <configuration>
+                  
<configLocation>${activemq.basedir}/etc/checkstyle.xml</configLocation>
+                  
<suppressionsLocation>${activemq.basedir}/etc/checkstyle-suppressions.xml</suppressionsLocation>
+                  <failsOnError>false</failsOnError>
+                  <failOnViolation>true</failOnViolation>
+                  <consoleOutput>true</consoleOutput>
+                  <includeTestSourceDirectory>true</includeTestSourceDirectory>
+               </configuration>
+            </plugin>
+            <plugin>
+               <groupId>org.apache.rat</groupId>
+               <artifactId>apache-rat-plugin</artifactId>
+               <configuration>
+                  <excludes>
+                     <exclude>**/src/main/webapp/hawtconfig.json</exclude>
+                     <exclude>.repository/**</exclude>
+                     <exclude>.travis.yml</exclude>
+                     <exclude>.github/workflows/*</exclude>
+                     <exclude>**/footer.html</exclude>
+                     <exclude>**/*.txt</exclude>
+                     <exclude>**/*.md</exclude>
+                     <exclude>**/*.adoc</exclude>
+                     <exclude>etc/ide-settings/**</exclude>
+                     <exclude>**/*.json</exclude>
+                     <exclude>docs/resources/font-awesome/**/*</exclude>
+                     <exclude>docs/user-manual/_diagrams/*.svg</exclude>
+                     
<exclude>docs/user-manual/02-27-00-scripts-profiles.diff</exclude>
+                     
<exclude>docs/user-manual/02-27-00-scripts-profiles-windows.diff</exclude>
+                     <exclude>**/target/</exclude>
+                     <exclude>**/META-INF/services/*</exclude>
+                     <exclude>**/META-INF/MANIFEST.MF</exclude>
+                     <exclude>**/*.iml</exclude>
+                     <exclude>**/*.jceks</exclude>
+                     <exclude>**/*.jks</exclude>
+                     <exclude>**/*.p12</exclude>
+                     <exclude>**/xml.xsd</exclude>
+                     
<exclude>**/org/apache/activemq/artemis/utils/json/**</exclude>
+                     
<exclude>**/org/apache/activemq/artemis/utils/Base64.java</exclude>
+                     <exclude>**/.settings/**</exclude>
+                     <exclude>**/.project</exclude>
+                     <exclude>**/.classpath</exclude>
+                     <exclude>**/.editorconfig</exclude>
+                     <exclude>**/.checkstyle</exclude>
+                     <exclude>**/.factorypath</exclude>
+                     <exclude>**/org.apache.activemq.artemis.cfg</exclude>
+                     <exclude>**/nb-configuration.xml</exclude>
+                     <exclude>**/nbactions-tests.xml</exclude>
+                     <exclude>**/.vscode/settings.json</exclude>
+                     <!-- activemq5 unit tests exclude -->
+                     <exclude>**/*.data</exclude>
+                     <exclude>**/*.bin</exclude>
+                     <exclude>**/src/test/resources/keystore</exclude>
+                     
<exclude>**/src/test/java/org/apache/activemq/security/*.ts</exclude>
+                     <exclude>**/*.log</exclude>
+                     <exclude>**/*.redo</exclude>
+
+                     <!-- NPM files -->
+                     <exclude>**/node/**</exclude>
+                     <exclude>**/node_modules/**</exclude>
+                     <exclude>**/package.json</exclude>
+                     <exclude>**/package-lock.json</exclude>
+
+                     <!-- Build time overlay folder -->
+                     <exclude>**/overlays/**</exclude>
+
+                     <!-- things from cmake on the native build -->
+                     <exclude>**/CMakeFiles/</exclude>
+                     <exclude>**/Makefile</exclude>
+                     <exclude>**/cmake_install.cmake</exclude>
+                     
<exclude>activemq-artemis-native/src/main/c/org_apache_activemq_artemis_jlibaio_LibaioContext.h</exclude>
+                     <exclude>**/dependency-reduced-pom.xml</exclude>
+
+                     <!-- Mockito -->
+                     
<exclude>**/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker</exclude>
+
+                     <!-- .NET Examples-->
+                     
<exclude>examples/protocols/amqp/dotnet/**/obj/**/*</exclude>
+                     
<exclude>examples/protocols/amqp/dotnet/**/bin/**/*</exclude>
+                     
<exclude>examples/protocols/amqp/dotnet/**/readme.md</exclude>
+                     <exclude>examples/protocols/amqp/**/readme.md</exclude>
+
+                     <!-- DB Test config files -->
+                     <exclude>tests/db-tests/jdbc-drivers/**/*</exclude>
+                  </excludes>
+               </configuration>
+            </plugin>
+            <plugin>
+               <groupId>org.codehaus.mojo</groupId>
+               <artifactId>exec-maven-plugin</artifactId>
+               <version>${exec-maven-plugin.version}</version>
+            </plugin>
+            <plugin>
+               <groupId>org.apache.maven.plugins</groupId>
+               <artifactId>maven-release-plugin</artifactId>
+               <configuration>
+                  <autoVersionSubmodules>true</autoVersionSubmodules>
+                  <tagNameFormat>@{project.version}</tagNameFormat>
+                  <arguments>-DskipTests</arguments>
+               </configuration>
+            </plugin>
+         </plugins>
+      </pluginManagement>
+
+      <plugins>
+         <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-enforcer-plugin</artifactId>
+            <executions>
+               <execution>
+                  <id>enforce-java-version</id>
+                  <goals>
+                     <goal>enforce</goal>
+                  </goals>
+                  <configuration>
+                     <rules>
+                        <requireJavaVersion>
+                           <version>[11,)</version>
+                           <message>You must use JDK 11+ when 
building</message>
+                        </requireJavaVersion>
+                     </rules>
+                  </configuration>
+               </execution>
+               <execution>
+                  <id>enforce-maven-version</id>
+                  <goals>
+                     <goal>enforce</goal>
+                  </goals>
+                  <configuration>
+                     <rules>
+                        <requireMavenVersion>
+                           <version>3.5.0</version>
+                           <message>You must use Maven 3.5.0+ to 
build</message>
+                        </requireMavenVersion>
+                     </rules>
+                  </configuration>
+               </execution>
+            </executions>
+         </plugin>
+         <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-javadoc-plugin</artifactId>
+            <configuration>
+               <noindex>true</noindex>
+            </configuration>
+         </plugin>
+         <plugin>
+            <artifactId>maven-source-plugin</artifactId>
+         </plugin>
+         <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-help-plugin</artifactId>
+         </plugin>
+         <plugin>
+            <groupId>org.codehaus.mojo</groupId>
+            <artifactId>findbugs-maven-plugin</artifactId>
+            <version>2.5.2</version>
+            <configuration>
+               
<excludeFilterFile>${user.dir}/etc/findbugs-exclude.xml</excludeFilterFile>
+               <findbugsXmlOutput>true</findbugsXmlOutput>
+               <xmlOutput>true</xmlOutput>
+               <effort>Max</effort>
+               <failOnError>false</failOnError>
+            </configuration>
+         </plugin>
+         <plugin>
+            <groupId>org.apache.felix</groupId>
+            <artifactId>maven-bundle-plugin</artifactId>
+            <version>${maven.bundle.plugin.version}</version>
+            <extensions>true</extensions>
+         </plugin>
+
+         <!-- This is placing the .so in the root target/bin/ dir, so the 
testsuite can use it, by
+              leveraging the surefire argLine. This avoids having to build a 
distribution to run tests.
+              Note the plugin config is not inherited, we only do this at the 
root. -->
+         <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-dependency-plugin</artifactId>
+            <inherited>false</inherited>
+            <executions>
+               <execution>
+                  <id>copy</id>
+                  <phase>generate-sources</phase>
+                  <goals>
+                     <goal>unpack</goal>
+                  </goals>
+               </execution>
+            </executions>
+            <configuration>
+               <artifactItems>
+                  <artifactItem>
+                     <groupId>org.apache.activemq</groupId>
+                     <artifactId>activemq-artemis-native</artifactId>
+                     <version>${activemq-artemis-native-version}</version>
+                     <type>jar</type>
+                     <overWrite>false</overWrite>
+                     
<outputDirectory>${project.build.directory}/bin</outputDirectory>
+                     <includes>**/*.so</includes>
+                  </artifactItem>
+               </artifactItems>
+            </configuration>
+         </plugin>

Review Comment:
   also changed property to 
`-Djava.library.path="${activemq.basedir}/target/bin"`



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: gitbox-unsubscr...@activemq.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to