<?xml version="1.0" encoding="UTF-8"?>
<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>tech.simter</groupId>
  <artifactId>simter-build</artifactId>
  <version>1.2.0</version>
  <packaging>pom</packaging>
  <name>simter-build</name>
  <description>Simter Build</description>
  <url>https://github.com/simter/simter-build</url>
  <organization>
    <name>simter</name>
    <url>https://github.com/simter</url>
  </organization>
  <licenses>
    <license>
      <name>MIT</name>
      <url>https://opensource.org/licenses/MIT</url>
      <distribution>repo</distribution>
    </license>
  </licenses>
  <developers>
    <developer>
      <name>RJ.Hwang</name>
      <email>rongjihuang@gmail.com</email>
    </developer>
  </developers>
  <scm>
    <url>https://github.com/simter/simter-build.git</url>
  </scm>
  <issueManagement>
    <system>GitHub</system>
    <url>https://github.com/simter/simter-build/issues</url>
  </issueManagement>
  <properties>
    <mongo-embedded.version>3.5.5</mongo-embedded.version>
    <maven.compiler.target>1.8</maven.compiler.target>
    <spring-data-releasetrain.milestone.version>Moore-RC1</spring-data-releasetrain.milestone.version>
    <postgres-embedded.version>9.6.12-1</postgres-embedded.version>
    <derby-driver.version>10.14.2.0</derby-driver.version>
    <junit4.version>4.12</junit4.version>
    <mockito-kotlin.version>1.6.0</mockito-kotlin.version>
    <poi.version>4.0.1</poi.version>
    <dollar>$</dollar>
    <spring-data-releasetrain.version>Lovelace-SR9</spring-data-releasetrain.version>
    <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
    <gpg.executable>gpg</gpg.executable>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <springmockk.version>1.1.2</springmockk.version>
    <spring-boot.version>2.1.6.RELEASE</spring-boot.version>
    <mockito.version>2.28.2</mockito.version>
    <mysql-driver.version>8.0.15</mysql-driver.version>
    <mysql-embedded.version>5.7.19</mysql-embedded.version>
    <postgres-driver.version>42.2.5</postgres-driver.version>
    <maven.compiler.source>1.8</maven.compiler.source>
    <reactor.version>Californium-SR9</reactor.version>
    <r2dbc.version>Arabba-M8</r2dbc.version>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <h2-driver.version>1.4.199</h2-driver.version>
    <reactor.milestone.version>Dysprosium-M2</reactor.milestone.version>
    <junit5.version>5.5.0</junit5.version>
    <spring.milestone.version>5.2.0.M3</spring.milestone.version>
    <hibernate.version>5.4.3.Final</hibernate.version>
    <kotlin.compiler.incremental>true</kotlin.compiler.incremental>
    <kotlin.version>1.3.40</kotlin.version>
    <mockk.version>1.9.3</mockk.version>
    <hibernate-validator.version>6.0.17.Final</hibernate-validator.version>
    <hsql-driver.version>2.4.1</hsql-driver.version>
    <spring-boot-r2dbc.version>0.1.0.M1</spring-boot-r2dbc.version>
    <spring-data-r2dbc.version>1.0.0.M2</spring-data-r2dbc.version>
    <java.version>1.8</java.version>
    <eclipselink.version>2.7.4</eclipselink.version>
    <spring.version>5.1.8.RELEASE</spring.version>
    <spring-boot.milestone.version>2.2.0.M4</spring-boot.milestone.version>
    <simter.version>1.2.0</simter.version>
    <maven-surefire-plugin.version>2.22.2</maven-surefire-plugin.version>
    <revision>1.2.0</revision>
  </properties>
  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.jetbrains.kotlin</groupId>
          <artifactId>kotlin-maven-plugin</artifactId>
          <version>${kotlin.version}</version>
          <executions>
            <execution>
              <id>compile</id>
              <goals>
                <goal>compile</goal>
              </goals>
            </execution>
            <execution>
              <id>test-compile</id>
              <goals>
                <goal>test-compile</goal>
              </goals>
            </execution>
          </executions>
          <dependencies>
            <dependency>
              <groupId>org.jetbrains.kotlin</groupId>
              <artifactId>kotlin-maven-allopen</artifactId>
              <version>${kotlin.version}</version>
            </dependency>
            <dependency>
              <groupId>org.jetbrains.kotlin</groupId>
              <artifactId>kotlin-maven-noarg</artifactId>
              <version>${kotlin.version}</version>
            </dependency>
          </dependencies>
          <configuration>
            <jvmTarget>${java.version}</jvmTarget>
            <languageVersion>1.3</languageVersion>
            <apiVersion>1.3</apiVersion>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-dependency-plugin</artifactId>
          <version>3.0.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-source-plugin</artifactId>
          <version>3.0.1</version>
          <executions>
            <execution>
              <id>attach-sources</id>
              <goals>
                <goal>jar-no-fork</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <artifactId>maven-javadoc-plugin</artifactId>
          <version>3.0.0</version>
          <executions>
            <execution>
              <phase>package</phase>
              <goals>
                <goal>jar</goal>
              </goals>
            </execution>
          </executions>
          <configuration>
            <charset>UTF-8</charset>
            <encoding>UTF-8</encoding>
            <docencoding>UTF-8</docencoding>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.jetbrains.dokka</groupId>
          <artifactId>dokka-maven-plugin</artifactId>
          <version>0.9.18</version>
          <executions>
            <execution>
              <phase>package</phase>
              <goals>
                <goal>javadocJar</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <artifactId>maven-clean-plugin</artifactId>
          <version>3.0.0</version>
        </plugin>
        <plugin>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.7.0</version>
        </plugin>
        <plugin>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>2.8.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-install-plugin</artifactId>
          <version>2.5.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-jar-plugin</artifactId>
          <version>3.0.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-resources-plugin</artifactId>
          <version>3.0.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-site-plugin</artifactId>
          <version>3.7</version>
        </plugin>
        <plugin>
          <artifactId>maven-project-info-reports-plugin</artifactId>
          <version>2.9</version>
        </plugin>
        <plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>${maven-surefire-plugin.version}</version>
          <dependencies>
            <dependency>
              <groupId>org.junit.jupiter</groupId>
              <artifactId>junit-jupiter-engine</artifactId>
              <version>${junit5.version}</version>
            </dependency>
            <dependency>
              <groupId>org.junit.vintage</groupId>
              <artifactId>junit-vintage-engine</artifactId>
              <version>${junit5.version}</version>
            </dependency>
          </dependencies>
          <configuration>
            <includes>
              <include>**/*Test.java</include>
              <include>**/*Tests.java</include>
              <include>**/*Test.kt</include>
              <include>**/*Tests.kt</include>
            </includes>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-gpg-plugin</artifactId>
          <version>1.6</version>
          <executions>
            <execution>
              <id>sign-artifacts</id>
              <phase>verify</phase>
              <goals>
                <goal>sign</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <artifactId>maven-enforcer-plugin</artifactId>
          <version>3.0.0-M2</version>
          <executions>
            <execution>
              <id>enforce-rules</id>
              <goals>
                <goal>enforce</goal>
              </goals>
              <configuration>
                <rules>
                  <requireMavenVersion>
                    <version>3.6.0</version>
                  </requireMavenVersion>
                  <requireJavaVersion>
                    <version>[1.8,)</version>
                  </requireJavaVersion>
                  <requireProperty>
                    <property>project.name</property>
                  </requireProperty>
                  <requireProperty>
                    <property>project.description</property>
                  </requireProperty>
                  <requireReleaseDeps>
                    <onlyWhenRelease>true</onlyWhenRelease>
                    <message>No Snapshots Allowed!</message>
                  </requireReleaseDeps>
                </rules>
                <fail>true</fail>
              </configuration>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>flatten-maven-plugin</artifactId>
          <version>1.1.0</version>
        </plugin>
        <plugin>
          <groupId>pl.project13.maven</groupId>
          <artifactId>git-commit-id-plugin</artifactId>
          <version>2.2.6</version>
          <executions>
            <execution>
              <id>get-the-git-infos</id>
              <phase>process-sources</phase>
              <goals>
                <goal>revision</goal>
              </goals>
            </execution>
          </executions>
          <configuration>
            <verbose>false</verbose>
            <runOnlyOnce>true</runOnlyOnce>
            <failOnNoGitDirectory>false</failOnNoGitDirectory>
            <dateFormat>yyyy-MM-dd'T'HH:mm:ssZ</dateFormat>
            <generateGitPropertiesFile>true</generateGitPropertiesFile>
            <generateGitPropertiesFilename>${project.build.outputDirectory}/git.properties</generateGitPropertiesFilename>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>exec-maven-plugin</artifactId>
          <version>1.6.0</version>
        </plugin>
        <plugin>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-maven-plugin</artifactId>
          <version>${spring-boot.version}</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
  <profiles>
    <profile>
      <id>lan</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-source-plugin</artifactId>
          </plugin>
          <plugin>
            <artifactId>maven-javadoc-plugin</artifactId>
          </plugin>
        </plugins>
      </build>
      <distributionManagement>
        <repository>
          <id>lan</id>
          <url>${lan-release-url}</url>
        </repository>
        <snapshotRepository>
          <id>lan</id>
          <url>${lan-snapshot-url}</url>
        </snapshotRepository>
      </distributionManagement>
    </profile>
    <profile>
      <id>sonatype</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-source-plugin</artifactId>
          </plugin>
          <plugin>
            <artifactId>maven-javadoc-plugin</artifactId>
          </plugin>
          <plugin>
            <artifactId>maven-gpg-plugin</artifactId>
          </plugin>
        </plugins>
      </build>
      <distributionManagement>
        <repository>
          <id>sonatype</id>
          <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
        </repository>
        <snapshotRepository>
          <id>sonatype</id>
          <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
        </snapshotRepository>
      </distributionManagement>
    </profile>
    <profile>
      <id>bintray</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-source-plugin</artifactId>
            <version>3.0.1</version>
            <executions>
              <execution>
                <id>attach-sources</id>
                <goals>
                  <goal>jar-no-fork</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>3.0.0</version>
            <executions>
              <execution>
                <phase>package</phase>
                <goals>
                  <goal>jar</goal>
                </goals>
                <configuration>
                  <charset>UTF-8</charset>
                  <encoding>UTF-8</encoding>
                  <docencoding>UTF-8</docencoding>
                </configuration>
              </execution>
            </executions>
            <configuration>
              <charset>UTF-8</charset>
              <encoding>UTF-8</encoding>
              <docencoding>UTF-8</docencoding>
            </configuration>
          </plugin>
          <plugin>
            <artifactId>maven-gpg-plugin</artifactId>
            <version>1.6</version>
            <executions>
              <execution>
                <id>sign-artifacts</id>
                <phase>verify</phase>
                <goals>
                  <goal>sign</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
      <distributionManagement>
        <repository>
          <id>bintray</id>
          <url>https://api.bintray.com/maven/simter/maven/${project.groupId}:${project.artifactId}/;publish=1</url>
        </repository>
        <snapshotRepository>
          <id>bintray</id>
          <url>https://api.bintray.com/maven/simter/maven/${project.groupId}:${project.artifactId}/;publish=1</url>
        </snapshotRepository>
      </distributionManagement>
    </profile>
    <profile>
      <id>bintray-kotlin</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-source-plugin</artifactId>
          </plugin>
          <plugin>
            <groupId>org.jetbrains.dokka</groupId>
            <artifactId>dokka-maven-plugin</artifactId>
          </plugin>
          <plugin>
            <artifactId>maven-gpg-plugin</artifactId>
          </plugin>
        </plugins>
      </build>
      <distributionManagement>
        <repository>
          <id>bintray</id>
          <url>https://api.bintray.com/maven/simter/maven/${project.groupId}:${project.artifactId}/;publish=1</url>
        </repository>
        <snapshotRepository>
          <id>bintray</id>
          <url>https://api.bintray.com/maven/simter/maven/${project.groupId}:${project.artifactId}/;publish=1</url>
        </snapshotRepository>
      </distributionManagement>
    </profile>
  </profiles>
</project>
