<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>7.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>v7.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>3.0.0</maven.clean.plugin.version>
      <maven.release.plugin.version>2.5.3</maven.release.plugin.version>
      <maven.gpg.plugin.version>1.6</maven.gpg.plugin.version>
      <maven.project.info.reports.plugin.version>2.9</maven.project.info.reports.plugin.version>
      <maven.assembly.plugin.version>2.6</maven.assembly.plugin.version>
      <maven.versioneye>3.10.2</maven.versioneye>

      <version.californium>1.0.4</version.californium>
      <version.camel>2.17.3</version.camel>
      <version.drools>6.4.0.Final</version.drools>
      <version.influxdb>2.2</version.influxdb>
      <version.jest>2.0.3</version.jest>
      <version.groovy>2.4.7</version.groovy>
      <version.slf4j>1.7.21</version.slf4j>
      <version.log4j>2.6.2</version.log4j>
      <version.jms-api>2.0.1</version.jms-api>
      <version.mqtt>1.14</version.mqtt>
      <version.testng>6.9.10</version.testng>
      <version.websocket-api>1.1</version.websocket-api>
      <version.commons.math3>3.6.1</version.commons.math3>
      <version.commons.io>2.5</version.commons.io>
      <version.commons.beanutils>1.9.2</version.commons.beanutils>
      <version.commons.collections>4.1</version.commons.collections>
      <version.commons.lang>3.4</version.commons.lang>
      <version.commons.logging>1.2</version.commons.logging>
      <version.commons.cli>1.3.1</version.commons.cli>
      <version.hdrhistogram>2.1.9</version.hdrhistogram>
      <version.vertx>3.3.2</version.vertx>
      <version.jackson>2.7.4</version.jackson>
      <version.guava>19.0</version.guava>
      <version.byteman>3.0.6</version.byteman>
      <version.servo>0.12.10</version.servo>

      <version.maven.plugin.api>3.3.9</version.maven.plugin.api>
      <version.maven.core>3.3.9</version.maven.core>
      <version.maven.plugin.annotations>3.4</version.maven.plugin.annotations>

      <!-- Tools -->
      <version.findbugs>3.0.1u2</version.findbugs>
      <version.gmaven>1.5</version.gmaven>
      <version.jacoco>0.7.7.201606060606</version.jacoco>

      <!-- Test dependencies  -->
      <version.arquillian>1.1.11.Final</version.arquillian>
      <version.arquillian-container>2.0.0.Final</version.arquillian-container>
      <version.wildfly>10.1.0.Final</version.wildfly>
      <version.javassist>3.20.0-GA</version.javassist>
      <version.amq>5.14.0</version.amq>
      <version.arquillian-jacoco>1.0.0.Alpha8</version.arquillian-jacoco>
      <version.mockito>1.10.19</version.mockito>
      <version.netty>4.1.4.Final</version.netty>

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

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

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

         <dependency>
            <groupId>org.perfcake</groupId>
            <artifactId>perfcake-maven-plugin</artifactId>
            <version>${project.version}</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.apache.logging.log4j</groupId>
            <artifactId>log4j-jul</artifactId>
            <version>${version.log4j}</version>
         </dependency>
         <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>${version.slf4j}</version>
         </dependency>
         <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</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>

         <!-- Elasticsearch client -->
         <dependency>
            <groupId>io.searchbox</groupId>
            <artifactId>jest</artifactId>
            <version>${version.jest}</version>
         </dependency>

         <!-- InfluxDB client -->
         <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <version>${version.guava}</version>
         </dependency>
         <dependency>
            <groupId>org.influxdb</groupId>
            <artifactId>influxdb-java</artifactId>
            <version>${version.influxdb}</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>javax.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>com.google.code.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>

         <!-- CoAP -->
         <dependency>
            <groupId>org.eclipse.californium</groupId>
            <artifactId>californium-core</artifactId>
            <version>${version.californium}</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-beanutils</groupId>
            <artifactId>commons-beanutils</artifactId>
            <version>${version.commons.beanutils}</version>
         </dependency>
         <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-collections4</artifactId>
            <version>${version.commons.collections}</version>
         </dependency>
         <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>${version.commons.lang}</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>

         <dependency>
            <groupId>org.hdrhistogram</groupId>
            <artifactId>HdrHistogram</artifactId>
            <version>${version.hdrhistogram}</version>
         </dependency>

         <!-- Debugging information publishing -->
         <dependency>
            <groupId>org.jboss.byteman</groupId>
            <artifactId>byteman</artifactId>
            <version>${version.byteman}</version>
         </dependency>
         <dependency>
            <groupId>com.netflix.servo</groupId>
            <artifactId>servo-core</artifactId>
            <version>${version.servo}</version>
         </dependency>

         <!-- Maven plugin -->
         <dependency>
            <groupId>org.apache.maven</groupId>
            <artifactId>maven-plugin-api</artifactId>
            <version>${version.maven.plugin.api}</version>
         </dependency>
         <dependency>
            <groupId>org.apache.maven</groupId>
            <artifactId>maven-core</artifactId>
            <version>${version.maven.core}</version>
         </dependency>
         <dependency>
            <groupId>org.apache.maven.plugin-tools</groupId>
            <artifactId>maven-plugin-annotations</artifactId>
            <version>${version.maven.plugin.annotations}</version>
            <scope>provided</scope>
         </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-http</artifactId>
            <version>${version.camel}</version>
            <scope>test</scope>
         </dependency>
         <dependency>
            <groupId>org.apache.camel</groupId>
            <artifactId>camel-core</artifactId>
            <version>${version.camel}</version>
         </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>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.arquillian</groupId>
            <artifactId>wildfly-arquillian-container-managed</artifactId>
            <version>${version.arquillian-container}</version>
            <scope>test</scope>
            <exclusions>
               <exclusion>
                  <groupId>org.jboss.osgi.metadata</groupId>
                  <artifactId>jbosgi-metadata</artifactId>
               </exclusion>
            </exclusions>
         </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>

         <!-- WildFly JMS remote client -->
         <dependency>
            <groupId>org.wildfly</groupId>
            <artifactId>wildfly-jms-client-bom</artifactId>
            <version>${version.wildfly}</version>
            <type>pom</type>
            <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>
         </dependency>
         <dependency>
            <groupId>io.vertx</groupId>
            <artifactId>vertx-web</artifactId>
            <version>${version.vertx}</version>
         </dependency>
         <!-- Fix for a bug in jackson dependencies -->
         <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-annotations</artifactId>
            <version>${version.jackson}</version>
         </dependency>
         <dependency>
            <groupId>io.netty</groupId>
            <artifactId>netty-all</artifactId>
            <version>${version.netty}</version>
            <scope>test</scope>
         </dependency>

      </dependencies>
   </dependencyManagement>
   <build>
      <pluginManagement>
         <plugins>
            <plugin>
               <groupId>com.versioneye</groupId>
               <artifactId>versioneye-maven-plugin</artifactId>
               <version>${maven.versioneye}</version>
               <configuration>
                  <apiKey>14c410c455f0ba1c83da</apiKey>
               </configuration>
            </plugin>
         </plugins>
      </pluginManagement>
      <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>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>${maven.assembly.plugin.version}</version>
            <configuration>
               <skipAssembly>true</skipAssembly>
            </configuration>
         </plugin>
         <plugin>
            <artifactId>maven-project-info-reports-plugin</artifactId>
            <version>${maven.project.info.reports.plugin.version}</version>
         </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>

