<?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">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>fr.codeanddata.semrack</groupId>
    <artifactId>semrack-parent</artifactId>
    <version>1.0a-SNAPSHOT</version>
    <relativePath>../pom.xml</relativePath>
  </parent>

  <packaging>pom</packaging>
  <artifactId>semrack-bom</artifactId>
  <name>Bom</name>

  <properties>
    <!-- Quarkus project basics -->
    <compiler-plugin.version>3.14.0</compiler-plugin.version>
    <maven.compiler.release>21</maven.compiler.release>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <quarkus.platform.artifact-id>quarkus-bom</quarkus.platform.artifact-id>
    <quarkus.platform.group-id>io.quarkus.platform</quarkus.platform.group-id>
    <quarkus.platform.version>${quarkus.version}</quarkus.platform.version>
    <skipITs>true</skipITs>
    <surefire-plugin.version>3.5.3</surefire-plugin.version>

    <!-- Other properties -->
    <commons-codec.version>1.16.0</commons-codec.version>
    <jsonpath.version>2.9.0</jsonpath.version>
    <lombok.version>1.18.38</lombok.version>
    <org.mapstruct.version>1.6.3</org.mapstruct.version>
    <quarkus.version>3.31.3</quarkus.version>
    <semrack.version>${project.version}</semrack.version>
  </properties>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>${quarkus.platform.group-id}</groupId>
        <artifactId>${quarkus.platform.artifact-id}</artifactId>
        <version>${quarkus.platform.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>commons-codec</groupId>
        <artifactId>commons-codec</artifactId>
        <version>${commons-codec.version}</version>
      </dependency>
      <dependency>
        <groupId>org.mapstruct</groupId>
        <artifactId>mapstruct</artifactId>
        <version>${org.mapstruct.version}</version>
      </dependency>
      <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>${lombok.version}</version>
        <scope>provided</scope>
      </dependency>

      <!-- SEMRACK -->
      <dependency>
        <groupId>fr.codeanddata.semrack</groupId>
        <artifactId>semrack-bom</artifactId>
        <version>${semrack.version}</version>
      </dependency>
      <dependency>
        <groupId>fr.codeanddata.semrack</groupId>
        <artifactId>semrack</artifactId>
        <version>${semrack.version}</version>
      </dependency>
      <dependency>
        <groupId>fr.codeanddata.semrack</groupId>
        <artifactId>semrack-core</artifactId>
        <version>${semrack.version}</version>
      </dependency>
      <dependency>
        <groupId>fr.codeanddata.semrack</groupId>
        <artifactId>semrack-core-testing</artifactId>
        <version>${semrack.version}</version>
      </dependency>
      <dependency>
        <groupId>fr.codeanddata.semrack</groupId>
        <artifactId>semrack-core-deployment</artifactId>
        <version>${semrack.version}</version>
      </dependency>
      <dependency>
        <groupId>fr.codeanddata.semrack</groupId>
        <artifactId>semrack-index-postgres</artifactId>
        <version>${semrack.version}</version>
      </dependency>
      <dependency>
        <groupId>fr.codeanddata.semrack</groupId>
        <artifactId>semrack-index-postgres-deployment</artifactId>
        <version>${semrack.version}</version>
      </dependency>
      <dependency>
        <groupId>fr.codeanddata.semrack</groupId>
        <artifactId>semrack-storage-postgres</artifactId>
        <version>${semrack.version}</version>
      </dependency>
      <dependency>
        <groupId>fr.codeanddata.semrack</groupId>
        <artifactId>semrack-storage-postgres-deployment</artifactId>
        <version>${semrack.version}</version>
      </dependency>
      <dependency>
        <groupId>fr.codeanddata.semrack</groupId>
        <artifactId>semrack-api-rest</artifactId>
        <version>${semrack.version}</version>
      </dependency>
      <dependency>
        <groupId>fr.codeanddata.semrack</groupId>
        <artifactId>semrack-api-rest-deployment</artifactId>
        <version>${semrack.version}</version>
      </dependency>
      <dependency>
        <groupId>fr.codeanddata.semrack</groupId>
        <artifactId>semrack-rest-client</artifactId>
        <version>${semrack.version}</version>
      </dependency>
      <dependency>
        <groupId>fr.codeanddata.semrack</groupId>
        <artifactId>semrack-rest-client-deployment</artifactId>
        <version>${semrack.version}</version>
      </dependency>
      <dependency>
        <groupId>com.jayway.jsonpath</groupId>
        <artifactId>json-path</artifactId>
        <version>${jsonpath.version}</version>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>io.quarkus</groupId>
          <artifactId>quarkus-maven-plugin</artifactId>
          <version>${quarkus.version}</version>
        </plugin>
        <plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>${surefire-plugin.version}</version>
          <configuration>
            <systemPropertyVariables>
              <java.util.logging.manager>org.jboss.logmanager.LogManager</java.util.logging.manager>
              <maven.home>${maven.home}</maven.home>
              <maven.repo>${settings.localRepository}</maven.repo>
            </systemPropertyVariables>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-failsafe-plugin</artifactId>
          <version>${failsafe-plugin.version}</version>
          <configuration>
            <systemPropertyVariables>
              <java.util.logging.manager>org.jboss.logmanager.LogManager</java.util.logging.manager>
              <maven.home>${maven.home}</maven.home>
              <maven.repo>${settings.localRepository}</maven.repo>
            </systemPropertyVariables>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>${compiler-plugin.version}</version>
          <configuration>
            <parameters>true</parameters>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>

</project>
