<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>fr.codeanddata.semrack</groupId>
  <artifactId>semrack-parent</artifactId>
  <version>1.0a-SNAPSHOT</version>
  <packaging>pom</packaging>

  <modules>
    <module>modules/semrack-core</module>
    <module>modules/semrack-index-postgres</module>
    <module>modules/semrack-storage-postgres</module>
    <module>modules/semrack-api-rest</module>
<!--    <module>integration/semrack-integration</module>-->
  </modules>

  <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.29.4</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-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>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>

  <repositories>
    <repository>
      <id>gitea</id>
      <url>https://gitea.tech.codeanddata.fr/api/packages/${env.MAVEN_REPO_OWNER}/maven</url>
    </repository>
  </repositories>
  <distributionManagement>
    <repository>
      <id>gitea</id>
      <url>https://gitea.tech.codeanddata.fr/api/packages/${env.MAVEN_REPO_OWNER}/maven</url>
    </repository>
    <snapshotRepository>
      <id>gitea</id>
      <url>https://gitea.tech.codeanddata.fr/api/packages/${env.MAVEN_REPO_OWNER}/maven</url>
    </snapshotRepository>
  </distributionManagement>
</project>
