<!--
  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.6.3.jbossorg-013</version>
   </parent>

   <artifactId>compatibility-tests</artifactId>
   <packaging>jar</packaging>
   <name>ActiveMQ Artemis Compatibility 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>
         <groupId>org.apache.activemq</groupId>
         <artifactId>artemis-commons</artifactId>
         <version>${project.version}</version>
         <scope>test</scope>
         <type>test-jar</type>
      </dependency>
      <dependency>
         <groupId>org.apache.activemq.tests</groupId>
         <artifactId>unit-tests</artifactId>
         <version>${project.version}</version>
         <scope>test</scope>
         <type>test-jar</type>
      </dependency>
      <dependency>
         <groupId>org.apache.activemq</groupId>
         <artifactId>artemis-core-client</artifactId>
         <version>${project.version}</version>
         <scope>test</scope>
         <type>test-jar</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-jms-server</artifactId>
         <version>${project.version}</version>
      </dependency>
      <dependency>
         <groupId>org.apache.activemq</groupId>
         <artifactId>artemis-ra</artifactId>
         <version>${project.version}</version>
      </dependency>
      <dependency>
         <groupId>org.apache.activemq</groupId>
         <artifactId>artemis-cli</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-spring-integration</artifactId>
         <version>${project.version}</version>
      </dependency>
      <dependency>
         <groupId>org.apache.activemq</groupId>
         <artifactId>artemis-journal</artifactId>
         <version>${project.version}</version>
      </dependency>
      <dependency>
         <groupId>org.apache.activemq</groupId>
         <artifactId>artemis-jdbc-store</artifactId>
         <version>${project.version}</version>
      </dependency>
      <dependency>
         <groupId>org.apache.activemq</groupId>
         <artifactId>artemis-amqp-protocol</artifactId>
         <version>${project.version}</version>
      </dependency>
      <dependency>
         <groupId>org.apache.activemq</groupId>
         <artifactId>artemis-stomp-protocol</artifactId>
         <version>${project.version}</version>
      </dependency>
      <dependency>
         <groupId>org.apache.activemq</groupId>
         <artifactId>artemis-openwire-protocol</artifactId>
         <version>${project.version}</version>
         <exclusions>
            <exclusion>
               <groupId>org.apache.geronimo.specs</groupId>
               <artifactId>geronimo-jms_1.1_spec</artifactId>
            </exclusion>
         </exclusions>
      </dependency>
      <dependency>
         <groupId>org.apache.activemq</groupId>
         <artifactId>artemis-hornetq-protocol</artifactId>
         <version>${project.version}</version>
      </dependency>
      <dependency>
         <groupId>org.apache.activemq</groupId>
         <artifactId>artemis-core-client</artifactId>
         <version>${project.version}</version>
      </dependency>
      <dependency>
         <groupId>org.apache.activemq</groupId>
         <artifactId>artemis-server</artifactId>
         <version>${project.version}</version>
      </dependency>
      <dependency>
         <groupId>org.apache.activemq</groupId>
         <artifactId>artemis-native</artifactId>
         <version>${project.version}</version>
      </dependency>
      <dependency>
         <groupId>org.apache.activemq</groupId>
         <artifactId>artemis-service-extensions</artifactId>
         <version>${project.version}</version>
      </dependency>
      <dependency>
         <groupId>org.apache.activemq.tests</groupId>
         <artifactId>artemis-test-support</artifactId>
         <version>${project.version}</version>
      </dependency>
      <dependency>
         <groupId>org.apache.activemq</groupId>
         <artifactId>artemis-features</artifactId>
         <version>${project.version}</version>
         <type>pom</type>
      </dependency>
      <dependency>
         <groupId>org.apache.activemq.rest</groupId>
         <artifactId>artemis-rest</artifactId>
         <version>2.6.3.jbossorg-013</version>
      </dependency>
      <dependency>
         <groupId>org.codehaus.groovy</groupId>
         <artifactId>groovy-all</artifactId>
         <version>${groovy.version}</version>
      </dependency>
      <dependency>
         <groupId>org.apache.activemq</groupId>
         <artifactId>artemis-junit</artifactId>
         <version>${project.version}</version>
         <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>
         </exclusions>
      </dependency>
      <dependency>
         <groupId>org.apache.activemq</groupId>
         <artifactId>artemis-mqtt-protocol</artifactId>
         <version>${project.version}</version>
      </dependency>
      <dependency>
         <groupId>org.fusesource.mqtt-client</groupId>
         <artifactId>mqtt-client</artifactId>
      </dependency>
      <dependency>
         <groupId>org.apache.geronimo.specs</groupId>
         <artifactId>geronimo-json_1.0_spec</artifactId>
         <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>org.apache.geronimo.specs</groupId>
         <artifactId>geronimo-j2ee-connector_1.5_spec</artifactId>
      </dependency>
      <dependency>
         <groupId>org.apache.geronimo.specs</groupId>
         <artifactId>geronimo-jta_1.1_spec</artifactId>
      </dependency>
      <dependency>
         <groupId>org.apache.geronimo.specs</groupId>
         <artifactId>geronimo-jms_2.0_spec</artifactId>
      </dependency>
      <dependency>
         <groupId>org.apache.johnzon</groupId>
         <artifactId>johnzon-core</artifactId>
         <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>io.netty</groupId>
         <artifactId>netty-buffer</artifactId>
      </dependency>
      <dependency>
         <groupId>io.netty</groupId>
         <artifactId>netty-codec-http</artifactId>
      </dependency>
      <dependency>
         <groupId>io.netty</groupId>
         <artifactId>netty-codec-mqtt</artifactId>
         <version>${netty.version}</version>
      </dependency>
      <dependency>
         <groupId>io.netty</groupId>
         <artifactId>netty-handler</artifactId>
      </dependency>
      <dependency>
         <groupId>io.netty</groupId>
         <artifactId>netty-transport</artifactId>
      </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>org.jboss.logging</groupId>
         <artifactId>jboss-logging-annotations</artifactId>
         <scope>provided</scope>
         <optional>true</optional>
      </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.apache.qpid</groupId>
         <artifactId>qpid-jms-client</artifactId>
         <version>${qpid.jms.version}</version>
      </dependency>
      <dependency>
         <groupId>org.apache.qpid</groupId>
         <artifactId>proton-j</artifactId>
      </dependency>
      <dependency>
         <groupId>org.slf4j</groupId>
         <artifactId>slf4j-api</artifactId>
         <version>1.7.5</version>
      </dependency>
      <dependency>
         <groupId>org.jboss.marshalling</groupId>
         <artifactId>jboss-marshalling-river</artifactId>
         <version>2.0.2.Final</version>
      </dependency>
   </dependencies>

   <build>
      <testResources>
         <testResource>
            <directory>src/test/resources</directory>
            <filtering>true</filtering>
         </testResource>
      </testResources>
      <plugins>
         <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.activemq</groupId>
            <artifactId>artemis-maven-plugin</artifactId>
            <executions>
               <!-- The executions of dependency-scan will calculate dependencies for each specific version used here on this testsuite. -->
               <execution>
                  <id>snapshot-check</id>
                  <phase>compile</phase>
                  <goals>
                     <goal>dependency-scan</goal>
                  </goals>
                  <configuration>
                     <libListWithDeps>
                        <arg>org.apache.activemq:artemis-jms-server:${project.version}</arg>
                        <arg>org.apache.activemq:artemis-cli:${project.version}</arg>
                        <arg>org.apache.activemq:artemis-jms-client:${project.version}</arg>
                        <arg>org.apache.activemq:artemis-hornetq-protocol:${project.version}</arg>
                        <arg>org.apache.activemq:artemis-amqp-protocol:${project.version}</arg>
                        <arg>org.apache.activemq:artemis-hornetq-protocol:${project.version}</arg>
                        <arg>org.codehaus.groovy:groovy-all:${groovy.version}</arg>
                    </libListWithDeps>
                     <libList>
                        <arg>org.apache.activemq.tests:compatibility-tests:${project.version}</arg>
                     </libList>
                     <variableName>ARTEMIS-SNAPSHOT</variableName>
                  </configuration>
               </execution>
               <execution>
                  <phase>compile</phase>
                  <goals>
                     <goal>dependency-scan</goal>
                  </goals>
                  <id>240-check</id>
                  <configuration>
                     <libListWithDeps>
                        <arg>org.apache.activemq:artemis-jms-server:2.4.0</arg>
                        <arg>org.apache.activemq:artemis-jms-client:2.4.0</arg>
                        <arg>org.apache.activemq:artemis-cli:2.4.0</arg>
                        <arg>org.apache.activemq:artemis-hornetq-protocol:2.4.0</arg>
                        <arg>org.apache.activemq:artemis-amqp-protocol:2.4.0</arg>
                        <arg>org.apache.activemq:artemis-hornetq-protocol:2.4.0</arg>
                        <arg>org.codehaus.groovy:groovy-all:${groovy.version}</arg>
                     </libListWithDeps>
                     <libList>
                        <arg>org.apache.activemq.tests:compatibility-tests:${project.version}</arg>
                     </libList>
                     <variableName>ARTEMIS-240</variableName>
                  </configuration>
               </execution>
               <execution>
                  <phase>compile</phase>
                  <goals>
                     <goal>dependency-scan</goal>
                  </goals>
                  <id>210-check</id>
                  <configuration>
                     <libListWithDeps>
                        <arg>org.apache.activemq:artemis-jms-server:2.1.0</arg>
                        <arg>org.apache.activemq:artemis-jms-client:2.1.0</arg>
                        <arg>org.apache.activemq:artemis-cli:2.1.0</arg>
                        <arg>org.apache.activemq:artemis-hornetq-protocol:2.1.0</arg>
                        <arg>org.apache.activemq:artemis-amqp-protocol:2.1.0</arg>
                        <arg>org.apache.activemq:artemis-hornetq-protocol:2.1.0</arg>
                        <arg>org.codehaus.groovy:groovy-all:${groovy.version}</arg>
                     </libListWithDeps>
                     <libList>
                        <arg>org.apache.activemq.tests:compatibility-tests:${project.version}</arg>
                     </libList>
                     <variableName>ARTEMIS-210</variableName>
                  </configuration>
               </execution>
               <execution>
                  <phase>compile</phase>
                  <goals>
                     <goal>dependency-scan</goal>
                  </goals>
                  <id>200-check</id>
                  <configuration>
                     <libListWithDeps>
                        <arg>org.apache.activemq:artemis-jms-server:2.0.0</arg>
                        <arg>org.apache.activemq:artemis-jms-client:2.0.0</arg>
                        <arg>org.apache.activemq:artemis-cli:2.0.0</arg>
                        <arg>org.apache.activemq:artemis-hornetq-protocol:2.0.0</arg>
                        <arg>org.apache.activemq:artemis-amqp-protocol:2.0.0</arg>
                        <arg>org.apache.activemq:artemis-hornetq-protocol:2.0.0</arg>
                        <arg>org.codehaus.groovy:groovy-all:${groovy.version}</arg>
                     </libListWithDeps>
                     <libList>
                        <arg>org.apache.activemq.tests:compatibility-tests:${project.version}</arg>
                     </libList>
                     <variableName>ARTEMIS-200</variableName>
                  </configuration>
               </execution>
               <execution>
                  <id>140-check</id>
                  <phase>compile</phase>
                  <goals>
                     <goal>dependency-scan</goal>
                  </goals>
                  <configuration>
                     <libListWithDeps>
                        <arg>org.apache.activemq:artemis-jms-server:1.4.0</arg>
                        <arg>org.apache.activemq:artemis-jms-client:1.4.0</arg>
                        <arg>org.apache.activemq:artemis-cli:1.4.0</arg>
                        <arg>org.apache.activemq:artemis-hornetq-protocol:1.4.0</arg>
                        <arg>org.apache.activemq:artemis-amqp-protocol:1.4.0</arg>
                        <arg>org.apache.activemq:artemis-hornetq-protocol:1.4.0</arg>
                        <arg>org.codehaus.groovy:groovy-all:${groovy.version}</arg>
                     </libListWithDeps>
                     <libList>
                        <arg>org.apache.activemq.tests:compatibility-tests:${project.version}</arg>
                     </libList>
                     <variableName>ARTEMIS-140</variableName>
                  </configuration>
               </execution>
               <execution>
                  <id>155-check</id>
                  <phase>compile</phase>
                  <goals>
                     <goal>dependency-scan</goal>
                  </goals>
                  <configuration>
                     <libListWithDeps>
                        <arg>org.apache.activemq:artemis-jms-server:1.5.5</arg>
                        <arg>org.apache.activemq:artemis-jms-client:1.5.5</arg>
                        <arg>org.apache.activemq:artemis-cli:1.5.5</arg>
                        <arg>org.apache.activemq:artemis-hornetq-protocol:1.5.5</arg>
                        <arg>org.apache.activemq:artemis-amqp-protocol:1.5.5</arg>
                        <arg>org.apache.activemq:artemis-hornetq-protocol:1.5.5</arg>
                        <arg>org.codehaus.groovy:groovy-all:${groovy.version}</arg>
                        <arg>org.jboss.marshalling:jboss-marshalling-river:2.0.2.Final</arg>
                     </libListWithDeps>
                     <libList>
                        <arg>org.apache.activemq.tests:compatibility-tests:${project.version}</arg>
                     </libList>
                     <variableName>ARTEMIS-155</variableName>
                  </configuration>
               </execution>
               <execution>
                  <id>hornetq-235</id>
                  <phase>compile</phase>
                  <goals>
                     <goal>dependency-scan</goal>
                  </goals>
                  <configuration>
                     <optional>true</optional>
                     <extraRepositories>
                        <!-- some of the dependencies are not on maven central,
                             and the artemis maven plugin has the capability of using this extra repo -->
                        <arg>https://repository.jboss.org/nexus/content/groups/public</arg>
                     </extraRepositories>
                     <libListWithDeps>
                        <arg>org.hornetq:hornetq-jms-server:2.3.5.Final</arg>
                        <arg>org.codehaus.groovy:groovy-all:${groovy.version}</arg>
                     </libListWithDeps>
                     <libList>
                        <arg>org.apache.activemq.tests:compatibility-tests:${project.version}</arg>
                     </libList>
                     <variableName>HORNETQ-235</variableName>
                  </configuration>
               </execution>
               <execution>
                  <id>hornetq-247</id>
                  <phase>compile</phase>
                  <goals>
                     <goal>dependency-scan</goal>
                  </goals>
                  <configuration>
                     <optional>true</optional>
                     <extraRepositories>
                        <!-- some of the dependencies are not on maven central,
                             and the artemis maven plugin has the capability of using this extra repo -->
                        <arg>https://repository.jboss.org/nexus/content/groups/public</arg>
                     </extraRepositories>
                     <libListWithDeps>
                        <arg>org.hornetq:hornetq-jms-server:2.4.7.Final</arg>
                        <arg>org.codehaus.groovy:groovy-all:${groovy.version}</arg>
                     </libListWithDeps>
                     <libList>
                        <arg>org.apache.activemq.tests:compatibility-tests:${project.version}</arg>
                     </libList>
                     <variableName>HORNETQ-247</variableName>
                  </configuration>
               </execution>
            </executions>
         </plugin>

         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
               <systemProperties>
                  <property>
                     <name>ARTEMIS-SNAPSHOT</name>
                     <value>${ARTEMIS-SNAPSHOT}</value>
                  </property>
                  <property>
                     <name>ARTEMIS-200</name>
                     <value>${ARTEMIS-200}</value>
                  </property>
                  <property>
                     <name>ARTEMIS-210</name>
                     <value>${ARTEMIS-210}</value>
                  </property>
                  <property>
                     <name>ARTEMIS-240</name>
                     <value>${ARTEMIS-240}</value>
                  </property>
                  <property>
                     <name>ARTEMIS-155</name>
                     <value>${ARTEMIS-155}</value>
                  </property>
                  <property>
                     <name>ARTEMIS-140</name>
                     <value>${ARTEMIS-140}</value>
                  </property>
                  <property>
                     <name>HORNETQ-235</name>
                     <value>${HORNETQ-235}</value>
                  </property>
                  <property>
                     <name>HORNETQ-247</name>
                     <value>${HORNETQ-247}</value>
                  </property>
               </systemProperties>
               <skipTests>${skipCompatibilityTests}</skipTests>
               <argLine>-Djgroups.bind_addr=::1 ${activemq-surefire-argline}</argLine>
            </configuration>
         </plugin>
         <plugin>
            <groupId>org.apache.servicemix.tooling</groupId>
            <artifactId>depends-maven-plugin</artifactId>
            <version>1.2</version>
            <executions>
               <execution>
                  <id>generate-depends-file</id>
                  <goals>
                     <goal>generate-depends-file</goal>
                  </goals>
               </execution>
            </executions>
         </plugin>
      </plugins>
   </build>

   <distributionManagement>
      <repository>
         <id>jboss-releases-repository</id>
         <name>JBoss Releases Repository</name>
         <url>https://repository.jboss.org/nexus/service/local/staging/deploy/maven2/</url>
      </repository>
      <snapshotRepository>
         <id>jboss-snapshots-repository</id>
         <name>JBoss Snapshots Repository</name>
         <url>https://repository.jboss.org/nexus/content/repositories/snapshots/</url>
      </snapshotRepository>
   </distributionManagement>


</project>
