<?xml version="1.0" encoding="UTF-8"?>
<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">
  <parent>
    <artifactId>rapidpm-microservice</artifactId>
    <groupId>org.rapidpm.microservice</groupId>
    <version>0.9.1</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>

  <artifactId>rapidpm-microservice-bom</artifactId>
  <packaging>pom</packaging>


  <!--change parent pom too-->
  <properties>
    <rapidpm-microservice.version>0.9.1</rapidpm-microservice.version>
    <rapidpm-dynamic-cdi.version>0.9.1</rapidpm-dynamic-cdi.version>
    <rapidpm-proxybuilder.version>0.9.1</rapidpm-proxybuilder.version>

    <shiro.version>1.3.2</shiro.version>
    <undertow.version>1.4.20.Final</undertow.version>
    <resteasy-undertow.version>3.1.4.Final</resteasy-undertow.version>
    <vaadin.version>8.1.4</vaadin.version>
    <!--<vaadin-testbench-api.version>5.0.0</vaadin-testbench-api.version>-->
    <vaadin-testbench-api.version>5.1.0.alpha1</vaadin-testbench-api.version>

    <hazelcast.version>3.8.1</hazelcast.version>
    <lucene.version>7.0.0</lucene.version>
  </properties>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.rapidpm.dynamic-cdi</groupId>
        <artifactId>rapidpm-dynamic-cdi-bom</artifactId>
        <version>${rapidpm-dynamic-cdi.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>


      <dependency>
        <groupId>org.rapidpm.microservice</groupId>
        <artifactId>rapidpm-microservice-modules-core</artifactId>
        <version>${rapidpm-microservice.version}</version>
      </dependency>
      <dependency>
        <groupId>org.rapidpm.microservice</groupId>
        <artifactId>rapidpm-microservice-modules-core</artifactId>
        <version>${rapidpm-microservice.version}</version>
        <type>test-jar</type>
        <scope>test</scope>
      </dependency>

      <dependency>
        <groupId>org.rapidpm.microservice</groupId>
        <artifactId>rapidpm-microservice-modules-optionals-admin</artifactId>
        <version>${rapidpm-microservice.version}</version>
      </dependency>

      <dependency>
        <groupId>org.rapidpm.microservice</groupId>
        <artifactId>rapidpm-microservice-modules-optionals-cli</artifactId>
        <version>${rapidpm-microservice.version}</version>
      </dependency>

      <dependency>
        <groupId>org.rapidpm.microservice</groupId>
        <artifactId>rapidpm-microservice-modules-optionals-service</artifactId>
        <version>${rapidpm-microservice.version}</version>
      </dependency>


      <!--TDD-->
      <dependency>
        <groupId>org.rapidpm.microservice</groupId>
        <artifactId>rapidpm-microservice-modules-core-testutils</artifactId>
        <version>${rapidpm-microservice.version}</version>
      </dependency>

      <!--TDD-->

      <dependency>
        <groupId>org.rapidpm.microservice</groupId>
        <artifactId>rapidpm-microservice-modules-optionals-metrics-performance</artifactId>
        <version>${rapidpm-microservice.version}</version>
      </dependency>

      <dependency>
        <groupId>org.rapidpm.microservice</groupId>
        <artifactId>rapidpm-microservice-modules-optionals-metrics-activeressources</artifactId>
        <version>${rapidpm-microservice.version}</version>
      </dependency>

      <dependency>
        <groupId>org.rapidpm.microservice</groupId>
        <artifactId>rapidpm-microservice-modules-optionals-metrics-health</artifactId>
        <version>${rapidpm-microservice.version}</version>
      </dependency>
      <dependency>
        <groupId>org.rapidpm.microservice</groupId>
        <artifactId>rapidpm-microservice-modules-optionals-metrics-jvm</artifactId>
        <version>${rapidpm-microservice.version}</version>
      </dependency>

      <dependency>
        <groupId>org.rapidpm.microservice</groupId>
        <artifactId>rapidpm-microservice-modules-optionals-filesystem-base</artifactId>
        <version>${rapidpm-microservice.version}</version>
      </dependency>
      <dependency>
        <groupId>org.rapidpm.microservice</groupId>
        <artifactId>rapidpm-microservice-modules-optionals-filesystem-hazelcast</artifactId>
        <version>${rapidpm-microservice.version}</version>
      </dependency>
      <dependency>
        <groupId>org.rapidpm.microservice</groupId>
        <artifactId>rapidpm-microservice-modules-optionals-filesystem-memory</artifactId>
        <version>${rapidpm-microservice.version}</version>
      </dependency>
      <dependency>
        <groupId>org.rapidpm.microservice</groupId>
        <artifactId>rapidpm-microservice-modules-optionals-filesystem-os</artifactId>
        <version>${rapidpm-microservice.version}</version>
      </dependency>

      <dependency>
        <groupId>org.rapidpm.microservice</groupId>
        <artifactId>jumpstart-vaadin-modules-optionals-microservice</artifactId>
        <version>${rapidpm-microservice.version}</version>
      </dependency>

      <dependency>
        <groupId>org.rapidpm.microservice</groupId>
        <artifactId>rapidpm-microservice-modules-persistence-local-hashmap</artifactId>
        <version>${rapidpm-microservice.version}</version>
      </dependency>


      <!--External stuff-->

      <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>4.0.0-b02</version>
      </dependency>

      <dependency>
        <groupId>org.apache.shiro</groupId>
        <artifactId>shiro-web</artifactId>
        <version>${shiro.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
          </exclusion>
          <exclusion>
            <groupId>commons-beanutils</groupId>
            <artifactId>commons-beanutils</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <!--Undertow-->
      <dependency>
        <groupId>io.undertow</groupId>
        <artifactId>undertow-core</artifactId>
        <version>${undertow.version}</version>
      </dependency>
      <dependency>
        <groupId>io.undertow</groupId>
        <artifactId>undertow-servlet</artifactId>
        <version>${undertow.version}</version>
      </dependency>
      <dependency>
        <groupId>io.undertow</groupId>
        <artifactId>undertow-websockets-jsr</artifactId>
        <version>${undertow.version}</version>
      </dependency>
      <!--Undertow-->

      <!--RestEasy-->
      <dependency>
        <groupId>org.jboss.resteasy</groupId>
        <artifactId>resteasy-undertow</artifactId>
        <version>${resteasy-undertow.version}</version>
      </dependency>
      <dependency>
        <groupId>org.jboss.resteasy</groupId>
        <artifactId>resteasy-cdi</artifactId>
        <version>${resteasy-undertow.version}</version>
      </dependency>
      <dependency>
        <groupId>org.jboss.resteasy</groupId>
        <artifactId>resteasy-jaxrs</artifactId>
        <version>${resteasy-undertow.version}</version>
      </dependency>
      <dependency>
        <groupId>org.jboss.resteasy</groupId>
        <artifactId>resteasy-client</artifactId>
        <version>${resteasy-undertow.version}</version>
      </dependency>
      <dependency>
        <groupId>org.jboss.resteasy</groupId>
        <artifactId>jaxrs-api</artifactId>
        <version>3.0.12.Final</version>
      </dependency>

      <!--RestEasy-->

      <!--Lucene-->
      <dependency>
        <groupId>org.apache.lucene</groupId>
        <artifactId>lucene-core</artifactId>
        <version>${lucene.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.lucene</groupId>
        <artifactId>lucene-analyzers-common</artifactId>
        <version>${lucene.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.lucene</groupId>
        <artifactId>lucene-queryparser</artifactId>
        <version>${lucene.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.lucene</groupId>
        <artifactId>lucene-backward-codecs</artifactId>
        <version>${lucene.version}</version>
      </dependency>


      <!--Vaadin Based stuff-->
      <dependency>
        <groupId>com.vaadin</groupId>
        <artifactId>vaadin-server</artifactId>
        <version>${vaadin.version}</version>
      </dependency>

      <dependency>
        <groupId>com.vaadin</groupId>
        <artifactId>vaadin-themes</artifactId>
        <version>${vaadin.version}</version>
      </dependency>
      <dependency>
        <groupId>com.vaadin</groupId>
        <artifactId>vaadin-push</artifactId>
        <version>${vaadin.version}</version>
      </dependency>
      <dependency>
        <groupId>com.vaadin</groupId>
        <artifactId>vaadin-client</artifactId>
        <version>${vaadin.version}</version>
      </dependency>
      <dependency>
        <groupId>com.vaadin</groupId>
        <artifactId>vaadin-client-compiled</artifactId>
        <version>${vaadin.version}</version>
      </dependency>
      <dependency>
        <groupId>com.vaadin</groupId>
        <artifactId>vaadin-testbench</artifactId>
        <version>${vaadin-testbench-api.version}</version>
        <scope>test</scope>
      </dependency>

      <dependency>
        <groupId>com.hazelcast</groupId>
        <artifactId>hazelcast-all</artifactId>
        <version>${hazelcast.version}</version>
      </dependency>
      <dependency>
        <groupId>com.hazelcast</groupId>
        <artifactId>hazelcast-client</artifactId>
        <version>${hazelcast.version}</version>
      </dependency>
      <dependency>
        <groupId>com.hazelcast</groupId>
        <artifactId>hazelcast-root</artifactId>
        <version>${hazelcast.version}</version>
      </dependency>


    </dependencies>
  </dependencyManagement>


  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-war-plugin</artifactId>
          <version>3.0.0</version>
        </plugin>

        <!--Vaadin Widget external -->
        <plugin>
          <groupId>com.vaadin</groupId>
          <artifactId>vaadin-maven-plugin</artifactId>
          <version>${vaadin.version}</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>


  <profiles>
    <profile>
      <id>repo-allow-vaadin</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
      <repositories>
        <repository>
          <id>vaadin-repo</id>
          <url>http://maven.vaadin.com/vaadin-addons</url>
          <!--<url>http://maven.vaadin.com/</url>-->
        </repository>
        <repository>
          <id>vaadin-prereleases</id>
          <name>Vaadin Pre-releases</name>
          <url>https://maven.vaadin.com/vaadin-prereleases</url>
        </repository>
      </repositories>
      <pluginRepositories>
        <pluginRepository>
          <id>vaadin-prereleases</id>
          <name>Vaadin Pre-releases</name>
          <url>https://maven.vaadin.com/vaadin-prereleases</url>
        </pluginRepository>
      </pluginRepositories>
    </profile>

  </profiles>

</project>