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

  <parent>
    <groupId>com.expediagroup.molten</groupId>
    <artifactId>molten-platform</artifactId>
    <version>1.2.2</version>
    <relativePath>../molten-platform/pom.xml</relativePath>
  </parent>

  <artifactId>molten-root</artifactId>
  <version>1.2.2</version>
  <name>Molten - root</name>
  <description>A reactive toolbox for integration</description>
  <packaging>pom</packaging>

  <properties>
    <checkstyle.suppressions.location>build/suppressions.xml</checkstyle.suppressions.location>
    <skip.integration.tests>false</skip.integration.tests>
    <!-- versions -->
    <testcontainers.version>1.15.3</testcontainers.version>
    <vertx.version>3.9.4</vertx.version>
  </properties>

  <modules>
    <module>../molten-core</module>
    <module>../molten-trace</module>
    <module>../molten-trace-test</module>
    <module>../molten-health</module>
    <module>../molten-cache</module>
    <module>../molten-http-client</module>
    <module>../molten-metrics</module>
    <module>../molten-remote-cache</module>
    <module>../molten-spring-boot</module>
    <module>../molten-test</module>
    <module>../molten-test-mockito-autoconfigure</module>
  </modules>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>com.expediagroup.molten</groupId>
        <artifactId>molten-bom</artifactId>
        <version>${project.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>com.expediagroup.molten</groupId>
        <artifactId>molten-dependencies</artifactId>
        <version>${project.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>org.testcontainers</groupId>
        <artifactId>testcontainers-bom</artifactId>
        <version>${testcontainers.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>io.vertx</groupId>
        <artifactId>vertx-core</artifactId>
        <version>${vertx.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>io.vertx</groupId>
        <artifactId>vertx-web</artifactId>
        <version>${vertx.version}</version>
        <scope>test</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <dependencies>
    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
    </dependency>
    <dependency>
      <groupId>io.projectreactor</groupId>
      <artifactId>reactor-test</artifactId>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <configuration>
          <excludes>
            <exclude>**/*IntegrationTest</exclude>
          </excludes>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-failsafe-plugin</artifactId>
        <configuration>
          <forkedProcessTimeoutInSeconds>${surefire.fork.timeout.in.seconds}</forkedProcessTimeoutInSeconds>
          <forkedProcessExitTimeoutInSeconds>30</forkedProcessExitTimeoutInSeconds>
          <forkCount>1</forkCount>
          <reuseForks>true</reuseForks>
          <includes>
            <include>**/*IntegrationTest</include>
          </includes>
          <parallel>none</parallel>
          <threadCount>1</threadCount>
        </configuration>
        <executions>
          <execution>
            <goals>
              <goal>integration-test</goal>
              <goal>verify</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>
