<!--
  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.18.0-SNAPSHOT</version>
   </parent>

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

   <properties>
      <activemq.basedir>${project.basedir}/../../</activemq.basedir>
   </properties>

   <dependencies>
      <dependency>
         <groupId>org.apache.activemq</groupId>
         <artifactId>artemis-server</artifactId>
         <version>${project.version}</version>
         <scope>test</scope>
         <type>test-jar</type>
      </dependency>
      <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>
         <exclusions>
            <exclusion>
               <groupId>org.apache.activemq</groupId>
               <artifactId>artemis-jms-client-all</artifactId>
            </exclusion>
         </exclusions>
      </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-commons</artifactId>
         <version>${project.version}</version>
         <type>test-jar</type>
      </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.jboss.logging</groupId>
         <artifactId>jboss-logging-processor</artifactId>
         <scope>provided</scope>
         <optional>true</optional>
      </dependency>
      <dependency>
         <groupId>com.google.errorprone</groupId>
         <artifactId>error_prone_core</artifactId>
      </dependency>
      <dependency>
         <groupId>org.apache.qpid</groupId>
         <artifactId>qpid-jms-client</artifactId>
         <version>${qpid.jms.version}</version>
      </dependency>
      <dependency>
         <groupId>org.jboss.logging</groupId>
         <artifactId>jboss-logging</artifactId>
      </dependency>
      <dependency>
         <groupId>org.jboss.logmanager</groupId>
         <artifactId>jboss-logmanager</artifactId>
      </dependency>
      <dependency>
         <groupId>org.wildfly.common</groupId>
         <artifactId>wildfly-common</artifactId>
      </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.14.0</version>
         <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>org.testcontainers</groupId>
         <artifactId>testcontainers</artifactId>
         <version>1.15.3</version>
         <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>org.testcontainers</groupId>
         <artifactId>selenium</artifactId>
         <version>1.15.3</version>
         <scope>test</scope>
      </dependency>
      <!-- this dependency is needed for CFUtil and other tools from integration-tests -->
      <dependency>
         <groupId>org.apache.activemq.tests</groupId>
         <artifactId>integration-tests</artifactId>
         <version>${project.version}</version>
         <scope>test</scope>
         <type>test-jar</type>
      </dependency>
   </dependencies>

   <build>
      <plugins>
         <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>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>
               <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>
               <!-- END JmxReplicatedMultipleFailbackTest -->
               <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>
               <!-- 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-mmfactory</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <!-- this makes it easier in certain envs -->
                     <configuration>${basedir}/target/classes/servers/mmfactory</configuration>
                     <allowAnonymous>true</allowAnonymous>
                     <user>admin</user>
                     <password>admin</password>
                     <instance>${basedir}/target/mmfactory</instance>
                     <noWeb>false</noWeb>
                     <args>
                        <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-dualMirror-serverA</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <role>amq</role>
                     <user>artemis</user>
                     <password>artemis</password>
                     <allowAnonymous>false</allowAnonymous>
                     <noWeb>false</noWeb>
                     <instance>${basedir}/target/brokerConnect/serverA</instance>
                     <configuration>${basedir}/target/classes/servers/brokerConnect/serverA</configuration>
                  </configuration>
               </execution>
               <execution>
                  <phase>test-compile</phase>
                  <id>create-dualMirror-serverB</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <role>amq</role>
                     <user>artemis</user>
                     <password>artemis</password>
                     <allowAnonymous>false</allowAnonymous>
                     <noWeb>false</noWeb>
                     <instance>${basedir}/target/brokerConnect/serverB</instance>
                     <configuration>${basedir}/target/classes/servers/brokerConnect/serverB</configuration>
                  </configuration>
               </execution>
               <execution>
                  <phase>test-compile</phase>
                  <id>create-qdr</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <role>amq</role>
                     <user>artemis</user>
                     <password>artemis</password>
                     <allowAnonymous>false</allowAnonymous>
                     <noWeb>false</noWeb>
                     <instance>${basedir}/target/brokerConnect/qdr</instance>
                     <configuration>${basedir}/target/classes/servers/brokerConnect/qdr</configuration>
                  </configuration>
               </execution>
               <execution>
                  <phase>test-compile</phase>
                  <id>create-bc-replica-main-A</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <instance>${basedir}/target/brokerConnect/replicaMainServerA</instance>
                     <configuration>${basedir}/target/classes/servers/brokerConnect/replicaMainServerA</configuration>
                  </configuration>
               </execution>
               <execution>
                  <phase>test-compile</phase>
                  <id>create-bc-replica-backup-A</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <instance>${basedir}/target/brokerConnect/replicaBackupServerA</instance>
                     <configuration>${basedir}/target/classes/servers/brokerConnect/replicaBackupServerA</configuration>
                  </configuration>
               </execution>
               <execution>
                  <phase>test-compile</phase>
                  <id>create-bc-replica-main-B</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <instance>${basedir}/target/brokerConnect/replicaMainServerB</instance>
                     <configuration>${basedir}/target/classes/servers/brokerConnect/replicaMainServerB</configuration>
                  </configuration>
               </execution>
               <execution>
                  <phase>test-compile</phase>
                  <id>create-bc-replica-backup-B</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <instance>${basedir}/target/brokerConnect/replicaBackupServerB</instance>
                     <configuration>${basedir}/target/classes/servers/brokerConnect/replicaBackupServerB</configuration>
                  </configuration>
               </execution>
               <execution>
                  <phase>test-compile</phase>
                  <id>create-bc-dual-root</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <instance>${basedir}/target/brokerConnect/splitMirror/serverRoot</instance>
                     <configuration>${basedir}/target/classes/servers/brokerConnect/splitMirror/serverRoot</configuration>
                  </configuration>
               </execution>
               <execution>
                  <phase>test-compile</phase>
                  <id>create-bc-dual-A</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <instance>${basedir}/target/brokerConnect/splitMirror/serverA</instance>
                     <configuration>${basedir}/target/classes/servers/brokerConnect/splitMirror/serverA</configuration>
                  </configuration>
               </execution>
               <execution>
                  <phase>test-compile</phase>
                  <id>create-bc-dual-B</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <instance>${basedir}/target/brokerConnect/splitMirror/serverB</instance>
                     <configuration>${basedir}/target/classes/servers/brokerConnect/splitMirror/serverB</configuration>
                  </configuration>
               </execution>
               <execution>
                  <phase>test-compile</phase>
                  <id>create-bc-chained-root</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <instance>${basedir}/target/brokerConnect/chainedMirror/serverRoot</instance>
                     <configuration>${basedir}/target/classes/servers/brokerConnect/chainedMirror/serverRoot</configuration>
                  </configuration>
               </execution>
               <execution>
                  <phase>test-compile</phase>
                  <id>create-bc-chained-A</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <instance>${basedir}/target/brokerConnect/chainedMirror/serverA</instance>
                     <configuration>${basedir}/target/classes/servers/brokerConnect/chainedMirror/serverA</configuration>
                  </configuration>
               </execution>
               <execution>
                  <phase>test-compile</phase>
                  <id>create-bc-chained-B</id>
                  <goals>
                     <goal>create</goal>
                  </goals>
                  <configuration>
                     <instance>${basedir}/target/brokerConnect/chainedMirror/serverB</instance>
                     <configuration>${basedir}/target/classes/servers/brokerConnect/chainedMirror/serverB</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>
            </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-jar-plugin</artifactId>
            <executions>
               <execution>
                  <phase>test</phase>
                  <goals>
                     <goal>test-jar</goal>
                  </goals>
               </execution>
            </executions>
         </plugin>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
               <skipTests>${skipSmokeTests}</skipTests>
               <argLine>${activemq-surefire-argline}</argLine>
            </configuration>
         </plugin>
      </plugins>
   </build>

</project>
