<?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>1.0.2</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>

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


  <!--change parent pom too-->
  <properties>
    <rapidpm-microservice.version>1.0.2</rapidpm-microservice.version>
    <rapidpm-dynamic-cdi.version>1.0.2</rapidpm-dynamic-cdi.version>
    <rapidpm-functional-reactive.version>0.5.0</rapidpm-functional-reactive.version>

    <shiro.version>1.3.2</shiro.version>
    <undertow.version>1.4.22.Final</undertow.version>
    <resteasy-undertow.version>3.1.4.Final</resteasy-undertow.version>

    <hazelcast.version>3.9.1</hazelcast.version>
    <lucene.version>7.2.0</lucene.version>
    <stagemonitor.version>0.87.2</stagemonitor.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>org.rapidpm</groupId>
        <artifactId>rapidpm-functional-reactive</artifactId>
        <version>${rapidpm-functional-reactive.version}</version>
      </dependency>


      <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>
      <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>

      <!--APM -->
      <dependency>
        <groupId>org.stagemonitor</groupId>
        <artifactId>stagemonitor-web-servlet</artifactId>
        <version>${stagemonitor.version}</version>
      </dependency>
      <dependency>
        <groupId>org.stagemonitor</groupId>
        <artifactId>stagemonitor-tracing</artifactId>
        <version>${stagemonitor.version}</version>
      </dependency>
      <dependency>
        <groupId>org.stagemonitor</groupId>
        <artifactId>stagemonitor-jvm</artifactId>
        <version>${stagemonitor.version}</version>
      </dependency>
      <dependency>
        <groupId>org.stagemonitor</groupId>
        <artifactId>stagemonitor-os</artifactId>
        <version>${stagemonitor.version}</version>
      </dependency>
      <dependency>
        <groupId>org.stagemonitor</groupId>
        <artifactId>stagemonitor-tracing-elasticsearch</artifactId>
        <version>${stagemonitor.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>


</project>