<!--
  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>1.5.5.jbossorg-011</version>
   </parent>

   <artifactId>integration-tests</artifactId>
   <packaging>jar</packaging>
   <name>ActiveMQ Artemis Integration Tests</name>

   <properties>
      <activemq.basedir>${project.basedir}/../..</activemq.basedir>
      <karaf.version>4.0.6</karaf.version>
     <pax.exam.version>4.9.1</pax.exam.version>
      <vertx.version>2.1.6</vertx.version>
      <vertx.testtools.version>2.0.3-final</vertx.testtools.version>
   </properties>

   <repositories>
       <!-- for the paho dependency -->
       <repository>
           <id>eclipse.m2</id>
           <url>https://repo.eclipse.org/content/repositories/paho-releases/</url>
           <releases><enabled>true</enabled></releases>
           <snapshots><enabled>false</enabled></snapshots>
       </repository>
   </repositories>


   <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.geronimo.specs</groupId>
         <artifactId>geronimo-json_1.0_spec</artifactId>
         <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>org.apache.johnzon</groupId>
         <artifactId>johnzon-core</artifactId>
         <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>org.apache.activemq</groupId>
         <artifactId>artemis-jms-server</artifactId>
         <version>${project.version}</version>
         <exclusions>
            <exclusion>
               <!-- exclude JCA 1.5 spec here so geronimo dependency will be used -->
               <groupId>org.jboss.spec.javax.resource</groupId>
               <artifactId>jboss-connector-api_1.5_spec</artifactId>
            </exclusion>
         </exclusions>
      </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-vertx-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>
      </dependency>
      <dependency>
         <groupId>org.apache.activemq</groupId>
         <artifactId>artemis-hornetq-protocol</artifactId>
         <version>${project.version}</version>
      </dependency>

      <!-- MQTT Deps -->
      <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.eclipse.paho</groupId>
          <artifactId>mqtt-client</artifactId>
      </dependency>
      <dependency>
         <groupId>io.netty</groupId>
         <artifactId>netty-all</artifactId>
      </dependency>
      <!-- END MQTT Deps -->

      <dependency>
         <groupId>org.apache.activemq</groupId>
         <artifactId>artemis-aerogear-integration</artifactId>
         <version>${project.version}</version>
      </dependency>
      <dependency>
         <groupId>org.apache.geronimo.specs</groupId>
         <artifactId>geronimo-j2ee-connector_1.5_spec</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</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.mortbay.jetty</groupId>
         <artifactId>jetty</artifactId>
         <version>7.0.0.pre5</version>
      </dependency>
      <dependency>
         <groupId>org.jboss.javaee</groupId>
         <artifactId>jboss-javaee</artifactId>
         <version>5.0.0.GA</version>
      </dependency>

      <!-- DB Test Deps -->
      <dependency>
         <groupId>org.apache.derby</groupId>
         <artifactId>derby</artifactId>
         <scope>test</scope>
      </dependency>

      <dependency>
         <groupId>org.postgresql</groupId>
         <artifactId>postgresql</artifactId>
         <scope>test</scope>
      </dependency>

      <!--Vertx provided dependencies-->
      <dependency>
         <groupId>io.vertx</groupId>
         <artifactId>vertx-core</artifactId>
         <version>${vertx.version}</version>
         <scope>provided</scope>
         <exclusions>
            <exclusion>
               <groupId>log4j</groupId>
               <artifactId>log4j</artifactId>
            </exclusion>
         </exclusions>
      </dependency>
      <dependency>
         <groupId>io.vertx</groupId>
         <artifactId>vertx-platform</artifactId>
         <version>${vertx.version}</version>
         <scope>provided</scope>
      </dependency>
      <dependency>
         <groupId>io.vertx</groupId>
         <artifactId>vertx-hazelcast</artifactId>
         <version>${vertx.version}</version>
         <scope>provided</scope>
      </dependency>
      <dependency>
         <groupId>io.vertx</groupId>
         <artifactId>testtools</artifactId>
         <version>${vertx.testtools.version}</version>
         <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>org.apache.activemq</groupId>
         <artifactId>activemq-client</artifactId>
         <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>org.apache.geronimo.specs</groupId>
         <artifactId>geronimo-j2ee-management_1.1_spec</artifactId>
         <version>1.0.1</version>
         <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>org.apache.directory.server</groupId>
         <artifactId>apacheds-server-integ</artifactId>
         <version>${directory-version}</version>
         <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>org.apache.directory.server</groupId>
         <artifactId>apacheds-core-integ</artifactId>
         <version>${directory-version}</version>
         <scope>test</scope>
         <exclusions>
            <exclusion>
               <groupId>bouncycastle</groupId>
               <artifactId>bcprov-jdk15</artifactId>
            </exclusion>
         </exclusions>
      </dependency>

     <!-- karaf test -->

      <dependency>
         <groupId>org.ops4j.pax.exam</groupId>
         <artifactId>pax-exam-container-karaf</artifactId>
         <version>${pax.exam.version}</version>
         <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>org.ops4j.pax.exam</groupId>
         <artifactId>pax-exam-junit4</artifactId>
         <version>${pax.exam.version}</version>
         <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>org.apache.karaf</groupId>
         <artifactId>apache-karaf</artifactId>
         <version>${karaf.version}</version>
         <type>tar.gz</type>
      </dependency>
      <dependency>
         <groupId>org.apache.karaf.shell</groupId>
         <artifactId>org.apache.karaf.shell.console</artifactId>
         <version>${karaf.version}</version>
      </dependency>
      <dependency>
         <groupId>org.apache.activemq.tests</groupId>
         <artifactId>artemis-test-support</artifactId>
         <version>${project.version}</version>
      </dependency>

      <!-- rest test -->
      <dependency>
         <groupId>org.eclipse.jetty.aggregate</groupId>
         <artifactId>jetty-all</artifactId>
         <version>${jetty.version}</version>
         <type>jar</type>
         <classifier>uber</classifier>
      </dependency>
      <dependency>
         <groupId>org.jboss.resteasy</groupId>
         <artifactId>resteasy-jaxrs</artifactId>
      </dependency>
      <dependency>
         <groupId>org.apache.activemq.rest</groupId>
         <artifactId>artemis-rest</artifactId>
         <version>1.5.5.jbossorg-011</version>
         <scope>compile</scope>
      </dependency>

      <dependency>
         <groupId>org.codehaus.woodstox</groupId>
         <artifactId>woodstox-core-asl</artifactId>
         <version>4.4.0</version>
         <scope>test</scope>
         <exclusions>
            <exclusion>
               <groupId>javax.xml.stream</groupId>
               <artifactId>stax-api</artifactId>
            </exclusion>
         </exclusions>
      </dependency>
   </dependencies>

   <build>
      <testResources>
         <testResource>
            <directory>src/test/resources</directory>
            <filtering>true</filtering>
            <excludes>
               <exclude>**/rest/*.xml</exclude>
            </excludes>
         </testResource>
      </testResources>
      <plugins>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-assembly-plugin</artifactId>
               <executions>
                  <execution>
                     <phase>process-test-classes</phase>
                     <id>bwlist-rest-test-war</id>
                     <goals>
                        <goal>single</goal>
                     </goals>
                     <configuration>
                        <descriptor>src/test/resources/rest/bwlist-rest-test-asm.xml</descriptor>
                        <finalName>rest-test-bwlist</finalName>
                        <appendAssemblyId>false</appendAssemblyId>
                        <outputDirectory>target/test-classes/rest/</outputDirectory>
                     </configuration>
                  </execution>
                  <execution>
                     <phase>process-test-classes</phase>
                     <id>rest-test-war</id>
                     <goals>
                        <goal>single</goal>
                     </goals>
                     <configuration>
                        <descriptor>src/test/resources/rest/rest-test-asm.xml</descriptor>
                           <finalName>rest-test</finalName>
                           <appendAssemblyId>false</appendAssemblyId>
                           <outputDirectory>target/test-classes/rest/</outputDirectory>
                     </configuration>
                  </execution>
               </executions>
            </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>${skipIntegrationTests}</skipTests>
               <excludes>
                  <exclude>**/ReplicatedJMSFailoverTest.java</exclude>
                  <exclude>org.apache.activemq/tests/util/*.java</exclude>
               </excludes>
               <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>

</project>
