<?xml version="1.0"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

  <modelVersion>4.0.0</modelVersion>

  <groupId>eu.mulk</groupId>
  <artifactId>mulkcms2</artifactId>
  <version>0.1.0-SNAPSHOT</version>

  <properties>
    <maven.compiler.parameters>true</maven.compiler.parameters>
    <maven.compiler.source>11</maven.compiler.source>
    <maven.compiler.target>11</maven.compiler.target>

    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

    <antrun-plugin.version>3.0.0</antrun-plugin.version>
    <compiler-plugin.version>3.8.1</compiler-plugin.version>
    <quarkus-plugin.version>1.5.0.Final</quarkus-plugin.version>
    <spotless-plugin.version>1.30.0</spotless-plugin.version>
    <surefire-plugin.version>3.0.0-M4</surefire-plugin.version>

    <!-- <quarkus.platform.artifact-id>quarkus-universe-bom</quarkus.platform.artifact-id> -->
    <quarkus.platform.artifact-id>quarkus-bom</quarkus.platform.artifact-id>
    <quarkus.platform.group-id>io.quarkus</quarkus.platform.group-id>
    <quarkus.platform.version>1.5.0.Final</quarkus.platform.version>

    <basic-annotations.version>0.2.0</basic-annotations.version>
    <findbugs-jsr305.version>3.0.2</findbugs-jsr305.version>
    <flexmark.version>0.62.0</flexmark.version>
    <google.java.format.version>1.7</google.java.format.version>
    <hibernate.version>5.4.17.Final</hibernate.version>
    <hibernate-types.version>2.9.11</hibernate-types.version>
    <jakarta-jacc-api.version>1.6.1</jakarta-jacc-api.version>
    <jna.version>5.5.0</jna.version>
    <jsoup.version>1.13.1</jsoup.version>
    <mapstruct.version>1.4.0.Beta1</mapstruct.version>
    <rome.version>1.13.0</rome.version>
    <testcontainers.version>1.14.3</testcontainers.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>

      <!-- Hibernate PostgreSQL Extra Types -->
      <dependency>
        <groupId>com.vladmihalcea</groupId>
        <artifactId>hibernate-types-52</artifactId>
        <version>${hibernate-types.version}</version>
      </dependency>

      <!-- Annotations -->
      <dependency>
        <groupId>pl.tlinkowski.annotation</groupId>
        <artifactId>pl.tlinkowski.annotation.basic</artifactId>
        <version>${basic-annotations.version}</version>
        <scope>provided</scope>
      </dependency>

      <!-- Jsoup -->
      <dependency>
        <groupId>org.jsoup</groupId>
        <artifactId>jsoup</artifactId>
        <version>${jsoup.version}</version>
      </dependency>

      <!-- FlexMark -->
      <dependency>
        <groupId>com.vladsch.flexmark</groupId>
        <artifactId>flexmark-all</artifactId>
        <version>${flexmark.version}</version>
      </dependency>

      <!-- Rome -->
      <dependency>
        <groupId>com.rometools</groupId>
        <artifactId>rome</artifactId>
        <version>${rome.version}</version>
      </dependency>

      <!-- JNA -->
      <dependency>
        <groupId>net.java.dev.jna</groupId>
        <artifactId>jna</artifactId>
        <version>${jna.version}</version>
      </dependency>

      <!-- JACC -->
      <dependency>
        <groupId>jakarta.security.jacc</groupId>
        <artifactId>jakarta.security.jacc-api</artifactId>
        <version>${jakarta-jacc-api.version}</version>
      </dependency>

      <!-- JOSE for Java -->
      <dependency>
        <groupId>org.bitbucket.b_c</groupId>
        <artifactId>jose4j</artifactId>
        <version>0.7.0</version>
      </dependency>

      <!-- MapStruct -->
      <dependency>
        <groupId>org.mapstruct</groupId>
        <artifactId>mapstruct</artifactId>
        <version>${mapstruct.version}</version>
      </dependency>

      <!-- Annotations -->
      <dependency>
        <groupId>com.google.code.findbugs</groupId>
        <artifactId>jsr305</artifactId>
        <version>${findbugs-jsr305.version}</version>
        <scope>provided</scope>
      </dependency>

      <!-- Testing -->
      <dependency>
        <groupId>org.testcontainers</groupId>
        <artifactId>testcontainers</artifactId>
        <version>${testcontainers.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.testcontainers</groupId>
        <artifactId>postgresql</artifactId>
        <version>${testcontainers.version}</version>
        <scope>test</scope>
      </dependency>

    </dependencies>
  </dependencyManagement>

  <dependencies>

    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-agroal</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-elytron-security-properties-file</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-flyway</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-hibernate-orm-panache</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-hibernate-validator</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-jdbc-postgresql</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-oidc</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-resteasy</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-resteasy-jsonb</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-resteasy-qute</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-smallrye-jwt</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-container-image-jib</artifactId>
    </dependency>

    <!-- JNA -->
    <dependency>
      <groupId>net.java.dev.jna</groupId>
      <artifactId>jna</artifactId>
    </dependency>

    <!-- JACC -->
    <dependency>
      <groupId>jakarta.security.jacc</groupId>
      <artifactId>jakarta.security.jacc-api</artifactId>
    </dependency>

    <!-- Hibernate PostgreSQL Extra Types -->
    <dependency>
      <groupId>com.vladmihalcea</groupId>
      <artifactId>hibernate-types-52</artifactId>
    </dependency>

    <!-- Annotations -->
    <dependency>
      <groupId>pl.tlinkowski.annotation</groupId>
      <artifactId>pl.tlinkowski.annotation.basic</artifactId>
      <scope>provided</scope>
    </dependency>

    <!-- Jsoup -->
    <dependency>
      <groupId>org.jsoup</groupId>
      <artifactId>jsoup</artifactId>
    </dependency>

    <!-- FlexMark -->
    <dependency>
      <groupId>com.vladsch.flexmark</groupId>
      <artifactId>flexmark-all</artifactId>
    </dependency>

    <!-- Rome -->
    <dependency>
      <groupId>com.rometools</groupId>
      <artifactId>rome</artifactId>
    </dependency>

    <!-- JOSE for Java -->
    <dependency>
      <groupId>org.bitbucket.b_c</groupId>
      <artifactId>jose4j</artifactId>
    </dependency>

    <!-- MapStruct -->
    <dependency>
      <groupId>org.mapstruct</groupId>
      <artifactId>mapstruct</artifactId>
    </dependency>

    <!-- Annotations -->
    <dependency>
      <groupId>com.google.code.findbugs</groupId>
      <artifactId>jsr305</artifactId>
      <scope>provided</scope>
    </dependency>

    <!-- Testing -->
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-junit5</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>io.rest-assured</groupId>
      <artifactId>rest-assured</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.testcontainers</groupId>
      <artifactId>junit-jupiter</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.testcontainers</groupId>
      <artifactId>testcontainers</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.testcontainers</groupId>
      <artifactId>postgresql</artifactId>
      <scope>test</scope>
    </dependency>

  </dependencies>

  <build>

    <plugins>

      <plugin>
        <groupId>io.quarkus</groupId>
        <artifactId>quarkus-maven-plugin</artifactId>
        <version>${quarkus-plugin.version}</version>
        <executions>
          <execution>
            <goals>
              <goal>build</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>${compiler-plugin.version}</version>

        <configuration>
          <annotationProcessorPaths>
            <!-- Hibernate -->
            <annotationProcessorPath>
              <groupId>org.hibernate</groupId>
              <artifactId>hibernate-jpamodelgen</artifactId>
              <version>${hibernate.version}</version>
            </annotationProcessorPath>

            <!-- MapStruct -->
            <annotationProcessorPath>
              <groupId>org.mapstruct</groupId>
              <artifactId>mapstruct-processor</artifactId>
              <version>${mapstruct.version}</version>
            </annotationProcessorPath>
          </annotationProcessorPaths>
        </configuration>
      </plugin>

      <plugin>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>${surefire-plugin.version}</version>
        <configuration>
          <systemProperties>
            <java.util.logging.manager>org.jboss.logmanager.LogManager</java.util.logging.manager>
            <compilerArgs>
              <compilerArg>-Amapstruct.defaultComponentModel=cdi</compilerArg>
            </compilerArgs>
          </systemProperties>
        </configuration>
      </plugin>

      <!-- Google Java Code Formatter, for enforcing style conventions -->
      <plugin>
        <groupId>com.diffplug.spotless</groupId>
        <artifactId>spotless-maven-plugin</artifactId>
        <version>${spotless-plugin.version}</version>
        <configuration>
          <java>
            <removeUnusedImports/>
            <importOrder>
              <order>java,javax,org,com,de,io,dagger,eu.mulk,</order>
            </importOrder>
            <googleJavaFormat>
              <version>${google.java.format.version}</version>
              <style>GOOGLE</style>
            </googleJavaFormat>
          </java>
        </configuration>
      </plugin>

      <plugin>
        <artifactId>maven-antrun-plugin</artifactId>
        <version>${antrun-plugin.version}</version>
        <executions>
          <execution>
            <phase>generate-resources</phase>
            <configuration>
              <target>
                <ant target="web.resources" />
              </target>
            </configuration>
            <goals>
              <goal>run</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

    </plugins>

    <resources>
      <resource>
        <directory>src/main/resources</directory>
        <excludes>
          <exclude>META-INF/resources/node_modules/**/*</exclude>
          <exclude>META-INF/resources/package.json</exclude>
          <exclude>META-INF/resources/yarn.lock</exclude>
        </excludes>
        <filtering>false</filtering>
      </resource>
    </resources>

  </build>

  <profiles>

    <profile>

      <id>native</id>

      <activation>
        <property>
          <name>native</name>
        </property>
      </activation>

      <properties>
        <quarkus.package.type>native</quarkus.package.type>
      </properties>

    </profile>

  </profiles>

</project>
