<!-- 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.29.0-SNAPSHOT</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> <execution> <id>copy-reference-for-upgrade-backup-checks</id> <phase>process-test-resources</phase> <goals> <goal>copy-resources</goal> </goals> <configuration> <outputDirectory>${project.build.directory}/reference-for-backup-check</outputDirectory> <resources> <resource> <directory>src/main/filtered-resources</directory> <filtering>true</filtering> </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> <profile> <!-- Quick subset of tests, used on PR checks --> <id>fast-tests</id> <build> <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <includes combine.children="override"> <include>**/smoke/upgradeTest/*Test.java</include> </includes> </configuration> </plugin> </plugins> </pluginManagement> </build> </profile> </profiles> </project>