<?xml version="1.0" encoding="UTF-8"?>
<!--
  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>
   <groupId>org.apache.activemq</groupId>
   <artifactId>artemis-pom</artifactId>
   <packaging>pom</packaging>
   <version>1.1.0.wildfly-012</version>

   <parent>
      <groupId>org.jboss.rh-messaging</groupId>
      <artifactId>rh-messaging-pom</artifactId>
      <version>1.0.1</version>
   </parent>

   <modules>
      <module>artemis-protocols</module>
      <module>artemis-dto</module>
      <module>artemis-boot</module>
      <module>artemis-web</module>
      <module>artemis-website</module>
      <module>artemis-cli</module>
      <module>artemis-commons</module>
      <module>artemis-selector</module>
      <module>artemis-core-client</module>
      <module>artemis-server</module>
      <module>artemis-jms-client</module>
      <module>artemis-jms-server</module>
      <module>artemis-native</module>
      <module>artemis-journal</module>
      <module>artemis-ra</module>
      <module>artemis-rest</module>
      <module>artemis-service-extensions</module>
      <module>artemis-maven-plugin</module>
      <module>integration/activemq-spring-integration</module>
      <module>integration/activemq-aerogear-integration</module>
      <module>integration/activemq-vertx-integration</module>
      <module>artemis-distribution</module>
      <module>tests</module>
   </modules>

   <name>ActiveMQ Artemis Parent</name>
   <url>http://apache.org/activemq</url>

   <prerequisites>
      <maven>3.0.0</maven>
   </prerequisites>

   <properties>
       <!-- base url for site deployment.  See distribution management for full url.  Override this in settings.xml for staging -->
      <staging.siteURL>scp://people.apache.org/x1/www/activemq.apache.org</staging.siteURL>
      <netty.version>4.0.30.Final</netty.version>
      <jetty.version>9.2.11.v20150529</jetty.version>
      <maven.assembly.plugin.version>2.4</maven.assembly.plugin.version>
      <activemq.version.versionName>${project.version}</activemq.version.versionName>
      <activemq.version.majorVersion>1</activemq.version.majorVersion>
      <activemq.version.minorVersion>0</activemq.version.minorVersion>
      <activemq.version.microVersion>0</activemq.version.microVersion>
      <activemq.version.incrementingVersion>126,125,124,123,122</activemq.version.incrementingVersion>
      <activemq.version.versionTag>${project.version}</activemq.version.versionTag>
      <ActiveMQ-Version>
         ${project.version}(${activemq.version.incrementingVersion})
      </ActiveMQ-Version>
      <resteasy.version>3.0.9.Final</resteasy.version>
      <proton.version>0.10</proton.version>
      <fuse.mqtt.client.version>1.10</fuse.mqtt.client.version>
      <skipUnitTests>true</skipUnitTests>
      <skipJmsTests>true</skipJmsTests>
      <skipExtraTests>true</skipExtraTests>
      <skipIntegrationTests>true</skipIntegrationTests>
      <skipJoramTests>true</skipJoramTests>
      <skipTimingTests>true</skipTimingTests>
      <skipStressTests>true</skipStressTests>
      <skipSoakTests>true</skipSoakTests>
      <skipPerformanceTests>true</skipPerformanceTests>
      <skipConcurrentTests>true</skipConcurrentTests>
      <skipRestTests>true</skipRestTests>
      <skipActiveMQ5Tests>true</skipActiveMQ5Tests>
      <skipExtraTests>true</skipExtraTests>

      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

     <!--

       note for idea users:
       Idea picks up surefire argline by default:
       if You don't want it, you can add -Didea.maven.surefire.disable.argLine=true to idea.vmoptions files,
       see https://intellij-support.jetbrains.com/entries/23395793

       Also see: http://youtrack.jetbrains.com/issue/IDEA-125696


       For profiling add this line and use jmc (Java Mission Control) to evaluate the results:
           -XX:+UnlockCommercialFeatures -XX:+FlightRecorder -XX:StartFlightRecording=delay=30s,duration=120s,filename=/tmp/myrecording.jfr

      -->

      <activemq-surefire-argline>-Djava.util.logging.manager=org.jboss.logmanager.LogManager
         -Dlogging.configuration=file:${activemq.basedir}/tests/config/logging.properties
         -Djava.library.path=${activemq.basedir}/artemis-native/bin/ -Djgroups.bind_addr=localhost -Dorg.apache.activemq.artemis.api.core.UDPBroadcastEndpointFactory.localBindAddress=localhost
         -Djava.net.preferIPv4Stack=true
      </activemq-surefire-argline>
      <activemq.basedir>${project.basedir}</activemq.basedir>
      <skipLicenseCheck>true</skipLicenseCheck>
      <skipStyleCheck>true</skipStyleCheck>
      <geronimo.jms.2.spec.version>1.0-alpha-2</geronimo.jms.2.spec.version>

      <javac-compiler-id>javac-with-errorprone</javac-compiler-id>
   </properties>

   <scm>
      <connection>scm:git:http://git-wip-us.apache.org/repos/asf/activemq-artemis.git</connection>
      <developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/activemq-artemis.git</developerConnection>
      <url>https://fisheye6.atlassian.com/browse/~br=master/activemq-artemis-git</url>
      <tag>1.1.0</tag>
   </scm>

   <issueManagement>
      <system>JIRA</system>
      <url>https://issues.apache.org/jira/browse/ARTEMIS</url>
   </issueManagement>
   <developers>
       <developer>
           <name>The Apache ActiveMQ Team</name>
           <email>dev@activemq.apache.org</email>
           <url>http://activemq.apache.org</url>
           <organization>Apache Software Foundation</organization>
           <organizationUrl>http://apache.org/</organizationUrl>
       </developer>
   </developers>
    <mailingLists>
        <mailingList>
            <name>User List</name>
            <subscribe>users-subscribe@activemq.apache.org</subscribe>
            <unsubscribe>users-unsubscribe@activemq.apache.org</unsubscribe>
            <post>users@activemq.apache.org</post>
        </mailingList>
        <mailingList>
            <name>Development List</name>
            <subscribe>dev-subscribe@activemq.apache.org</subscribe>
            <unsubscribe>dev-unsubscribe@activemq.apache.org</unsubscribe>
            <post>dev@activemq.apache.org</post>
        </mailingList>
    </mailingLists>

   <dependencyManagement>
      <dependencies>
         <!-- ## Test Dependenices ## Note: Junit is required in certain module tests.  We should control versions from here. -->
         <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
            <!-- License: CPL 1.0 -->
            <!-- There are newer versions of the JUnit but they break our tests -->
         </dependency>

         <!-- ### For MQTT Tests && Examples -->
         <dependency>
            <groupId>org.fusesource.mqtt-client</groupId>
            <artifactId>mqtt-client</artifactId>
            <version>${fuse.mqtt.client.version}</version>
            <!-- Apache v2.0 License -->
         </dependency>
         <dependency>
            <groupId>org.eclipse.paho</groupId>
            <artifactId>mqtt-client</artifactId>
            <version>0.4.0</version>
            <scope>test</scope>
            <!-- Eclipse Public License - v 1.0 -->
         </dependency>

         <!-- ## End Test Dependencies ## -->

         <!-- ### Build Time Dependencies ### -->
         <!-- This is a build dependency of this project, but is not needed at compile or runtime by other
         projects that depend on this project. This should be in the compiler plugin but can't because of a bug,
         see https://issues.apache.org/jira/browse/MCOMPILER-203-->
         <dependency>
            <groupId>org.jboss.logging</groupId>
            <artifactId>jboss-logging-processor</artifactId>
            <version>2.0.0.Alpha2</version>
            <optional>true</optional>
            <!-- License: LGPL-->
         </dependency>
         <dependency>
            <groupId>org.jboss.logging</groupId>
            <artifactId>jboss-logging-annotations</artifactId>
            <version>2.0.0.Alpha1</version>
            <scope>provided</scope>
            <optional>true</optional>
            <!-- License: Apache 2.0-->
         </dependency>
         <!--needed to compile the logging jar-->
         <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.16</version>
            <scope>compile</scope>
            <!-- License: Apache 2.0 -->
         </dependency>
         <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>3.1.4.RELEASE</version>
            <scope>compile</scope>
            <!-- License: Apache 2.0 -->
         </dependency>
         <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>3.1.4.RELEASE</version>
            <scope>compile</scope>
            <!-- License: Apache 2.0 -->
         </dependency>
         <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>3.1.4.RELEASE</version>
            <scope>compile</scope>
            <!-- License: Apache 2.0 -->
         </dependency>
         <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jms</artifactId>
            <version>3.1.4.RELEASE</version>
            <scope>compile</scope>
            <!-- License: Apache 2.0 -->
         </dependency>
         <!-- ### End Build Time Dependencies ### -->

         <!-- ### Run Time Dependencies: MUST NOT INCLUDE CAT X LICENSES ###-->
         <dependency>
            <groupId>org.jboss.logging</groupId>
            <artifactId>jboss-logging</artifactId>
            <version>3.1.4.GA</version>
            <!-- License: Apache 2.0 -->
         </dependency>
         <dependency>
            <groupId>org.jboss.logmanager</groupId>
            <artifactId>jboss-logmanager</artifactId>
            <version>1.5.3.Final</version>
            <!-- License: Apache 2.0 -->
         </dependency>
         <dependency>
            <groupId>net.java.dev.javacc</groupId>
            <artifactId>javacc</artifactId>
            <version>4.0</version>
            <!-- License: BSD -->
         </dependency>
         <dependency>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-jms_2.0_spec</artifactId>
            <version>${geronimo.jms.2.spec.version}</version>
            <!-- License: Apache 2.0 -->
         </dependency>

         <!-- Required for: JMS Injection -->
         <dependency>
            <groupId>javax.enterprise</groupId>
            <artifactId>cdi-api</artifactId>
            <version>1.0-SP4</version>
            <!-- License: Apache 2.0 -->
         </dependency>
         <dependency>
            <groupId>javax.inject</groupId>
            <artifactId>javax.inject</artifactId>
            <version>1</version>
            <!-- License: Apache 2.0 -->
         </dependency>
         <!-- End JMS Injection -->

         <!-- ## Examples Dependencies ## -->
         <dependency>
             <groupId>org.apache.geronimo.specs</groupId>
             <artifactId>geronimo-ejb_3.0_spec</artifactId>
             <version>1.0.1</version>
             <!-- License: Apache 2.0 -->
	      </dependency>
         <dependency>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-jta_1.1_spec</artifactId>
            <version>1.1.1</version>
            <!-- License: Apache 2.0 -->
         </dependency>
         <!-- ## End Examples Dependencies ## -->

         <!--needed to compile the bootstrap jar-->
         <dependency>
            <groupId>org.jgroups</groupId>
            <artifactId>jgroups</artifactId>
            <version>3.6.0.Final</version>
            <!-- License: Apache 2.0 -->
         </dependency>
         <dependency>
            <groupId>io.airlift</groupId>
            <artifactId>airline</artifactId>
            <version>0.7</version>
            <!-- License: Apache 2.0 -->
         </dependency>
         <!--needed to compile transport jar-->
         <dependency>
            <groupId>io.netty</groupId>
            <artifactId>netty-all</artifactId>
            <version>${netty.version}</version>
            <!-- License: Apache 2.0 -->
         </dependency>
         <dependency>
            <groupId>io.netty</groupId>
            <artifactId>netty-codec-mqtt</artifactId>
            <version>5.0.0.Alpha2</version>
            <!-- License: Apache 2.0 -->
         </dependency>
         <dependency>
            <groupId>org.apache.qpid</groupId>
            <artifactId>proton-j</artifactId>
            <version>${proton.version}</version>
            <!-- License: Apache 2.0 -->
         </dependency>
         <dependency>
            <groupId>org.apache.qpid</groupId>
            <artifactId>proton-jms</artifactId>
            <version>${proton.version}</version>
            <!-- License: Apache 2.0 -->
         </dependency>
         <dependency>
            <groupId>org.apache.activemq</groupId>
            <artifactId>activemq-client</artifactId>
            <version>5.12.0</version>
            <!-- License: Apache 2.0 -->
         </dependency>
         <dependency>
           <groupId>org.slf4j</groupId>
           <artifactId>slf4j-api</artifactId>
           <version>1.7.5</version>
           <!-- License: MIT -->
         </dependency>

         <!--needed for the rest support-->
         <dependency>
            <groupId>org.jboss.resteasy</groupId>
            <artifactId>resteasy-jaxrs</artifactId>
            <version>${resteasy.version}</version>
            <exclusions>
               <exclusion>
                  <!-- We exclude this dep as it is GPL licensed.  Instead we include the Geronimo annotations -->
                  <groupId>org.jboss.spec.javax.annotation</groupId>
                  <artifactId>jboss-annotations-api_1.1_spec</artifactId>
               </exclusion>
            </exclusions>
            <!-- License: Apache 2.0 -->
         </dependency>
         <dependency>
            <groupId>org.jboss.resteasy</groupId>
            <artifactId>resteasy-jaxb-provider</artifactId>
            <version>${resteasy.version}</version>
            <exclusions>
               <exclusion>
                  <!-- We exclude this dep as it is GPL licensed.  Instead we include the Geronimo annotations -->
                  <groupId>org.jboss.spec.javax.annotation</groupId>
                  <artifactId>jboss-annotations-api_1.1_spec</artifactId>
               </exclusion>
            </exclusions>
            <!-- License: Apache 2.0 -->
         </dependency>
         <dependency>
            <groupId>org.jboss.resteasy</groupId>
            <artifactId>resteasy-jackson-provider</artifactId>
            <version>${resteasy.version}</version>
            <exclusions>
               <exclusion>
                  <!-- We exclude this dep as it is GPL licensed.  Instead we include the Geronimo annotations -->
                  <groupId>org.jboss.spec.javax.annotation</groupId>
                  <artifactId>jboss-annotations-api_1.1_spec</artifactId>
               </exclusion>
            </exclusions>
            <!-- License: Apache 2.0 -->
         </dependency>
         <dependency>
            <groupId>org.jboss.resteasy</groupId>
            <artifactId>resteasy-atom-provider</artifactId>
            <version>${resteasy.version}</version>
            <exclusions>
               <exclusion>
                  <!-- We exclude this dep as it is GPL licensed.  Instead we include the Geronimo annotations -->
                  <groupId>org.jboss.spec.javax.annotation</groupId>
                  <artifactId>jboss-annotations-api_1.1_spec</artifactId>
               </exclusion>
            </exclusions>
            <!-- License: Apache 2.0 -->
         </dependency>
         <dependency>
            <groupId>org.jboss.resteasy</groupId>
            <artifactId>tjws</artifactId>
            <version>${resteasy.version}</version>
            <exclusions>
               <exclusion>
                  <!-- We exclude this dep as it is GPL licensed.  Instead we include the Geronimo annotations -->
                  <groupId>org.jboss.spec.javax.annotation</groupId>
                  <artifactId>jboss-annotations-api_1.1_spec</artifactId>
               </exclusion>
            </exclusions>
            <!-- License: Apache 2.0 -->
         </dependency>

         <!-- Replacement for jboss annotations -->
         <dependency>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-annotation_1.1_spec</artifactId>
            <version>1.0.1</version>
            <!-- License: Apache 2.0 -->
         </dependency>

         <!-- ## Jetty web Dependencies ##-->
         <dependency>
            <groupId>org.eclipse.jetty.aggregate</groupId>
            <artifactId>jetty-all</artifactId>
            <version>${jetty.version}</version>
            <!-- License: (Joint): Apache 2.0 & EPL 1.0 -->
        </dependency>
         <dependency>
            <groupId>org.apache.tomcat</groupId>
            <artifactId>tomcat-servlet-api</artifactId>
            <version>8.0.23</version>
         </dependency>
        <dependency>
           <groupId>org.jolokia</groupId>
           <artifactId>jolokia-war</artifactId>
           <type>war</type>
           <version>1.3.1</version>
           <!-- License: Apache 2.0 -->
        </dependency>
         <!-- ## End Jetty Wed Dependencies ## -->

         <dependency>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-j2ee-connector_1.5_spec</artifactId>
            <version>2.0.0</version>
            <!-- License: Apache 2.0 -->
         </dependency>

         <!-- for URL reflection. Using Populate on URI Factory at activemq-commons -->
         <dependency>
            <groupId>commons-beanutils</groupId>
            <artifactId>commons-beanutils</artifactId>
            <version>1.9.2</version>
            <!-- License: Apache 2.0 -->
         </dependency>

         <!-- needed by commons-beanutils-->
         <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <version>1.2</version>
            <!-- License: Apache 2.0 -->
         </dependency>
      </dependencies>
   </dependencyManagement>

   <repositories>
      <repository>
         <snapshots>
            <enabled>false</enabled>
            <updatePolicy>never</updatePolicy>
         </snapshots>
         <releases>
            <enabled>true</enabled>
            <updatePolicy>interval:10080</updatePolicy>
         </releases>
         <id>jboss.release</id>
         <name>JBoss releases</name>
         <url>https://repository.jboss.org/nexus/content/groups/public/</url>
      </repository>
      <repository>
         <snapshots>
            <enabled>false</enabled>
            <updatePolicy>never</updatePolicy>
         </snapshots>
         <releases>
            <enabled>true</enabled>
            <updatePolicy>interval:10080</updatePolicy>
         </releases>
         <id>jboss.thirdparty.release</id>
         <name>JBoss third party releases</name>
         <url>https://repository.jboss.org/nexus/content/repositories/thirdparty-releases/</url>
      </repository>
   </repositories>

   <profiles>
       <profile>
           <id>M2E</id>
           <activation>
               <property>
                   <name>m2e.version</name>
               </property>
           </activation>
           <properties>
               <javac-compiler-id>javac</javac-compiler-id>
           </properties>
        </profile>
      <profile>
         <id>jdk18</id>
         <activation>
            <jdk>1.8</jdk>
         </activation>
         <build>
            <plugins>
               <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-javadoc-plugin</artifactId>
                  <configuration>
                     <additionalparam>-Xdoclint:none</additionalparam>
                  </configuration>
               </plugin>
            </plugins>
         </build>
      </profile>
      <profile>
         <id>dev</id>
         <modules>
            <module>artemis-boot</module>
            <module>artemis-dto</module>
            <module>artemis-web</module>
            <module>artemis-cli</module>
            <module>artemis-commons</module>
            <module>artemis-selector</module>
            <module>artemis-core-client</module>
            <module>artemis-server</module>
            <module>artemis-jms-client</module>
            <module>artemis-jms-server</module>
            <module>artemis-native</module>
            <module>artemis-protocols</module>
            <module>artemis-journal</module>
            <module>artemis-ra</module>
            <module>artemis-rest</module>
            <module>artemis-service-extensions</module>
            <module>artemis-maven-plugin</module>
            <module>integration/activemq-spring-integration</module>
            <module>integration/activemq-aerogear-integration</module>
            <module>integration/activemq-vertx-integration</module>
            <module>tests</module>
         </modules>
         <properties>
            <skipStyleCheck>false</skipStyleCheck>
            <skipLicenseCheck>false</skipLicenseCheck>
         </properties>
      </profile>
      <profile>
         <id>distro</id>
         <activation>
            <activeByDefault>true</activeByDefault>
         </activation>
      </profile>
      <profile>
         <id>release</id>
         <modules>
            <module>artemis-dto</module>
            <module>artemis-web</module>
            <module>artemis-website</module>
            <module>artemis-cli</module>
            <module>artemis-commons</module>
            <module>artemis-selector</module>
            <module>artemis-core-client</module>
            <module>artemis-server</module>
            <module>artemis-jms-client</module>
            <module>artemis-jms-server</module>
            <module>artemis-native</module>
            <module>artemis-journal</module>
            <module>artemis-ra</module>
            <module>artemis-rest</module>
            <module>artemis-service-extensions</module>
            <module>artemis-maven-plugin</module>
            <module>integration/activemq-spring-integration</module>
            <module>integration/activemq-aerogear-integration</module>
            <module>integration/activemq-vertx-integration</module>
            <module>examples</module>
            <module>tests</module>
            <module>artemis-distribution</module>
         </modules>
         <properties>
            <skipStyleCheck>false</skipStyleCheck>
            <skipLicenseCheck>false</skipLicenseCheck>
         </properties>
         <build>
            <plugins>
               <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-enforcer-plugin</artifactId>
                  <version>1.4</version>
                  <executions>
                     <execution>
                        <id>enforce-java</id>
                        <goals>
                           <goal>enforce</goal>
                        </goals>
                        <configuration>
                           <rules>
                              <!-- we need java8 when building the release -->
                              <requireJavaVersion>
                                 <version>1.8.0</version>
                              </requireJavaVersion>
                           </rules>
                        </configuration>
                     </execution>
                  </executions>
               </plugin>
            </plugins>
         </build>
      </profile>
      <profile>
         <!-- tests is the profile we use to run the entire testsuite
               Running this entire build could take up to 2 hours -->
         <id>tests</id>
         <modules>
            <module>artemis-dto</module>
            <module>artemis-web</module>
            <module>artemis-website</module>
            <module>artemis-cli</module>
            <module>artemis-commons</module>
            <module>artemis-selector</module>
            <module>artemis-core-client</module>
            <module>artemis-server</module>
            <module>artemis-jms-client</module>
            <module>artemis-jms-server</module>
            <module>artemis-native</module>
            <module>artemis-journal</module>
            <module>artemis-ra</module>
            <module>artemis-rest</module>
            <module>artemis-service-extensions</module>
            <module>artemis-maven-plugin</module>
            <module>integration/activemq-spring-integration</module>
            <module>integration/activemq-aerogear-integration</module>
            <module>integration/activemq-vertx-integration</module>
            <module>tests</module>
         </modules>
         <properties>
            <skipUnitTests>false</skipUnitTests>
            <skipJmsTests>false</skipJmsTests>
            <skipJoramTests>false</skipJoramTests>
            <skipIntegrationTests>false</skipIntegrationTests>
            <skipTimingTests>true</skipTimingTests>
            <skipConcurrentTests>false</skipConcurrentTests>
            <skipRestTests>false</skipRestTests>
            <skipStressTests>true</skipStressTests>
            <skipSoakTests>true</skipSoakTests>
            <skipPerformanceTests>true</skipPerformanceTests>
            <skipExtraTests>false</skipExtraTests>
            <skipStyleCheck>false</skipStyleCheck>
            <skipLicenseCheck>false</skipLicenseCheck>
            <skipExtraTests>false</skipExtraTests>
         </properties>
      </profile>
      <profile>
         <!-- This will represent a subset of the tests
              This is used on PR checks on the Jenkins instance at build.apache.org -->
         <id>fast-tests</id>
         <modules>
            <module>artemis-dto</module>
            <module>artemis-web</module>
            <module>artemis-cli</module>
            <module>artemis-commons</module>
            <module>artemis-selector</module>
            <module>artemis-core-client</module>
            <module>artemis-server</module>
            <module>artemis-jms-client</module>
            <module>artemis-jms-server</module>
            <module>artemis-native</module>
            <module>artemis-journal</module>
            <module>artemis-ra</module>
            <module>artemis-rest</module>
            <module>artemis-service-extensions</module>
            <module>artemis-maven-plugin</module>
            <module>integration/activemq-spring-integration</module>
            <module>integration/activemq-aerogear-integration</module>
            <module>integration/activemq-vertx-integration</module>
            <module>tests</module>
         </modules>
         <properties>
            <skipUnitTests>false</skipUnitTests>
            <skipJmsTests>false</skipJmsTests>
            <skipJoramTests>false</skipJoramTests>
            <skipConcurrentTests>false</skipConcurrentTests>
            <skipRestTests>false</skipRestTests>
            <skipExtraTests>true</skipExtraTests>
            <skipStyleCheck>false</skipStyleCheck>
            <skipLicenseCheck>false</skipLicenseCheck>
         </properties>
      </profile>
      <profile>
         <id>examples</id>
         <modules>
            <module>artemis-dto</module>
            <module>artemis-web</module>
            <module>artemis-cli</module>
            <module>artemis-commons</module>
            <module>artemis-selector</module>
            <module>artemis-core-client</module>
            <module>artemis-server</module>
            <module>artemis-jms-client</module>
            <module>artemis-jms-server</module>
            <module>artemis-native</module>
            <module>artemis-journal</module>
            <module>artemis-ra</module>
            <module>artemis-rest</module>
            <module>artemis-service-extensions</module>
            <module>artemis-maven-plugin</module>
            <module>integration/activemq-spring-integration</module>
            <module>integration/activemq-aerogear-integration</module>
            <module>integration/activemq-vertx-integration</module>
            <module>tests</module>
            <module>examples</module>
         </modules>
         <properties>
            <skipTests>true</skipTests>
         </properties>
      </profile>
      <profile>

                  <id>stage</id>

                  <build>

                      <plugins>

                              <plugin>

                                 <groupId>org.apache.maven.plugins</groupId>

                                 <artifactId>maven-deploy-plugin</artifactId>

                                 <configuration>

                                 <skip>true</skip>

                                 </configuration>

                              </plugin>

                              <plugin>

                                <groupId>org.sonatype.plugins</groupId>

                                <artifactId>nexus-staging-maven-plugin</artifactId>

                        <executions>

                               <execution>

                              <id>default-deploy</id>

                                    <phase>deploy</phase>

                                    <goals>

                                      <goal>deploy</goal>

                                    </goals>

                                 </execution>

                             </executions>

                            <configuration>

                                 <serverId>jboss-releases-repository</serverId>

                                 <nexusUrl>https://repository.jboss.org/nexus/</nexusUrl>

                                  <!-- explicit matching using the staging profile id -->

                                <stagingProfileId>2161b7b8da0080</stagingProfileId>

                                 <skipStagingRepositoryClose>true</skipStagingRepositoryClose>

                            </configuration>

                           </plugin>

                      </plugins>

                  </build>

      </profile>
   </profiles>

   <build>
      <pluginManagement>
         <plugins>
            <plugin>
               <groupId>org.codehaus.mojo</groupId>
                  <artifactId>javacc-maven-plugin</artifactId>
               <version>2.6</version>
               <executions>
                  <execution>
                     <id>javacc</id>
                     <goals>
                        <goal>javacc</goal>
                     </goals>
                  </execution>
               </executions>
            </plugin>
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-compiler-plugin</artifactId>
               <!-- version 3.2 is having problems with the APT processor resulting in
                    java.lang.IllegalStateException: endPosTable already set  -->
               <version>3.1</version>
               <!-- Enable Google's Error-Prone https://github.com/google/error-prone -->
               <configuration>
                 <showWarnings>true</showWarnings>
                 <source>1.7</source>
                 <target>1.7</target>
                 <forceJavacCompilerUse>true</forceJavacCompilerUse>
                 <compilerId>${javac-compiler-id}</compilerId>
                 <compilerArgs>
                    <arg>-Xep:NonAtomicVolatileUpdate:ERROR</arg>
                    <arg>-Xep:SynchronizeOnNonFinalField:ERROR</arg>
                    <arg>-Xep:StaticAccessedFromInstance:ERROR</arg>
                    <arg>-Xep:SynchronizeOnNonFinalField:ERROR</arg>
                    <arg>-Xep:WaitNotInLoop:ERROR</arg>
                 </compilerArgs>
               </configuration>
               <dependencies>
                 <dependency>
                   <groupId>org.codehaus.plexus</groupId>
                   <artifactId>plexus-compiler-javac-errorprone</artifactId>
                   <version>2.5</version>
                 </dependency>
               </dependencies>
            </plugin>
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-clean-plugin</artifactId>
               <version>2.5</version>
            </plugin>
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-javadoc-plugin</artifactId>

               <version>2.9</version>
            </plugin>
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-rar-plugin</artifactId>
               <version>2.3</version>
            </plugin>
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-jar-plugin</artifactId>
               <version>2.4</version>
            </plugin>
            <plugin>
               <groupId>net.sf.maven-sar</groupId>
               <artifactId>maven-sar-plugin</artifactId>
               <version>1.0</version>
            </plugin>
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-site-plugin</artifactId>
               <version>3.3</version>
            </plugin>
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-shade-plugin</artifactId>
               <version>2.1</version>
            </plugin>
            <plugin>
               <groupId>org.eclipse.jetty</groupId>
               <artifactId>jetty-maven-plugin</artifactId>
               <version>${jetty.version}</version>
            </plugin>
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-deploy-plugin</artifactId>
               <version>2.7</version>
            </plugin>

            <plugin>
               <inherited>true</inherited>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-source-plugin</artifactId>
               <version>2.2.1</version>
               <executions>
                  <execution>
                     <id>attach-sources</id>
                     <goals>
                        <goal>jar</goal>
                     </goals>
                  </execution>
               </executions>
            </plugin>
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-surefire-plugin</artifactId>
               <version>2.18.1</version>
               <configuration>
                  <forkMode>once</forkMode>
                  <testFailureIgnore>true</testFailureIgnore>
                  <runOrder>alphabetical</runOrder>
                  <redirectTestOutputToFile>false</redirectTestOutputToFile>
                  <argLine>${activemq-surefire-argline}</argLine>
               </configuration>
            </plugin>
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-surefire-report-plugin</artifactId>
               <version>2.18.1</version>
            </plugin>
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-install-plugin</artifactId>
               <version>2.4</version>
               <configuration>
                  <createChecksum>true</createChecksum>
               </configuration>
            </plugin>
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-pmd-plugin</artifactId>
               <version>3.0.1</version>
               <configuration>
                  <linkXRef>true</linkXRef>
                  <sourceEncoding>utf-8</sourceEncoding>
                  <minimumTokens>100</minimumTokens>
                  <targetJdk>1.5</targetJdk>
               </configuration>
            </plugin>
            <plugin>
               <groupId>org.codehaus.mojo</groupId>
               <artifactId>build-helper-maven-plugin</artifactId>
               <version>1.8</version>
            </plugin>
            <plugin>
               <groupId>org.codehaus.mojo</groupId>
               <artifactId>xml-maven-plugin</artifactId>
               <version>1.0</version>
            </plugin>
            <plugin>
               <groupId>org.codehaus.mojo</groupId>
               <artifactId>cobertura-maven-plugin</artifactId>
               <configuration />
               <executions>
                  <execution>
                     <goals>
                        <goal>clean</goal>
                     </goals>
                  </execution>
               </executions>
            </plugin>
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-resources-plugin</artifactId>
               <version>2.6</version>
            </plugin>
            <!-- Many examples use it -->
            <plugin>
               <groupId>org.apache.activemq</groupId>
               <artifactId>artemis-maven-plugin</artifactId>
               <version>${project.version}</version>
            </plugin>
         </plugins>
      </pluginManagement>

      <plugins>
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-enforcer-plugin</artifactId>
           <version>1.4</version>
           <executions>
             <execution>
               <id>enforce-java</id>
               <goals>
                 <goal>enforce</goal>
               </goals>
               <configuration>
                 <rules>
                   <requireJavaVersion>
                     <version>1.7.0</version>
                   </requireJavaVersion>
                 </rules>
               </configuration>
             </execution>
           </executions>
         </plugin>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
         </plugin>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-install-plugin</artifactId>
            <configuration>
               <createChecksum>true</createChecksum>
            </configuration>
         </plugin>
         <plugin>
            <artifactId>maven-source-plugin</artifactId>
            <executions>
               <execution>
                  <phase>verify</phase>
                  <goals>
                     <goal>jar</goal>
                  </goals>
               </execution>
            </executions>
         </plugin>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-help-plugin</artifactId>
            <version>2.2</version>
         </plugin>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-checkstyle-plugin</artifactId>
            <version>2.16</version>
            <dependencies>
               <!-- This was initially done to enforce name on Parameter annotation
                    I've developed a customized check and I needed this jar to deploy the specialized checkstyle -->
               <dependency>
                  <!-- TODO Find a better home -->
                  <groupId>org.hornetq</groupId>
                  <artifactId>hornetq-checkstyle-checks</artifactId>
                  <version>0.2</version>
               </dependency>
            </dependencies>
            <configuration>
               <skip>${skipStyleCheck}</skip>
               <configLocation>${activemq.basedir}/etc/checkstyle.xml</configLocation>
               <suppressionsLocation>${activemq.basedir}/etc/checkstyle-suppressions.xml</suppressionsLocation>
               <failsOnError>false</failsOnError>
               <failOnViolation>true</failOnViolation>
               <consoleOutput>true</consoleOutput>
               <includeTestSourceDirectory>true</includeTestSourceDirectory>
            </configuration>
            <executions>
               <execution>
                  <phase>compile</phase>
                  <goals>
                     <goal>check</goal>
                  </goals>
               </execution>
            </executions>
         </plugin>

         <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>findbugs-maven-plugin</artifactId>
            <version>2.5.2</version>
            <configuration>
               <excludeFilterFile>${user.dir}/etc/findbugs-exclude.xml</excludeFilterFile>
               <findbugsXmlOutput>true</findbugsXmlOutput>
               <xmlOutput>true</xmlOutput>
               <effort>Max</effort>
               <failOnError>false</failOnError>
            </configuration>
         </plugin>
         <plugin>
            <groupId>org.apache.rat</groupId>
            <artifactId>apache-rat-plugin</artifactId>
            <version>0.11</version>
            <configuration>
               <reportFile>${activemq.basedir}/ratReport.txt</reportFile>
               <skip>${skipLicenseCheck}</skip>
               <excludes>
                  <exclude>**/*.txt</exclude>
                  <exclude>**/*.md</exclude>
                  <exclude>etc/org.eclipse.*</exclude>
                  <exclude>docs/**/*.json</exclude>
                  <exclude>docs/**/_book/</exclude>
                  <exclude>**/target/</exclude>
                  <exclude>**/META-INF/services/*</exclude>
                  <exclude>**/*.iml</exclude>
                  <exclude>**/*.jceks</exclude>
                  <exclude>**/*.jks</exclude>
                  <exclude>**/org/apache/activemq/artemis/utils/json/**</exclude>
                  <exclude>**/org/apache/activemq/artemis/utils/Base64.java</exclude>
                  <exclude>**/.settings/**</exclude>
                  <exclude>**/.project</exclude>
                  <exclude>**/.classpath</exclude>
                  <exclude>**/.checkstyle</exclude>
                  <exclude>**/.factorypath</exclude>
                  <exclude>ratReport.txt</exclude>
                  <!-- activemq5 unit tests exclude -->
                  <exclude>**/*.data</exclude>
                  <exclude>**/*.bin</exclude>
                  <exclude>**/src/test/resources/keystore</exclude>
                  <exclude>**/*.log</exclude>
                  <exclude>**/*.redo</exclude>
               </excludes>
            </configuration>
            <executions>
               <execution>
                  <phase>compile</phase>
                  <goals>
                     <goal>check</goal>
                  </goals>
               </execution>
            </executions>
         </plugin>
      </plugins>
   </build>

   <reporting>
      <plugins>
         <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>cobertura-maven-plugin</artifactId>
            <version>2.5.2</version>
            <configuration>
               <check />
               <formats>
                  <format>html</format>
                  <format>xml</format>
               </formats>
            </configuration>
         </plugin>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-checkstyle-plugin</artifactId>
            <version>2.16</version>
            <configuration>
               <configLocation>${activemq.basedir}/etc/checkstyle.xml</configLocation>
               <failsOnError>false</failsOnError>
            </configuration>
         </plugin>
         <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>findbugs-maven-plugin</artifactId>
            <version>2.5.2</version>
            <configuration>
               <excludeFilterFile>${user.dir}/etc/findbugs-exclude.xml</excludeFilterFile>
               <effort>Max</effort>
               <failOnError>false</failOnError>
            </configuration>
         </plugin>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>2.9</version>
            <configuration>
               <minmemory>128m</minmemory>
               <maxmemory>1024m</maxmemory>
               <quiet>false</quiet>
               <!-- XXX FIXME 'aggregate' is deprecated -->
               <aggregate>true</aggregate>
               <excludePackageNames>com.restfully.*:org.jboss.resteasy.examples.*:org.jboss.resteasy.tests.*
               </excludePackageNames>
            </configuration>
         </plugin>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-project-info-reports-plugin</artifactId>
            <version>2.7</version>
         </plugin>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-report-plugin</artifactId>
            <version>2.14.1</version>
         </plugin>
      </plugins>
   </reporting>
</project>
