<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.perfcake</groupId>
   <artifactId>perfcake-bom</artifactId>
   <version>5.0</version>
   <packaging>pom</packaging>
   <name>PerfCake Bill of Materials</name>
   <organization>
      <name>PerfCake Community</name>
      <url>https://www.perfcake.org</url>
   </organization>
   <description>A Lightweight Performance Testing Framework</description>
   <url>https://www.perfcake.org</url>
   <inceptionYear>2010</inceptionYear>
   <scm>
      <url>https://github.com/PerfCake/PerfCake</url>
      <connection>scm:git:git://github.com/PerfCake/PerfCake.git</connection>
      <developerConnection>scm:git:git@github.com:PerfCake/PerfCake.git</developerConnection>
      <tag>v5.0</tag>
   </scm>
   <licenses>
      <license>
         <name>The Apache Software License, Version 2.0</name>
         <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
         <distribution>repo</distribution>
         <comments>A business-friendly OSS license</comments>
      </license>
   </licenses>
   <developers>
      <developer>
         <name>Martin Večeřa</name>
         <email>marvenec@gmail.com</email>
      </developer>
      <developer>
         <name>Pavel Macík</name>
         <email>pavel.macik@gmail.com</email>
      </developer>
   </developers>
   <distributionManagement>
      <snapshotRepository>
         <id>ossrh</id>
         <url>https://oss.sonatype.org/content/repositories/snapshots</url>
      </snapshotRepository>
      <repository>
         <id>ossrh</id>
         <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
      </repository>
   </distributionManagement>
   <properties>
      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

      <maven.clean.plugin.version>2.5</maven.clean.plugin.version>
      <maven.release.plugin.version>2.4.1</maven.release.plugin.version>
      <maven.gpg.plugin.version>1.5</maven.gpg.plugin.version>

      <version.camel>2.15.1</version.camel>
      <version.drools>6.2.0.Final</version.drools>
      <version.groovy>2.4.4</version.groovy>
      <version.httl>1.0.12</version.httl>
      <version.slf4j>1.7.7</version.slf4j>
      <version.log4j>2.1</version.log4j>
      <version.jms-api>1.1-rev-1</version.jms-api>
      <version.mqtt>1.11</version.mqtt>
      <version.testng>6.8.5</version.testng>
      <version.websocket-api>1.0</version.websocket-api>
      <version.commons.math3>3.4.1</version.commons.math3>
      <version.commons.io>2.4</version.commons.io>
      <version.commons.configuration>1.10</version.commons.configuration>
      <version.commons.collections>3.2.1</version.commons.collections>
      <version.commons.beanutils>1.9.2</version.commons.beanutils>
      <version.commons.logging>1.1.3</version.commons.logging>
      <version.commons.cli>1.2</version.commons.cli>

      <!-- Tools -->
      <version.findbugs>1.3.2</version.findbugs>
      <version.gmaven>1.5</version.gmaven>
      <version.jacoco>0.7.5.201505241946</version.jacoco>

      <!-- Test dependencies  -->
      <version.arquillian>1.1.9.Final</version.arquillian>
      <version.wildfly>8.2.0.Final</version.wildfly>
      <version.javassist>3.19.0-GA</version.javassist>
      <version.amq>5.11.2</version.amq>
      <version.arquillian-jacoco>1.0.0.Alpha8</version.arquillian-jacoco>
      <version.hornetq>2.4.1.Final</version.hornetq>
      <version.mockito>1.9.5</version.mockito>
      <version.vertx>2.1.6</version.vertx>
      <version.netty>4.0.21.Final</version.netty>

      <java.level>1.8</java.level>
   </properties>
   <dependencyManagement>
      <dependencies>

         <dependency>
            <groupId>org.perfcake</groupId>
            <artifactId>perfcake-agent</artifactId>
            <version>${project.version}</version>
         </dependency>

         <dependency>
            <groupId>org.perfcake</groupId>
            <artifactId>httl</artifactId>
            <version>${version.httl}</version>
         </dependency>

         <!-- Logging -->
         <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-core</artifactId>
            <version>${version.log4j}</version>
         </dependency>
         <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-1.2-api</artifactId>
            <version>${version.log4j}</version>
         </dependency>
         <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>${version.slf4j}</version>
         </dependency>

         <!-- Test NG -->
         <dependency>
            <groupId>org.testng</groupId>
            <artifactId>testng</artifactId>
            <version>${version.testng}</version>
            <scope>test</scope>
         </dependency>

         <!-- Drools -->
         <dependency>
            <groupId>org.drools</groupId>
            <artifactId>drools-core</artifactId>
            <version>${version.drools}</version>
         </dependency>
         <dependency>
            <groupId>org.drools</groupId>
            <artifactId>drools-compiler</artifactId>
            <version>${version.drools}</version>
         </dependency>

         <!-- Groovy -->
         <dependency>
            <groupId>org.codehaus.groovy</groupId>
            <artifactId>groovy-all</artifactId>
            <version>${version.groovy}</version>
         </dependency>

         <!-- JMS API -->
         <dependency>
            <groupId>javax.jms</groupId>
            <artifactId>jms-api</artifactId>
            <version>${version.jms-api}</version>
         </dependency>

         <!-- Javassist -->
         <dependency>
            <groupId>org.javassist</groupId>
            <artifactId>javassist</artifactId>
            <version>${version.javassist}</version>
         </dependency>

         <!-- Findbugs -->
         <dependency>
            <groupId>net.sourceforge.findbugs</groupId>
            <artifactId>annotations</artifactId>
            <version>${version.findbugs}</version>
            <scope>provided</scope>
         </dependency>

         <!-- Web socket -->
         <dependency>
            <groupId>javax.websocket</groupId>
            <artifactId>javax.websocket-api</artifactId>
            <version>${version.websocket-api}</version>
         </dependency>

         <!-- MQTT-->
         <dependency>
            <groupId>org.fusesource.mqtt-client</groupId>
            <artifactId>mqtt-client</artifactId>
            <version>${version.mqtt}</version>
         </dependency>

         <!-- Commons -->
         <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-math3</artifactId>
            <version>${version.commons.math3}</version>
         </dependency>
         <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>${version.commons.io}</version>
         </dependency>
         <dependency>
            <groupId>commons-configuration</groupId>
            <artifactId>commons-configuration</artifactId>
            <version>${version.commons.configuration}</version>
         </dependency>
         <dependency>
            <groupId>commons-collections</groupId>
            <artifactId>commons-collections</artifactId>
            <version>${version.commons.collections}</version>
         </dependency>
         <dependency>
            <groupId>commons-beanutils</groupId>
            <artifactId>commons-beanutils</artifactId>
            <version>${version.commons.beanutils}</version>
         </dependency>
         <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <scope>runtime</scope>
            <version>${version.commons.logging}</version>
         </dependency>
         <dependency>
            <groupId>commons-cli</groupId>
            <artifactId>commons-cli</artifactId>
            <version>${version.commons.cli}</version>
         </dependency>

         <!-- Camel tests -->
         <dependency>
            <groupId>org.apache.camel</groupId>
            <artifactId>camel-mqtt</artifactId>
            <version>${version.camel}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.apache.camel</groupId>
            <artifactId>camel-core</artifactId>
            <version>${version.camel}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.apache.camel</groupId>
            <artifactId>camel-spring</artifactId>
            <version>${version.camel}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.apache.activemq</groupId>
            <artifactId>activemq-camel</artifactId>
            <version>${version.amq}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.apache.activemq</groupId>
            <artifactId>activemq-mqtt</artifactId>
            <version>${version.amq}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>${version.slf4j}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>jcl-over-slf4j</artifactId>
            <version>${version.slf4j}</version>
            <scope>test</scope>
         </dependency>

         <!-- Test of senders in an JEE Container -->
         <dependency>
            <groupId>org.jboss.arquillian.testng</groupId>
            <artifactId>arquillian-testng-container</artifactId>
            <version>${version.arquillian}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.jboss.arquillian.protocol</groupId>
            <artifactId>arquillian-protocol-servlet</artifactId>
            <version>${version.arquillian}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.wildfly</groupId>
            <artifactId>wildfly-arquillian-container-managed</artifactId>
            <version>${version.wildfly}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.wildfly</groupId>
            <artifactId>wildfly-dist</artifactId>
            <version>${version.wildfly}</version>
            <type>zip</type>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.jboss.arquillian.extension</groupId>
            <artifactId>arquillian-jacoco</artifactId>
            <version>${version.arquillian-jacoco}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.jacoco</groupId>
            <artifactId>org.jacoco.core</artifactId>
            <version>${version.jacoco}</version>
            <scope>test</scope>
         </dependency>

         <!-- HornetQ remote client -->
         <dependency>
            <groupId>org.hornetq</groupId>
            <artifactId>hornetq-jms-client</artifactId>
            <version>${version.hornetq}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.hornetq</groupId>
            <artifactId>hornetq-core-client</artifactId>
            <version>${version.hornetq}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.wildfly</groupId>
            <artifactId>wildfly-naming</artifactId>
            <version>${version.wildfly}</version>
            <scope>test</scope>
         </dependency>

         <!-- Mockito -->
         <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-all</artifactId>
            <version>${version.mockito}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.codehaus.groovy</groupId>
            <artifactId>groovy-jsr223</artifactId>
            <version>${version.groovy}</version>
            <scope>test</scope>
         </dependency>

         <!-- Vert.x -->
         <dependency>
            <groupId>io.vertx</groupId>
            <artifactId>vertx-core</artifactId>
            <version>${version.vertx}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>io.vertx</groupId>
            <artifactId>vertx-platform</artifactId>
            <version>${version.vertx}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>io.netty</groupId>
            <artifactId>netty-all</artifactId>
            <version>${version.netty}</version>
            <scope>test</scope>
         </dependency>

      </dependencies>
   </dependencyManagement>
   <build>
      <plugins>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-gpg-plugin</artifactId>
            <version>${maven.gpg.plugin.version}</version>
            <configuration>
               <useAgent>true</useAgent>
            </configuration>
         </plugin>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-clean-plugin</artifactId>
            <version>${maven.clean.plugin.version}</version>
         </plugin>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-release-plugin</artifactId>
            <version>${maven.release.plugin.version}</version>
            <configuration>
               <tagNameFormat>v@{project.version}</tagNameFormat>
               <pushChanges>false</pushChanges>
               <localCheckout>true</localCheckout>
            </configuration>
         </plugin>
      </plugins>
   </build>
   <profiles>
      <profile>
         <id>sign</id>
         <build>
            <plugins>
               <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-gpg-plugin</artifactId>
                  <executions>
                     <execution>
                        <id>sign-artifacts</id>
                        <phase>verify</phase>
                        <goals>
                           <goal>sign</goal>
                        </goals>
                     </execution>
                  </executions>
               </plugin>
            </plugins>
         </build>
      </profile>

   </profiles>
</project>

