<!--
  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.tests</groupId>
      <artifactId>artemis-tests-pom</artifactId>
      <version>2.27.0</version>
   </parent>

   <artifactId>smoke-tests</artifactId>
   <packaging>jar</packaging>
   <name>Smoke Tests</name>

   <properties>
      <activemq.basedir>${project.basedir}/../../</activemq.basedir>
      <sts-surefire-extra-args />
      <artemis-distribuiton-lib-dir>-Ddistribution.lib="${activemq.basedir}/artemis-distribution/target/apache-artemis-${project.version}-bin/apache-artemis-${project.version}/lib"</artemis-distribuiton-lib-dir>
   </properties>

   <dependencies>
      <dependency>
         <!-- this dependency is here to make sure this module is only executed
              after the distribution is created.
              Otherwise it will get here before the build eventually.
              e.g if you use mvn install -T 20 -->
         <groupId>org.apache.activemq</groupId>
         <artifactId>apache-artemis</artifactId>
         <version>${project.version}</version>
         <scope>compile</scope>
         <type>pom</type>
      </dependency>
      <dependency>
         <groupId>org.apache.activemq</groupId>
         <artifactId>artemis-jms-client</artifactId>
         <version>${project.version}</version>
      </dependency>
      <dependency>
         <groupId>org.apache.activemq</groupId>
         <artifactId>artemis-commons</artifactId>
         <version>${project.version}</version>
      </dependency>
      <dependency>
         <groupId>org.apache.activemq</groupId>
         <artifactId>artemis-cli</artifactId>
         <version>${project.version}</version>
      </dependency>
      <dependency>
         <groupId>junit</groupId>
         <artifactId>junit</artifactId>
      </dependency>
      <dependency>
         <groupId>org.apache.qpid</groupId>
         <artifactId>qpid-jms-client</artifactId>
      </dependency>
      <!-- logging -->
      <dependency>
         <groupId>org.slf4j</groupId>
         <artifactId>slf4j-api</artifactId>
      </dependency>
      <dependency>
         <groupId>org.apache.logging.log4j</groupId>
         <artifactId>log4j-slf4j-impl</artifactId>
         <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>org.fusesource.mqtt-client</groupId>
         <artifactId>mqtt-client</artifactId>
      </dependency>
      <dependency>
         <groupId>org.eclipse.paho</groupId>
         <artifactId>org.eclipse.paho.client.mqttv3</artifactId>
      </dependency>
      <dependency>
         <groupId>jakarta.jms</groupId>
         <artifactId>jakarta.jms-api</artifactId>
         <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>jakarta.management.j2ee</groupId>
         <artifactId>jakarta.management.j2ee-api</artifactId>
         <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>org.apache.activemq</groupId>
         <artifactId>activemq-client</artifactId>
         <scope>test</scope>
         <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.seleniumhq.selenium</groupId>
         <artifactId>selenium-java</artifactId>
         <version>3.141.59</version>
         <scope>test</scope>
      </dependency>

      <dependency>
         <groupId>org.testcontainers</groupId>
         <artifactId>selenium</artifactId>
      </dependency>

      <!-- quorum tests -->
      <dependency>
         <groupId>org.apache.curator</groupId>
         <artifactId>curator-recipes</artifactId>
         <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>org.apache.curator</groupId>
         <artifactId>curator-client</artifactId>
         <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>org.apache.curator</groupId>
         <artifactId>curator-framework</artifactId>
         <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>org.apache.curator</groupId>
         <artifactId>curator-test</artifactId>
         <version>${curator.version}</version>
         <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>org.apache.zookeeper</groupId>
         <artifactId>zookeeper</artifactId>
         <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>org.apache.zookeeper</groupId>
         <artifactId>zookeeper-jute</artifactId>
         <scope>test</scope>
      </dependency>

      <!-- The johnzon-core and json-api contents are repackaged in -commons,
           However maven can still need them during tests, which run against
           the original -commons classes when built+run in the same reactor,
           and not the jar containing the shaded bits. -->
      <dependency>
         <groupId>org.apache.johnzon</groupId>
         <artifactId>johnzon-core</artifactId>
         <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>jakarta.json</groupId>
         <artifactId>jakarta.json-api</artifactId>
         <scope>test</scope>
      </dependency>

      <dependency>
         <groupId>org.apache.httpcomponents</groupId>
         <artifactId>httpclient</artifactId>
      </dependency>

      <dependency>
         <groupId>org.apache.activemq</groupId>
         <artifactId>artemis-unit-test-support</artifactId>
         <version>${project.version}</version>
         <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>org.apache.activemq.tests</groupId>
         <artifactId>artemis-test-support</artifactId>
         <version>${project.version}</version>
         <scope>test</scope>
      </dependency>

   </dependencies>

   <build>
      <resources>
         <resource>
            <directory>src/main/resources</directory>
            <filtering>false</filtering>
         </resource>
         <resource>
            <directory>src/main/filtered-resources</directory>
            <filtering>true</filtering>
         </resource>
      </resources>
      <plugins>
         <plugin>
            <artifactId>maven-resources-plugin</artifactId>
            <executions>
               <execution>
                  <id>copy-security-resources</id>
                  <phase>validate</phase>
                  <goals>
                     <goal>copy-resources</goal>
                  </goals>
                  <configuration>
                     <outputDirectory>${basedir}/target/test-classes</outputDirectory>
                     <resources>
                        <resource>
                           <directory>../security-resources</directory>
                        </resource>
                     </resources>
                  </configuration>
               </execution>
            </executions>
         </plugin>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
               <compilerArgs>
                  <arg>--add-exports=java.rmi/sun.rmi.server=ALL-UNNAMED</arg>
                  <arg>--add-exports=java.rmi/sun.rmi.transport=ALL-UNNAMED</arg>
               </compilerArgs>
            </configuration>
         </plugin>
         <plugin>
            <groupId>org.apache.activemq</groupId>
            <artifactId>artemis-maven-plugin</artifactId>
            <executions>
               <execution>
                  <phase>test-compile</phase>
                  <id>create-create-console</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <role>amq</role>
                     <user>admin</user>
                     <password>admin</password>
                     <allowAnonymous>false</allowAnonymous>
                     <noWeb>false</noWeb>
                     <instance>${basedir}/target/console</instance>
                     <configuration>${basedir}/target/classes/servers/console</configuration>
                  </configuration>
               </execution>
               <execution>
                  <phase>test-compile</phase>
                  <id>create-create-console-mutual-ssl</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <role>amq</role>
                     <user>admin</user>
                     <password>admin</password>
                     <allowAnonymous>false</allowAnonymous>
                     <noWeb>false</noWeb>
                     <instance>${basedir}/target/console-mutual-ssl</instance>
                     <configuration>${basedir}/target/classes/servers/console-mutual-ssl</configuration>
                     <args>
                        <arg>--http-host</arg>
                        <arg>localhost</arg>
                        <arg>--http-port</arg>
                        <arg>8443</arg>
                        <arg>--ssl-key</arg>
                        <arg>../../test-classes/server-keystore.p12</arg>
                        <arg>--ssl-key-password</arg>
                        <arg>securepass</arg>
                        <arg>--use-client-auth</arg>
                        <arg>--ssl-trust</arg>
                        <arg>../../test-classes/client-ca-truststore.p12</arg>
                        <arg>--ssl-trust-password</arg>
                        <arg>securepass</arg>
                     </args>
                  </configuration>
               </execution>
               <execution>
                  <phase>test-compile</phase>
                  <id>create0</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <!-- this makes it easier in certain envs -->
                     <javaOptions>-Djava.net.preferIPv4Stack=true</javaOptions>
                     <instance>${basedir}/target/replicated-static0</instance>
                     <configuration>${basedir}/target/classes/servers/replicated-static0</configuration>
                     <args>
                        <arg>--java-options</arg>
                        <arg>-ea</arg>
                     </args>
                  </configuration>
               </execution>
               <execution>
                  <phase>test-compile</phase>
                  <id>create1</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <!-- this makes it easier in certain envs -->
                     <javaOptions>-Djava.net.preferIPv4Stack=true</javaOptions>
                     <instance>${basedir}/target/replicated-static1</instance>
                     <configuration>${basedir}/target/classes/servers/replicated-static1</configuration>
                     <args>
                        <arg>--java-options</arg>
                        <arg>-ea</arg>
                     </args>
                  </configuration>
               </execution>
               <execution>
                  <phase>test-compile</phase>
                  <id>create-expire</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <!-- this makes it easier in certain envs -->
                     <configuration>${basedir}/target/classes/servers/expire</configuration>
                     <javaOptions>-Dartemis.debug.paging.interval=1</javaOptions>
                     <allowAnonymous>true</allowAnonymous>
                     <user>admin</user>
                     <password>admin</password>
                     <instance>${basedir}/target/expire</instance>
                  </configuration>
               </execution>
               <execution>
                  <phase>test-compile</phase>
                  <id>create-mqtt</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <!-- this makes it easier in certain envs -->
                     <configuration>${basedir}/target/classes/servers/mqtt</configuration>
                     <allowAnonymous>true</allowAnonymous>
                     <user>admin</user>
                     <password>admin</password>
                     <instance>${basedir}/target/mqtt</instance>
                     <configuration>${basedir}/target/classes/servers/mqtt</configuration>
                  </configuration>
               </execution>
               <execution>
                  <phase>test-compile</phase>
                  <id>create-standard</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <allowAnonymous>true</allowAnonymous>
                     <user>admin</user>
                     <password>admin</password>
                     <instance>${basedir}/target/standard</instance>
                  </configuration>
               </execution>
               <execution>
                  <phase>test-compile</phase>
                  <id>create-dnsswitch</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <configuration>${basedir}/target/classes/servers/dnsswitch</configuration>
                     <allowAnonymous>true</allowAnonymous>
                     <user>admin</user>
                     <password>admin</password>
                     <instance>${basedir}/target/dnsswitch</instance>
                  </configuration>
               </execution>
               <execution>
                  <phase>test-compile</phase>
                  <id>create-dnsswitch2</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <configuration>${basedir}/target/classes/servers/dnsswitch2</configuration>
                     <allowAnonymous>true</allowAnonymous>
                     <user>admin</user>
                     <password>admin</password>
                     <instance>${basedir}/target/dnsswitch2</instance>
                  </configuration>
               </execution>
               <execution>
                  <phase>test-compile</phase>
                  <id>create-dnsswitch-main</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <configuration>${basedir}/target/classes/servers/dnsswitch-replicated-main</configuration>
                     <allowAnonymous>true</allowAnonymous>
                     <user>admin</user>
                     <password>admin</password>
                     <noWeb>true</noWeb>
                     <instance>${basedir}/target/dnsswitch-replicated-main</instance>
                     <args>
                        <arg>--java-options</arg>
                        <!-- notice these files are only available on dnsswitch, so this is not a copy and paste error
                             where I really meant dnsswitch here -->
                        <arg>-Djdk.net.hosts.file=${basedir}/target/dnsswitch/etc/hosts.conf
                           -Djava.security.properties=${basedir}/target/dnsswitch/etc/zerocache.security
                           -Djava.rmi.server.hostname=localhost
                        </arg>
                     </args>
                  </configuration>
               </execution>
               <execution>
                  <phase>test-compile</phase>
                  <id>create-dnsswitch-main-withping</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <configuration>${basedir}/target/classes/servers/dnsswitch-replicated-main-withping</configuration>
                     <allowAnonymous>true</allowAnonymous>
                     <user>admin</user>
                     <password>admin</password>
                     <noWeb>true</noWeb>
                     <instance>${basedir}/target/dnsswitch-replicated-main-withping</instance>
                     <args>
                        <arg>--java-options</arg>
                        <!-- notice these files are only available on dnsswitch, so this is not a copy and paste error
                             where I really meant dnsswitch here -->
                        <arg>-Djdk.net.hosts.file=${basedir}/target/dnsswitch/etc/hosts.conf
                           -Djava.security.properties=${basedir}/target/dnsswitch/etc/zerocache.security
                           -Djava.rmi.server.hostname=localhost
                        </arg>
                     </args>
                  </configuration>
               </execution>
               <execution>
                  <phase>test-compile</phase>
                  <id>create-dnsswitch-backup-withping</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <configuration>${basedir}/target/classes/servers/dnsswitch-replicated-backup-withping
                     </configuration>
                     <allowAnonymous>true</allowAnonymous>
                     <user>admin</user>
                     <password>admin</password>
                     <noWeb>true</noWeb>
                     <instance>${basedir}/target/dnsswitch-replicated-backup-withping</instance>
                     <args>
                        <arg>--java-options</arg>
                        <!-- notice these files are only available on dnsswitch, so this is not a copy and paste error
                             where I really meant dnsswitch here -->
                        <arg>-Djdk.net.hosts.file=${basedir}/target/dnsswitch/etc/hosts.conf
                           -Djava.security.properties=${basedir}/target/dnsswitch/etc/zerocache.security
                           -Djava.rmi.server.hostname=localhost
                        </arg>
                     </args>
                  </configuration>
               </execution>
               <execution>
                  <phase>test-compile</phase>
                  <id>create-dnsswitch-main-noretrydns</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <configuration>${basedir}/target/classes/servers/dnsswitch-replicated-main-noretrydns
                     </configuration>
                     <allowAnonymous>true</allowAnonymous>
                     <user>admin</user>
                     <password>admin</password>
                     <noWeb>true</noWeb>
                     <instance>${basedir}/target/dnsswitch-replicated-main-noretrydns</instance>
                     <args>
                        <arg>--java-options</arg>
                        <!-- notice these files are only available on dnsswitch, so this is not a copy and paste error
                             where I really meant dnsswitch here -->
                        <arg>-Djdk.net.hosts.file=${basedir}/target/dnsswitch/etc/hosts.conf
                           -Djava.security.properties=${basedir}/target/dnsswitch/etc/noretrydns.security
                           -Djava.rmi.server.hostname=localhost
                        </arg>
                     </args>
                  </configuration>
               </execution>
               <execution>
                  <phase>test-compile</phase>
                  <id>create-dnsswitch-backup</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <configuration>${basedir}/target/classes/servers/dnsswitch-replicated-backup</configuration>
                     <allowAnonymous>true</allowAnonymous>
                     <user>admin</user>
                     <password>admin</password>
                     <noWeb>true</noWeb>
                     <instance>${basedir}/target/dnsswitch-replicated-backup</instance>
                     <args>
                        <arg>--java-options</arg>
                        <!-- notice these files are only available on dnsswitch, so this is not a copy and paste error
                             where I really meant dnsswitch here -->
                        <arg>-Djdk.net.hosts.file=${basedir}/target/dnsswitch/etc/hosts.conf
                           -Djava.security.properties=${basedir}/target/dnsswitch/etc/zerocache.security
                           -Djava.rmi.server.hostname=localhost
                        </arg>
                     </args>
                  </configuration>
               </execution>
               <execution>
                  <phase>test-compile</phase>
                  <id>create-maxConsumers</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <!-- this makes it easier in certain envs -->
                     <configuration>${basedir}/target/classes/servers/maxConsumers</configuration>
                     <allowAnonymous>true</allowAnonymous>
                     <user>admin</user>
                     <password>admin</password>
                     <instance>${basedir}/target/maxConsumers</instance>
                  </configuration>
               </execution>
               <execution>
                  <phase>test-compile</phase>
                  <id>create-createJMX</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <configuration>${basedir}/target/classes/servers/jmx</configuration>
                     <allowAnonymous>true</allowAnonymous>
                     <user>admin</user>
                     <password>admin</password>
                     <instance>${basedir}/target/jmx</instance>
                     <args>
                        <!-- this is needed to run the server remotely -->
                        <arg>--java-options</arg>
                        <arg>-Djava.rmi.server.hostname=localhost</arg>
                     </args>
                  </configuration>
               </execution>
               <execution>
                  <phase>test-compile</phase>
                  <id>create-createJMX2</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <allowAnonymous>true</allowAnonymous>
                     <user>admin</user>
                     <password>admin</password>
                     <instance>${basedir}/target/jmx2</instance>
                     <args>
                        <!-- this is needed to run the server remotely -->
                        <arg>--java-options</arg>
                        <arg>-Djava.rmi.server.hostname=localhost -Dcom.sun.management.jmxremote=true
                           -Dcom.sun.management.jmxremote.port=11099 -Dcom.sun.management.jmxremote.rmi.port=11098
                           -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false
                        </arg>
                     </args>
                  </configuration>
               </execution>
               <execution>
                  <phase>test-compile</phase>
                  <id>create-createJMXRBAC</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <role>amq</role>
                     <user>admin</user>
                     <password>admin</password>
                     <allowAnonymous>false</allowAnonymous>
                     <instance>${basedir}/target/jmx-rbac</instance>
                     <configuration>${basedir}/target/classes/servers/jmx-rbac</configuration>
                     <args>
                        <!-- this is needed to run the server remotely -->
                        <arg>--java-options</arg>
                        <arg>-Djava.rmi.server.hostname=localhost</arg>
                     </args>
                  </configuration>
               </execution>
               <execution>
                  <phase>test-compile</phase>
                  <id>create-createAuditLogging</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <configuration>${basedir}/target/classes/servers/audit-logging</configuration>
                     <noWeb>false</noWeb>
                     <allowAnonymous>true</allowAnonymous>
                     <user>admin</user>
                     <password>admin</password>
                     <instance>${basedir}/target/audit-logging</instance>
                     <args>
                        <!-- this is needed to run the server remotely -->
                        <arg>--java-options</arg>
                        <arg>-Djava.rmi.server.hostname=localhost</arg>
                        <!--<arg>-Djava.rmi.server.hostname=localhost -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005</arg>-->
                     </args>
                  </configuration>
               </execution>
               <execution>
                  <phase>test-compile</phase>
                  <id>create-createAuditLogging2</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <configuration>${basedir}/target/classes/servers/audit-logging2</configuration>
                     <noWeb>false</noWeb>
                     <allowAnonymous>true</allowAnonymous>
                     <user>admin</user>
                     <password>admin</password>
                     <instance>${basedir}/target/audit-logging2</instance>
                     <args>
                        <!-- this is needed to run the server remotely -->
                        <arg>--java-options</arg>
                        <arg>-Djava.rmi.server.hostname=localhost</arg>
                        <!--<arg>-Djava.rmi.server.hostname=localhost -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005</arg>-->
                     </args>
                  </configuration>
               </execution>
               <execution>
                  <phase>test-compile</phase>
                  <id>create-createAuditLoggingAMQPMutualSSL</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <configuration>${basedir}/target/classes/servers/audit-logging-amqp-mutual-ssl</configuration>
                     <noWeb>false</noWeb>
                     <allowAnonymous>true</allowAnonymous>
                     <user>admin</user>
                     <password>admin</password>
                     <instance>${basedir}/target/audit-logging-amqp-mutual-ssl</instance>
                     <args>
                        <!-- this is needed to run the server remotely -->
                        <arg>--java-options</arg>
                        <arg>-Djava.rmi.server.hostname=localhost</arg>
                        <!--<arg>-Djava.rmi.server.hostname=localhost -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005</arg>-->
                     </args>
                  </configuration>
               </execution>
               <execution>
                  <phase>test-compile</phase>
                  <id>create-jmx-failback</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <!-- this makes it easier in certain envs -->
                     <configuration>${basedir}/target/classes/servers/jmx-failback1</configuration>
                     <allowAnonymous>true</allowAnonymous>
                     <user>admin</user>
                     <password>admin</password>
                     <instance>${basedir}/target/jmx-failback1</instance>
                     <args>
                        <!-- this is needed to run the server remotely -->
                        <arg>--java-options</arg>
                        <arg>-Djava.rmi.server.hostname=localhost</arg>
                     </args>
                  </configuration>
               </execution>
               <execution>
                  <phase>test-compile</phase>
                  <id>create-jmx-failback2</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <!-- this makes it easier in certain envs -->
                     <configuration>${basedir}/target/classes/servers/jmx-failback2</configuration>
                     <allowAnonymous>true</allowAnonymous>
                     <user>admin</user>
                     <password>admin</password>
                     <instance>${basedir}/target/jmx-failback2</instance>
                     <args>
                        <!-- this is needed to run the server remotely -->
                        <arg>--java-options</arg>
                        <arg>-Djava.rmi.server.hostname=localhost</arg>
                     </args>
                  </configuration>
               </execution>
               <!-- START JmxReplicatedMultipleFailbackTest -->
               <execution>
                  <phase>test-compile</phase>
                  <id>create-replicated-failback-master1</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <!-- this makes it easier in certain envs -->
                     <configuration>${basedir}/target/classes/servers/replicated-failback-master1</configuration>
                     <allowAnonymous>true</allowAnonymous>
                     <user>admin</user>
                     <password>admin</password>
                     <instance>${basedir}/target/replicated-failback-master1</instance>
                     <args>
                        <!-- this is needed to run the server remotely -->
                        <arg>--java-options</arg>
                        <arg>-Djava.rmi.server.hostname=localhost</arg>
                     </args>
                  </configuration>
               </execution>
               <!-- START ZookeeperPluggableQuorumSinglePairTest -->
               <execution>
                  <phase>test-compile</phase>
                  <id>create-zk-replication-primary</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <!-- this makes it easier in certain envs -->
                     <configuration>${basedir}/target/classes/servers/zkReplicationPrimary</configuration>
                     <allowAnonymous>true</allowAnonymous>
                     <user>admin</user>
                     <password>admin</password>
                     <instance>${basedir}/target/zkReplicationPrimary</instance>
                     <args>
                        <!-- this is needed to run the server remotely -->
                        <arg>--java-options</arg>
                        <arg>-Djava.rmi.server.hostname=localhost</arg>
                     </args>
                  </configuration>
               </execution>
               <execution>
                  <phase>test-compile</phase>
                  <id>create-zk-replication-primary-peer-a</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <configuration>${basedir}/target/classes/servers/zkReplicationPrimaryPeerA</configuration>
                     <allowAnonymous>true</allowAnonymous>
                     <user>admin</user>
                     <password>admin</password>
                     <instance>${basedir}/target/zkReplicationPrimaryPeerA</instance>
                     <args>
                        <!-- this is needed to run the server remotely -->
                        <arg>--java-options</arg>
                        <arg>-Djava.rmi.server.hostname=localhost</arg>
                     </args>
                  </configuration>
               </execution>
               <execution>
                  <phase>test-compile</phase>
                  <id>create-zk-replication-primary-peer-b</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <configuration>${basedir}/target/classes/servers/zkReplicationPrimaryPeerB</configuration>
                     <allowAnonymous>true</allowAnonymous>
                     <user>admin</user>
                     <password>admin</password>
                     <instance>${basedir}/target/zkReplicationPrimaryPeerB</instance>
                     <args>
                        <!-- this is needed to run the server remotely -->
                        <arg>--java-options</arg>
                        <arg>-Djava.rmi.server.hostname=localhost</arg>
                     </args>
                  </configuration>
               </execution>
               <execution>
                  <phase>test-compile</phase>
                  <id>create-zk-replication-backup</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <!-- this makes it easier in certain envs -->
                     <configuration>${basedir}/target/classes/servers/zkReplicationBackup</configuration>
                     <allowAnonymous>true</allowAnonymous>
                     <user>admin</user>
                     <password>admin</password>
                     <instance>${basedir}/target/zkReplicationBackup</instance>
                     <args>
                        <!-- this is needed to run the server remotely -->
                        <arg>--java-options</arg>
                        <arg>-Djava.rmi.server.hostname=localhost</arg>
                     </args>
                  </configuration>
               </execution>
               <!-- END ZookeeperPluggableQuorumSinglePairTest -->
               <execution>
                  <phase>test-compile</phase>
                  <id>create-replicated-failback-master2</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <!-- this makes it easier in certain envs -->
                     <configuration>${basedir}/target/classes/servers/replicated-failback-master2</configuration>
                     <allowAnonymous>true</allowAnonymous>
                     <user>admin</user>
                     <password>admin</password>
                     <instance>${basedir}/target/replicated-failback-master2</instance>
                     <args>
                        <!-- this is needed to run the server remotely -->
                        <arg>--java-options</arg>
                        <arg>-Djava.rmi.server.hostname=localhost</arg>
                     </args>
                  </configuration>
               </execution>
               <execution>
                  <phase>test-compile</phase>
                  <id>create-replicated-failback-master3</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <!-- this makes it easier in certain envs -->
                     <configuration>${basedir}/target/classes/servers/replicated-failback-master3</configuration>
                     <allowAnonymous>true</allowAnonymous>
                     <user>admin</user>
                     <password>admin</password>
                     <instance>${basedir}/target/replicated-failback-master3</instance>
                     <args>
                        <!-- this is needed to run the server remotely -->
                        <arg>--java-options</arg>
                        <arg>-Djava.rmi.server.hostname=localhost</arg>
                     </args>
                  </configuration>
               </execution>
               <execution>
                  <phase>test-compile</phase>
                  <id>create-replicated-failback-slave1</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <!-- this makes it easier in certain envs -->
                     <configuration>${basedir}/target/classes/servers/replicated-failback-slave1</configuration>
                     <allowAnonymous>true</allowAnonymous>
                     <user>admin</user>
                     <password>admin</password>
                     <instance>${basedir}/target/replicated-failback-slave1</instance>
                     <args>
                        <!-- this is needed to run the server remotely -->
                        <arg>--java-options</arg>
                        <arg>-Djava.rmi.server.hostname=localhost</arg>
                     </args>
                  </configuration>
               </execution>
               <execution>
                  <phase>test-compile</phase>
                  <id>create-paging</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <!-- this makes it easier in certain envs -->
                     <configuration>${basedir}/target/classes/servers/paging</configuration>
                     <allowAnonymous>true</allowAnonymous>
                     <user>admin</user>
                     <password>admin</password>
                     <instance>${basedir}/target/paging</instance>
                     <args>
                        <!-- this is needed to run the server remotely -->
                        <arg>--java-options</arg>
                        <arg>-Djava.rmi.server.hostname=localhost</arg>
                     </args>
                  </configuration>
               </execution>
               <execution>
                  <phase>test-compile</phase>
                  <id>create-paging-address-messages</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <!-- this makes it easier in certain envs -->
                     <configuration>${basedir}/target/classes/servers/pagingAddressMaxMessages</configuration>
                     <allowAnonymous>true</allowAnonymous>
                     <user>admin</user>
                     <password>admin</password>
                     <instance>${basedir}/target/pagingAddressMaxMessages</instance>
                     <args>
                        <!-- this is needed to run the server remotely -->
                        <arg>--java-options</arg>
                        <arg>-Djava.rmi.server.hostname=localhost</arg>
                     </args>
                  </configuration>
               </execution>
               <execution>
                  <phase>test-compile</phase>
                  <id>create-paging-global-messages</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <!-- this makes it easier in certain envs -->
                     <allowAnonymous>true</allowAnonymous>
                     <user>admin</user>
                     <password>admin</password>
                     <instance>${basedir}/target/pagingGlobalMaxMessages</instance>
                     <args>
                        <!-- this is needed to run the server remotely -->
                        <arg>--java-options</arg>
                        <arg>-Djava.rmi.server.hostname=localhost</arg>
                        <arg>--global-max-messages</arg>
                        <arg>1000</arg>
                     </args>
                  </configuration>
               </execution>
               <!-- used on TransferTest -->
               <execution>
                  <phase>test-compile</phase>
                  <id>create-transfer-1</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <!-- this makes it easier in certain envs -->
                     <allowAnonymous>true</allowAnonymous>
                     <user>admin</user>
                     <password>admin</password>
                     <noWeb>true</noWeb>
                     <instance>${basedir}/target/transfer1</instance>
                  </configuration>
               </execution>
               <execution>
                  <phase>test-compile</phase>
                  <id>create-transfer-2</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <!-- this makes it easier in certain envs -->
                     <allowAnonymous>true</allowAnonymous>
                     <user>admin</user>
                     <password>admin</password>
                     <noWeb>true</noWeb>
                     <portOffset>100</portOffset>
                     <instance>${basedir}/target/transfer2</instance>
                  </configuration>
               </execution>
               <!-- used on BrokerConnectionBridgeSecurityTest  -->
               <execution>
                  <phase>test-compile</phase>
                  <id>createBrokerConnectBridgeSecurityA</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <allowAnonymous>false</allowAnonymous>
                     <user>A</user>
                     <password>A</password>
                     <noWeb>true</noWeb>
                     <instance>${basedir}/target/brokerConnect/bridgeSecurityA</instance>
                     <configuration>${basedir}/target/classes/servers/brokerConnect/bridgeSecurityA</configuration>
                  </configuration>
               </execution>
               <execution>
                  <phase>test-compile</phase>
                  <id>createBrokerConnectBridgeSecurityB</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <allowAnonymous>false</allowAnonymous>
                     <user>B</user>
                     <password>B</password>
                     <noWeb>true</noWeb>
                     <portOffset>100</portOffset>
                     <instance>${basedir}/target/brokerConnect/bridgeSecurityB</instance>
                     <configuration>${basedir}/target/classes/servers/brokerConnect/bridgeSecurityB</configuration>
                  </configuration>
               </execution>
               <!-- used on BrokerConnectionBridgeSecurityTest  -->
               <execution>
                  <phase>test-compile</phase>
                  <id>createBrokerConnectMirrorSecurityA</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <allowAnonymous>false</allowAnonymous>
                     <user>A</user>
                     <password>A</password>
                     <noWeb>true</noWeb>
                     <instance>${basedir}/target/brokerConnect/mirrorSecurityA</instance>
                     <configuration>${basedir}/target/classes/servers/brokerConnect/mirrorSecurityA</configuration>
                  </configuration>
               </execution>
               <execution>
                  <phase>test-compile</phase>
                  <id>createBrokerConnectMirrorSecurityB</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <allowAnonymous>false</allowAnonymous>
                     <user>B</user>
                     <password>B</password>
                     <noWeb>true</noWeb>
                     <portOffset>1</portOffset>
                     <instance>${basedir}/target/brokerConnect/mirrorSecurityB</instance>
                     <configuration>${basedir}/target/classes/servers/brokerConnect/mirrorSecurityB</configuration>
                  </configuration>
               </execution>

               <!-- used on MaxQueueResourceTest  -->
               <execution>
                  <phase>test-compile</phase>
                  <id>createBrokerMaxQueueResourceTest</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <allowAnonymous>false</allowAnonymous>
                     <user>A</user>
                     <password>A</password>
                     <noWeb>true</noWeb>
                     <instance>${basedir}/target/MaxQueueResourceTest</instance>
                     <configuration>${basedir}/target/classes/servers/MaxQueueResourceTest</configuration>
                  </configuration>
               </execution>

               <!-- used on InfiniteRedeliverySmokeTest  -->
               <execution>
                  <phase>test-compile</phase>
                  <id>createBrokerInfiniteRedelivery</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <allowAnonymous>true</allowAnonymous>
                     <user>A</user>
                     <password>A</password>
                     <noWeb>true</noWeb>
                     <instance>${basedir}/target/infinite-redelivery</instance>
                     <configuration>${basedir}/target/classes/servers/infinite-redelivery</configuration>
                  </configuration>
               </execution>
               <execution>
                  <phase>test-compile</phase>
                  <id>create-brokerConnection-paged-serverA</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <role>amq</role>
                     <user>artemis</user>
                     <password>artemis</password>
                     <allowAnonymous>true</allowAnonymous>
                     <noWeb>true</noWeb>
                     <instance>${basedir}/target/brokerConnect/pagedA</instance>
                     <configuration>${basedir}/target/classes/servers/brokerConnect/pagedA</configuration>
                  </configuration>
               </execution>
               <execution>
                  <phase>test-compile</phase>
                  <id>create-brokerConnection-paged-serverB</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <role>amq</role>
                     <user>artemis</user>
                     <password>artemis</password>
                     <allowAnonymous>true</allowAnonymous>
                     <noWeb>true</noWeb>
                     <instance>${basedir}/target/brokerConnect/pagedB</instance>
                     <configuration>${basedir}/target/classes/servers/brokerConnect/pagedB</configuration>
                  </configuration>
               </execution>
               <execution>
                  <phase>test-compile</phase>
                  <id>create-bridge-transfer-A</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <role>amq</role>
                     <user>artemis</user>
                     <password>artemis</password>
                     <allowAnonymous>true</allowAnonymous>
                     <noWeb>true</noWeb>
                     <instance>${basedir}/target/bridgeTransfer/serverA</instance>
                     <configuration>${basedir}/target/classes/servers/bridgeTransfer/serverA</configuration>
                  </configuration>
               </execution>
               <execution>
                  <phase>test-compile</phase>
                  <id>create-bridge-transfer-B</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <role>amq</role>
                     <user>artemis</user>
                     <password>artemis</password>
                     <allowAnonymous>true</allowAnonymous>
                     <noWeb>true</noWeb>
                     <instance>${basedir}/target/bridgeTransfer/serverB</instance>
                     <configuration>${basedir}/target/classes/servers/bridgeTransfer/serverB</configuration>
                  </configuration>
               </execution>
               <!-- Used on TestRetention -->
               <execution>
                  <phase>test-compile</phase>
                  <id>create-replay</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <role>amq</role>
                     <user>artemis</user>
                     <password>artemis</password>
                     <allowAnonymous>true</allowAnonymous>
                     <noWeb>false</noWeb>
                     <instance>${basedir}/target/replay/replay</instance>
                     <configuration>${basedir}/target/classes/servers/replay/replay</configuration>
                     <args>
                        <!-- this is needed to run the server remotely -->
                        <arg>--java-options</arg>
                        <arg>-Djava.rmi.server.hostname=localhost</arg>
                        <arg>--journal-retention</arg>
                        <arg>1</arg>
                        <arg>--queues</arg>
                        <arg>RetentionTest</arg>
                        <arg>--name</arg>
                        <arg>replay</arg>
                     </args>
                  </configuration>
               </execution>
               <execution>
                  <phase>test-compile</phase>
                  <id>create-clustered-large-message1</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <role>amq</role>
                     <user>artemis</user>
                     <password>artemis</password>
                     <allowAnonymous>true</allowAnonymous>
                     <noWeb>true</noWeb>
                     <instance>${basedir}/target/clusteredLargeMessage/cluster1</instance>
                     <configuration>${basedir}/target/classes/servers/clusteredLargeMessage/cluster1</configuration>
                     <args>
                        <arg>--name</arg>
                        <arg>cluster1</arg>
                        <arg>--clustered</arg>
                        <arg>--staticCluster</arg>
                        <arg>tcp://localhost:61716</arg>
                        <arg>--max-hops</arg>
                        <arg>1</arg>
                        <arg>--queues</arg>
                        <arg>testQueue</arg>
                     </args>
                  </configuration>
               </execution>
               <execution>
                  <phase>test-compile</phase>
                  <id>create-cluster-large-message2</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <role>amq</role>
                     <user>artemis</user>
                     <password>artemis</password>
                     <allowAnonymous>true</allowAnonymous>
                     <noWeb>true</noWeb>
                     <instance>${basedir}/target/clusteredLargeMessage/cluster2</instance>
                     <configuration>${basedir}/target/classes/servers/clusteredLargeMessage/cluster2</configuration>
                     <args>
                        <arg>--name</arg>
                        <arg>cluster2</arg>
                        <arg>--clustered</arg>
                        <arg>--staticCluster</arg>
                        <arg>tcp://localhost:61616</arg>
                        <arg>--max-hops</arg>
                        <arg>1</arg>
                        <arg>--port-offset</arg>
                        <arg>100</arg>
                        <arg>--queues</arg>
                        <arg>testQueue</arg>
                     </args>
                  </configuration>
               </execution>
               <execution>
                  <phase>test-compile</phase>
                  <id>create-create-nettynative</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <role>amq</role>
                     <user>admin</user>
                     <password>admin</password>
                     <allowAnonymous>false</allowAnonymous>
                     <noWeb>true</noWeb>
                     <instance>${basedir}/target/nettynative</instance>
                     <configuration>${basedir}/target/classes/servers/nettynative</configuration>
                  </configuration>
               </execution>
               <execution>
                  <phase>test-compile</phase>
                  <id>create-custom-etc</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <allowAnonymous>true</allowAnonymous>
                     <noWeb>true</noWeb>
                     <instance>${basedir}/target/customETC/server</instance>
                     <args>
                        <arg>--etc</arg>
                        <arg>${basedir}/target/customETC/theCustomETC</arg>
                     </args>
                  </configuration>
               </execution>
               <execution>
                  <phase>test-compile</phase>
                  <id>upgrade-linux</id>
                  <goals>
                     <goal>upgrade</goal>
                  </goals>
                  <configuration>
                     <instance>${basedir}/target/classes/servers/linuxUpgrade</instance>
                     <!-- we don't pass the java memory argumnent on purpose,
                          as the upgrade should keep the relevant JVM arguments during the upgrade -->
                  </configuration>
               </execution>
               <execution>
                  <phase>test-compile</phase>
                  <id>upgrade-windows</id>
                  <goals>
                     <goal>upgrade</goal>
                  </goals>
                  <configuration>
                     <instance>${basedir}/target/classes/servers/windowsUpgrade</instance>
                     <args>
                        <arg>--windows</arg>
                        <!-- we don't pass the java memory argumnent on purpose,
                             as the upgrade should keep the relevant JVM arguments during the upgrade -->
                     </args>
                  </configuration>
               </execution>
               <execution>
                  <phase>test-compile</phase>
                  <id>createExpectedWindows</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <allowAnonymous>true</allowAnonymous>
                     <instance>${basedir}/target/classes/servers/windowsUpgradeExpected</instance>
                     <noWeb>false</noWeb>
                     <role>amq</role>
                     <user>y</user>
                     <password>y</password>
                     <args>
                        <arg>--windows</arg>
                        <arg>--etc</arg>
                        <arg>${basedir}/target/classes/servers/windowsUpgradeETCExpected</arg>
                        <arg>--java-memory</arg>
                        <arg>1G</arg>
                     </args>
                  </configuration>
               </execution>
               <execution>
                  <phase>test-compile</phase>
                  <id>createExpectedLinux</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <allowAnonymous>true</allowAnonymous>
                     <instance>${basedir}/target/classes/servers/linuxUpgradeExpected</instance>
                     <noWeb>false</noWeb>
                     <role>amq</role>
                     <user>y</user>
                     <password>y</password>
                     <args>
                        <arg>--etc</arg>
                        <arg>${basedir}/target/classes/servers/linuxUpgradeETCExpected</arg>
                        <arg>--java-memory</arg>
                        <arg>1G</arg>
                     </args>
                  </configuration>
               </execution>

            </executions>
            <dependencies>
               <dependency>
                  <groupId>org.apache.activemq.tests</groupId>
                  <artifactId>smoke-tests</artifactId>
                  <version>${project.version}</version>
               </dependency>
            </dependencies>
         </plugin>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
               <skipTests>${skipSmokeTests}</skipTests>
               <argLine>${sts-surefire-extra-args} ${activemq-surefire-argline} ${artemis-distribuiton-lib-dir}</argLine>
            </configuration>
         </plugin>
      </plugins>
   </build>

   <profiles>
      <profile>
         <id>jdk16on</id>
         <activation>
            <jdk>[16,)</jdk>
         </activation>
         <properties>
            <sts-surefire-extra-args>--add-opens=java.management.rmi/javax.management.remote.rmi=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.server=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED</sts-surefire-extra-args>
         </properties>
      </profile>
   </profiles>

</project>
