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

    <scala.version>2.13.3</scala.version>

    <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.version>1.7.0.Final</quarkus.version>
    <resources-plugin.version>3.1.0</resources-plugin.version>
    <spotless-plugin.version>2.0.1</spotless-plugin.version>
    <scala-plugin.version>4.4.0</scala-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>

    <basic-annotations.version>0.2.0</basic-annotations.version>
    <findbugs-jsr305.version>3.0.2</findbugs-jsr305.version>
    <flexmark.version>0.62.2</flexmark.version>
    <google.java.format.version>1.8</google.java.format.version>
    <hibernate.version>5.4.20.Final</hibernate.version>
    <hibernate-types.version>2.9.13</hibernate-types.version>
    <jakarta-jacc-api.version>1.6.1</jakarta-jacc-api.version>
    <jna.version>5.6.0</jna.version>
    <jsoup.version>1.13.1</jsoup.version>
    <kotlin-annotations.version>1.4.0</kotlin-annotations.version>
    <liquibase.version>3.9.0</liquibase.version>
    <postgresql.version>42.2.14</postgresql.version>
    <rome.version>1.15.0</rome.version>
  </properties>

  <dependencyManagement>
    <dependencies>

      <dependency>
        <groupId>${quarkus.platform.group-id}</groupId>
        <artifactId>${quarkus.platform.artifact-id}</artifactId>
        <version>${quarkus.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>

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

    </dependencies>
  </dependencyManagement>

  <dependencies>

    <dependency>
      <groupId>org.scala-lang</groupId>
      <artifactId>scala-library</artifactId>
      <version>${scala.version}</version>
    </dependency>
    <dependency>
      <groupId>org.scala-lang</groupId>
      <artifactId>scala-reflect</artifactId>
      <version>${scala.version}</version>
    </dependency>

    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-agroal</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-scala</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-elytron-security-properties-file</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-liquibase</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>

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

  </dependencies>

  <build>

    <plugins>

      <plugin>
        <groupId>io.quarkus</groupId>
        <artifactId>quarkus-maven-plugin</artifactId>
        <version>${quarkus.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>

            <!-- Quarkus -->
            <annotationProcessorPath>
              <groupId>io.quarkus</groupId>
              <artifactId>quarkus-panache-common</artifactId>
              <version>${quarkus.version}</version>
            </annotationProcessorPath>

          </annotationProcessorPaths>
        </configuration>
      </plugin>

      <!-- Resources -->
      <plugin>
        <artifactId>maven-resources-plugin</artifactId>
        <version>${resources-plugin.version}</version>
        <executions>
          <execution>
            <id>copy-resources</id>
            <phase>prepare-package</phase>
            <goals>
              <goal>copy-resources</goal>
            </goals>
            <configuration>
              <outputDirectory>${basedir}/target/classes/META-INF/resources</outputDirectory>
              <resources>
                <resource>
                  <directory>${basedir}/src/main/resources/META-INF/resources/dist</directory>
                  <filtering>true</filtering>
                </resource>
              </resources>
            </configuration>
          </execution>
        </executions>
      </plugin>

      <!-- Liquibase -->
      <plugin>
        <groupId>org.liquibase</groupId>
        <artifactId>liquibase-maven-plugin</artifactId>
        <version>${liquibase.version}</version>
        <configuration>
          <propertyFile>src/main/resources/db/liquibase.properties</propertyFile>
        </configuration>
        <dependencies>
          <dependency>
            <groupId>org.liquibase.ext</groupId>
            <artifactId>liquibase-hibernate5</artifactId> <!-- note: I tried hibernate4 release version as well -->
            <version>${liquibase.version}</version>
          </dependency>
          <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>${hibernate.version}</version>
          </dependency>
          <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>${hibernate.version}</version>
          </dependency>
          <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-envers</artifactId>
            <version>${hibernate.version}</version>
          </dependency>
          <dependency>
            <groupId>org.postgresql</groupId>
            <artifactId>postgresql</artifactId>
            <version>${postgresql.version}</version>
          </dependency>
        </dependencies>
      </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>

      <plugin>
        <groupId>net.alchim31.maven</groupId>
        <artifactId>scala-maven-plugin</artifactId>
        <version>${scala-plugin.version}</version>

        <executions>
          <execution>
            <id>scala-compile-first</id>
            <phase>process-resources</phase>
            <goals>
              <goal>add-source</goal>
              <goal>compile</goal>
            </goals>
          </execution>
          <execution>
            <id>scala-test-compile</id>
            <phase>process-test-resources</phase>
            <goals>
              <goal>add-source</goal>
              <goal>testCompile</goal>
            </goals>
          </execution>
        </executions>

        <configuration>
          <scalaVersion>${scala.version}</scalaVersion>
          <localInstall>false</localInstall>
          <!--<recompileMode>incremental</recompileMode>-->
          <args>
            <arg>-Xsource:3</arg>
            <!--
            <arg>-deprecation</arg>
            <arg>-feature</arg>
            <arg>-explaintypes</arg>
            <arg>-target:jvm-1.8</arg>
            <arg>-Ypartial-unification</arg>
            -->
          </args>

          <javacArgs>
            <javacArg>-Xlint:deprecation</javacArg>
          </javacArgs>

          <additionalDependencies>

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

            <!-- Quarkus -->
            <dependency>
              <groupId>io.quarkus</groupId>
              <artifactId>quarkus-panache-common</artifactId>
              <version>${quarkus.version}</version>
            </dependency>

            <!-- Annotations -->
            <dependency>
              <groupId>org.jetbrains.kotlin</groupId>
              <artifactId>kotlin-annotations-jvm</artifactId>
              <version>${kotlin-annotations.version}</version>
            </dependency>

          </additionalDependencies>
        </configuration>

      </plugin>

    </plugins>

    <resources>
      <resource>
        <directory>src/main/resources</directory>
        <excludes>
          <exclude>META-INF/resources/.cache</exclude>
          <exclude>META-INF/resources/.eslintrc.js</exclude>
          <exclude>META-INF/resources/.flowconfig</exclude>
          <exclude>META-INF/resources/.parcel-cache/**/*</exclude>
          <exclude>META-INF/resources/dist/**/*</exclude>
          <exclude>META-INF/resources/node_modules/**/*</exclude>
          <exclude>META-INF/resources/web_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>
