<?xml version="1.0" encoding="UTF-8"?>
<!--

    Copyright 2015-2016 Red Hat, Inc. and/or its affiliates
    and other contributors as indicated by the @author tags.

    Licensed 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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <parent>
    <groupId>org.hawkular</groupId>
    <artifactId>hawkular-parent</artifactId>
    <version>36</version>
  </parent>

  <groupId>org.hawkular.btm</groupId>
  <artifactId>hawkular-btm</artifactId>
  <version>0.7.2.Final</version>
  <packaging>pom</packaging>

  <name>Hawkular BTM</name>
  <description>Hawkular Business Transaction Management</description>
  <url>https://github.com/hawkular/hawkular-btm</url>
  <inceptionYear>2015</inceptionYear>
  <organization>
    <name>Red Hat, Inc.</name>
    <url>http://redhat.com/</url>
  </organization>
  <licenses>
    <license>
      <name>Apache License, Version 2.0</name>
      <distribution>repo</distribution>
      <url>http://www.apache.org/licenses/LICENSE-2.0.html</url>
    </license>
  </licenses>

  <mailingLists>
    <mailingList>
      <name>Hawkular Developer List</name>
      <subscribe>https://lists.jboss.org/mailman/listinfo/hawkular-dev</subscribe>
      <unsubscribe>https://lists.jboss.org/mailman/listinfo/hawkular-dev</unsubscribe>
      <archive>http://lists.jboss.org/pipermail/hawkular-dev</archive>
    </mailingList>
  </mailingLists>

  <modules>
    <module>api</module>
    <module>client/agent-rest</module>
    <module>client/analytics-service-rest-client</module>
    <module>client/api</module>
    <module>client/btxn-collector</module>
    <module>client/btxn-instrumentation</module>
    <module>client/btxn-publisher-rest-client</module>
    <module>client/btxn-service-rest-client</module>
    <module>client/client-manager</module>
    <module>client/config-service-rest-client</module>
    <module>processors/completiontime-deriver</module>
    <module>processors/notification-deriver</module>
    <module>processors/nodedetails-deriver</module>
    <module>server/api</module>
    <module>server/cassandra</module>
    <module>server/elasticsearch</module>
    <module>server/jms</module>
    <module>server/rest</module>
    <module>server/security-hwkaccs</module>
    <module>server/security-jaxrs</module>
    <module>server/war</module>
    <module>services/config-service-inmemory</module>
    <module>ui</module>
    <module>feature-pack/ui-patch</module>
    <module>feature-pack/integrated</module>
    <module>feature-pack/standalone</module>
    <module>dist</module>
  </modules>

  <scm>
    <connection>scm:git:git://github.com/hawkular/hawkular-btm.git</connection>
    <developerConnection>scm:git:ssh://git@github.com/hawkular/hawkular-btm.git</developerConnection>
    <url>https://github.com/hawkular/hawkular-btm</url>
    <tag>0.7.2.Final</tag>
  </scm>
  <issueManagement>
    <url>https://issues.jboss.org/browse/HWKBTM</url>
    <system>jira</system>
  </issueManagement>

  <properties>
    <hawkular-btm-db>elasticsearch</hawkular-btm-db>

    <plugin.version.org.apache.maven.plugins.shade>2.4.2</plugin.version.org.apache.maven.plugins.shade>
    <version.com.github.eirslett.frontend-maven-plugin>0.0.26</version.com.github.eirslett.frontend-maven-plugin>

    <version.com.fasterxml.jackson.core>2.4.1</version.com.fasterxml.jackson.core>
    <version.com.jayway.jsonpath>2.0.0</version.com.jayway.jsonpath>
    <version.commons-io>2.1</version.commons-io>
    <version.io.swagger>1.5.0</version.io.swagger>
    <version.io.undertow>1.1.0.Final</version.io.undertow>
    <version.io.vertx>3.0.0</version.io.vertx>
    <version.javaee.spec>7.0</version.javaee.spec>
    <version.javax.enterprise.concurrent>1.0</version.javax.enterprise.concurrent>
    <version.net.minidev>2.1.1</version.net.minidev>
    <version.net.minidev.asm>1.0.2</version.net.minidev.asm>
    <version.org.apache.activemq>5.11.1</version.org.apache.activemq>
    <version.org.apache.camel>2.15.2</version.org.apache.camel>
    <version.org.apache.httpcomponents>4.3.5</version.org.apache.httpcomponents>
    <version.org.apache.lucene>4.10.4</version.org.apache.lucene>
    <version.org.eclipse.jetty>8.1.15.v20140411</version.org.eclipse.jetty>
    <version.org.elasticsearch>1.7.1</version.org.elasticsearch>
    <version.org.hawkular.accounts>2.0.22.Final</version.org.hawkular.accounts>
    <version.org.jboss.byteman>3.0.2</version.org.jboss.byteman>
    <version.org.mvel>2.2.6.Final</version.org.mvel>
    <version.org.slf4j>1.7.5</version.org.slf4j> <!-- Align with version used by camel -->
    <version.org.tuckey>4.0.3</version.org.tuckey>
  </properties>

  <dependencyManagement>
    <dependencies>

      <!-- BTM API -->
      <dependency>
        <groupId>org.hawkular.btm</groupId>
        <artifactId>hawkular-btm-api</artifactId>
        <version>${project.version}</version>
      </dependency>

      <!-- BTM Client -->
      <dependency>
        <groupId>org.hawkular.btm</groupId>
        <artifactId>hawkular-btm-analytics-service-rest-client</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.hawkular.btm</groupId>
        <artifactId>hawkular-btm-client-api</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.hawkular.btm</groupId>
        <artifactId>hawkular-btm-config-service-rest-client</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.hawkular.btm</groupId>
        <artifactId>hawkular-btm-btxn-collector</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.hawkular.btm</groupId>
        <artifactId>hawkular-btm-btxn-instrumentation</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.hawkular.btm</groupId>
        <artifactId>hawkular-btm-btxn-publisher-rest-client</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.hawkular.btm</groupId>
        <artifactId>hawkular-btm-btxn-service-rest-client</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.hawkular.btm</groupId>
        <artifactId>hawkular-btm-client-manager</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.hawkular.btm</groupId>
        <artifactId>hawkular-btm-agent-rest</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.hawkular.btm</groupId>
        <artifactId>hawkular-btm-config-manager-rest-client</artifactId>
        <version>${project.version}</version>
      </dependency>

      <!-- BTM Processors -->
      <dependency>
        <groupId>org.hawkular.btm</groupId>
        <artifactId>hawkular-btm-completiontime-deriver</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.hawkular.btm</groupId>
        <artifactId>hawkular-btm-notification-deriver</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.hawkular.btm</groupId>
        <artifactId>hawkular-btm-nodedetails-deriver</artifactId>
        <version>${project.version}</version>
      </dependency>

      <!-- BTM Server -->
      <dependency>
        <groupId>org.hawkular.btm</groupId>
        <artifactId>hawkular-btm-server</artifactId>
        <type>war</type>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.hawkular.btm</groupId>
        <artifactId>hawkular-btm-server-api</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.hawkular.btm</groupId>
        <artifactId>hawkular-btm-server-rest</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.hawkular.btm</groupId>
        <artifactId>hawkular-btm-server-cassandra</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.hawkular.btm</groupId>
        <artifactId>hawkular-btm-server-elasticsearch</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.hawkular.btm</groupId>
        <artifactId>hawkular-btm-server-jms</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.hawkular.btm</groupId>
        <artifactId>hawkular-btm-server-security-hwkaccs</artifactId>
        <version>${project.version}</version>
      </dependency>

      <!-- BTM Services -->
      <dependency>
        <groupId>org.hawkular.btm</groupId>
        <artifactId>hawkular-btm-config-service-inmemory</artifactId>
        <version>${project.version}</version>
      </dependency>

      <!-- BTM Tests -->
      <dependency>
        <groupId>org.hawkular.btm</groupId>
        <artifactId>hawkular-btm-tests-common</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.hawkular.btm</groupId>
        <artifactId>hawkular-btm-tests-server-mock</artifactId>
        <version>${project.version}</version>
      </dependency>

      <!-- BTM Services -->
      <dependency>
        <groupId>org.hawkular.btm</groupId>
        <artifactId>hawkular-btm-dist</artifactId>
        <version>${project.version}</version>
        <type>zip</type>
      </dependency>

      <!-- BTM UI -->
      <dependency>
        <groupId>org.hawkular.btm</groupId>
        <artifactId>hawkular-btm-ui</artifactId>
        <type>war</type>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.hawkular.btm</groupId>
        <artifactId>hawkular-btm-integrated-ui-patch</artifactId>
        <type>zip</type>
        <version>${project.version}</version>
      </dependency>

      <!-- Other dependencies -->
      <dependency>
        <groupId>org.hawkular.accounts</groupId>
        <artifactId>hawkular-accounts-api</artifactId>
        <version>${version.org.hawkular.accounts}</version>
      </dependency>
      <dependency>
        <groupId>org.hawkular.accounts</groupId>
        <artifactId>hawkular-accounts-feature-pack</artifactId>
        <version>${version.org.hawkular.accounts}</version>
        <type>pom</type>
        <scope>provided</scope>
        <exclusions>
          <exclusion>
            <groupId>*</groupId>
            <artifactId>*</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.hawkular.accounts</groupId>
        <artifactId>hawkular-accounts-feature-pack</artifactId>
        <version>${version.org.hawkular.accounts}</version>
        <type>zip</type>
        <exclusions>
          <exclusion>
            <groupId>*</groupId>
            <artifactId>*</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>org.hawkular</groupId>
        <artifactId>hawkular-dist</artifactId>
        <version>${version.org.hawkular}</version>
        <type>zip</type>
      </dependency>

      <dependency>
        <groupId>org.wildfly.bom</groupId>
        <artifactId>wildfly-javaee7</artifactId>
        <version>${version.org.wildfly}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>

      <dependency>
        <groupId>org.jboss.byteman</groupId>
        <artifactId>byteman</artifactId>
        <version>${version.org.jboss.byteman}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-core</artifactId>
        <version>${version.org.apache.camel}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-http</artifactId>
        <version>${version.org.apache.camel}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-http4</artifactId>
        <version>${version.org.apache.camel}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-jms</artifactId>
        <version>${version.org.apache.camel}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-restlet</artifactId>
        <version>${version.org.apache.camel}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-stream</artifactId>
        <version>${version.org.apache.camel}</version>
      </dependency>

      <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-core</artifactId>
        <version>${version.com.fasterxml.jackson.core}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>${version.com.fasterxml.jackson.core}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-annotations</artifactId>
        <version>${version.com.fasterxml.jackson.core}</version>
      </dependency>

      <dependency>
        <groupId>com.jayway.jsonpath</groupId>
        <artifactId>json-path</artifactId>
        <version>${version.com.jayway.jsonpath}</version>
      </dependency>
      <dependency>
        <groupId>net.minidev</groupId>
        <artifactId>json-smart</artifactId>
        <version>${version.net.minidev}</version>
      </dependency>
      <dependency>
        <groupId>net.minidev</groupId>
        <artifactId>asm</artifactId>
        <version>${version.net.minidev.asm}</version>
      </dependency>

      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>${version.org.slf4j}</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-nop</artifactId>
        <version>${version.org.slf4j}</version>
      </dependency>

      <dependency>
        <groupId>org.tuckey</groupId>
        <artifactId>urlrewritefilter</artifactId>
        <version>${version.org.tuckey}</version>
      </dependency>

      <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>${version.commons-io}</version>
      </dependency>

      <!-- ActiveMQ dependencies -->
      <dependency>
        <groupId>org.apache.activemq</groupId>
        <artifactId>activemq-broker</artifactId>
        <version>${version.org.apache.activemq}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.activemq</groupId>
        <artifactId>activemq-client</artifactId>
        <version>${version.org.apache.activemq}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.activemq</groupId>
        <artifactId>activemq-camel</artifactId>
        <version>${version.org.apache.activemq}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>${version.org.apache.httpcomponents}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpcore</artifactId>
        <version>4.3.2</version>
      </dependency>

      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-jdk14</artifactId>
        <version>${version.org.slf4j}</version>
      </dependency>

      <dependency>
        <groupId>io.undertow</groupId>
        <artifactId>undertow-core</artifactId>
        <version>${version.io.undertow}</version>
      </dependency>

      <dependency>
        <groupId>javax</groupId>
        <artifactId>javaee-api</artifactId>
        <version>${version.javaee.spec}</version>
      </dependency>
      <dependency>
        <groupId>javax.enterprise.concurrent</groupId>
        <artifactId>javax.enterprise.concurrent-api</artifactId>
        <version>${version.javax.enterprise.concurrent}</version>
      </dependency>

      <!-- Vertx dependences -->
      <dependency>
        <groupId>io.vertx</groupId>
        <artifactId>vertx-core</artifactId>
        <version>${version.io.vertx}</version>
      </dependency>

      <dependency>
        <groupId>org.mvel</groupId>
        <artifactId>mvel2</artifactId>
        <version>${version.org.mvel}</version>
      </dependency>

      <!-- Elasticsearch dependencies -->
      <dependency>
        <groupId>org.elasticsearch</groupId>
        <artifactId>elasticsearch</artifactId>
        <version>${version.org.elasticsearch}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.lucene</groupId>
        <artifactId>lucene-core</artifactId>
        <version>${version.org.apache.lucene}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.lucene</groupId>
        <artifactId>lucene-queryparser</artifactId>
        <version>${version.org.apache.lucene}</version>
      </dependency>

      <!-- REST Doc dependencies -->
      <dependency>
        <groupId>io.swagger</groupId>
        <artifactId>swagger-annotations</artifactId>
        <version>${version.io.swagger}</version>
      </dependency>
      <dependency>
        <groupId>io.swagger</groupId>
        <artifactId>swagger-core</artifactId>
        <version>${version.io.swagger}</version>
      </dependency>
      <dependency>
        <groupId>io.swagger</groupId>
        <artifactId>swagger-jaxrs</artifactId>
        <version>${version.io.swagger}</version>
      </dependency>

      <!-- Test dependencies -->
      <dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-example-servlet-rest-tomcat</artifactId>
        <version>${version.org.apache.camel}</version>
        <type>war</type>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-example-cxf-tomcat</artifactId>
        <version>${version.org.apache.camel}</version>
        <type>war</type>
        <scope>test</scope>
      </dependency>

      <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-server</artifactId>
        <version>${version.org.eclipse.jetty}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-servlet</artifactId>
        <version>${version.org.eclipse.jetty}</version>
      </dependency>

    </dependencies>
  </dependencyManagement>

  <build>
    <plugins>
      <plugin>
        <groupId>com.mycila</groupId>
        <artifactId>license-maven-plugin</artifactId>
        <configuration>
          <excludes combine.children="append">
            <exclude>**/*.data</exclude>
            <exclude>**/*.btm</exclude>
            <exclude>**/*.sh</exclude>
          </excludes>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-shade-plugin</artifactId>
        <version>${plugin.version.org.apache.maven.plugins.shade}</version>
      </plugin>
    </plugins>

    <pluginManagement>
      <plugins>

        <plugin>
          <groupId>com.github.eirslett</groupId>
          <artifactId>frontend-maven-plugin</artifactId>
          <version>${version.com.github.eirslett.frontend-maven-plugin}</version>
        </plugin>

      </plugins>
    </pluginManagement>
  </build>

  <profiles>
    <profile>
      <id>tests</id>
      <modules>
        <module>tests/client</module>
        <module>tests/common</module>
        <module>tests/instrumentation</module>
        <module>tests/container/standalone</module>
        <module>tests/container/jetty</module>
        <module>tests/server/wildfly</module>
        <module>tests/server/mock</module>
      </modules>
    </profile>
    <profile>
      <id>performance</id>
      <modules>
        <module>tests/performance</module>
      </modules>
    </profile>
    <profile>
      <id>vertx</id>
      <modules>
        <module>tests/container/vertx</module>
      </modules>
    </profile>
    <profile>
      <id>wildfly</id>
      <modules>
        <module>tests/container/wildfly</module>
      </modules>
    </profile>
    <profile>
      <id>cassandra</id>
      <properties>
        <hawkular-btm-db>cassandra</hawkular-btm-db>
      </properties>
    </profile>
  </profiles>

</project>
