<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>
   <groupId>com.gitlab.cdc-java.rdb</groupId>
   <artifactId>cdc-rdb</artifactId>
   <version>0.20.0</version>
   <packaging>pom</packaging>

   <name>CDC - RDB</name>
   <description>Relation Databases utilities.</description>
   <url>https://www.gitlab.com/cdc-java/cdc-rdb</url>

   <licenses>
      <license>
         <name>GNU LESSER GENERAL PUBLIC LICENSE</name>
         <url>http://www.gnu.org/licenses/lgpl-3.0.html</url>
         <distribution>manual</distribution>
      </license>
   </licenses>

   <developers>
      <developer>
         <id>dc14</id>
         <name>Damien Carbonne</name>
         <email>damien.carbonne@gmail.com</email>
         <timezone>Europe/Paris</timezone>
      </developer>
   </developers>

   <modules>
      <module>cdc-rdb-api</module>
      <module>cdc-rdb-bom</module>
      <module>cdc-rdb-demos</module>
      <module>cdc-rdb-report</module>
      <module>cdc-rdb-tools</module>
   </modules>

   <scm>
      <url>https://gitlab.com/cdc-java/cdc-rdb</url>
      <connection>scm:git:https://gitlab.com/cdc-java/cdc-rdb.git</connection>
      <developerConnection>scm:git:https://gitlab.com/cdc-java/cdc-rdb.git</developerConnection>
      <tag>HEAD</tag>
   </scm>

   <distributionManagement>
      <snapshotRepository>
         <id>ossrh</id>
         <url>https://oss.sonatype.org/content/repositories/snapshots</url>
      </snapshotRepository>
      <repository>
         <id>ossrh</id>
         <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
      </repository>
   </distributionManagement>

   <properties>
      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

      <cdc.kernel.version>0.20.0</cdc.kernel.version>
      <cdc.office.version>0.20.0</cdc.office.version>
      <cdc.util.version>0.14.2</cdc.util.version>
      <junit.version>5.8.2</junit.version>
      <log4j.version>2.17.1</log4j.version>
      <maven.checkstyle.version>3.1.2</maven.checkstyle.version>
      <maven.compiler.version>3.9.0</maven.compiler.version>
      <maven.dependency.version>3.2.0</maven.dependency.version>
      <maven.depgraph.version>3.3.1</maven.depgraph.version>
      <maven.deploy.version>3.0.0-M2</maven.deploy.version>
      <maven.gpg.version>3.0.1</maven.gpg.version>
      <maven.install.version>3.0.0-M1</maven.install.version>
      <maven.jacoco.version>0.8.7</maven.jacoco.version>
      <maven.jar.version>3.2.2</maven.jar.version>
      <maven.javadoc.version>3.3.1</maven.javadoc.version>
      <maven.project.info.reports.version>3.0.0</maven.project.info.reports.version>
      <maven.source.version>3.2.1</maven.source.version>
      <maven.surefire.version>3.0.0-M5</maven.surefire.version>
      <maven.versions.version>2.7</maven.versions.version>
      <nexus.staging.maven.version>1.6.8</nexus.staging.maven.version>
   </properties>


   <dependencyManagement>
      <dependencies>
         <!-- CDC -->
         <dependency>
            <groupId>com.gitlab.cdc-java.util</groupId>
            <artifactId>cdc-util-bom</artifactId>
            <version>${cdc.util.version}</version>
            <scope>import</scope>
            <type>pom</type>
         </dependency>
         <dependency>
            <groupId>com.gitlab.cdc-java.kernel</groupId>
            <artifactId>cdc-kernel-bom</artifactId>
            <version>${cdc.kernel.version}</version>
            <scope>import</scope>
            <type>pom</type>
         </dependency>
         <dependency>
            <groupId>com.gitlab.cdc-java.office</groupId>
            <artifactId>cdc-office-bom</artifactId>
            <version>${cdc.office.version}</version>
            <scope>import</scope>
            <type>pom</type>
         </dependency>

         <!-- JUnit -->
         <dependency>
            <groupId>org.junit</groupId>
            <artifactId>junit-bom</artifactId>
            <version>${junit.version}</version>
            <scope>import</scope>
            <type>pom</type>
         </dependency>

         <!-- Log4j -->
         <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-api</artifactId>
            <version>${log4j.version}</version>
         </dependency>
         <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-core</artifactId>
            <version>${log4j.version}</version>
            <scope>runtime</scope>
         </dependency>
         <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-iostreams</artifactId>
            <version>${log4j.version}</version>
         </dependency>
      </dependencies>
   </dependencyManagement>

   <build>
      <pluginManagement>
         <plugins>
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-checkstyle-plugin</artifactId>
               <version>${maven.checkstyle.version}</version>
               <configuration>
                  <configLocation>cdc-checks.xml</configLocation>
               </configuration>
            </plugin>
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-compiler-plugin</artifactId>
               <version>${maven.compiler.version}</version>
               <configuration>
                  <source>11</source>
                  <target>11</target>
               </configuration>
            </plugin>
            <plugin>
               <groupId>com.github.ferstl</groupId>
               <artifactId>depgraph-maven-plugin</artifactId>
               <version>${maven.depgraph.version}</version>
               <executions>
                  <execution>
                     <goals>
                        <goal>aggregate</goal>
                     </goals>
                     <configuration>
                        <createImage>true</createImage>
                        <imageFormat>pdf</imageFormat>
                        <showGroupIds>true</showGroupIds>
                        <showVersions>true</showVersions>
                        <mergeScopes>true</mergeScopes>
                        <customStyleConfiguration>depgraph-styles.json</customStyleConfiguration>
                     </configuration>
                  </execution>
               </executions>
            </plugin>
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-dependency-plugin</artifactId>
               <version>${maven.dependency.version}</version>
            </plugin>
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-deploy-plugin</artifactId>
               <version>${maven.deploy.version}</version>
               <configuration>
                  <skip>true</skip>
               </configuration>
            </plugin>
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-gpg-plugin</artifactId>
               <version>${maven.gpg.version}</version>
               <executions>
                  <execution>
                     <id>sign-artifacts</id>
                     <phase>verify</phase>
                     <goals>
                        <goal>sign</goal>
                     </goals>
                     <configuration>
                        <keyname>${gpg.keyname}</keyname>
                        <passphraseServerId>${gpg.keyname}</passphraseServerId>
                     </configuration>
                  </execution>
               </executions>
            </plugin>
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-install-plugin</artifactId>
               <version>${maven.install.version}</version>
               <configuration>
                  <createChecksum>true</createChecksum>
               </configuration>
               <executions>
                  <execution>
                     <goals>
                        <goal>install</goal>
                     </goals>
                  </execution>
               </executions>
            </plugin>
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-jar-plugin</artifactId>
               <version>${maven.jar.version}</version>
               <configuration>
                  <skipIfEmpty>true</skipIfEmpty>
                  <excludes>
                     <exclude>**/log4j2.xml</exclude>
                  </excludes>
               </configuration>
               <executions>
                  <execution>
                     <goals>
                        <goal>test-jar</goal>
                     </goals>
                  </execution>
               </executions>
            </plugin>
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-javadoc-plugin</artifactId>
               <version>${maven.javadoc.version}</version>
               <configuration>
                  <show>package</show>
                  <quiet>true</quiet>
                  <source>11</source>
               </configuration>
               <executions>
                  <execution>
                     <goals>
                        <goal>jar</goal>
                     </goals>
                  </execution>
               </executions>
            </plugin>
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-project-info-reports-plugin</artifactId>
               <version>${maven.project.info.reports.version}</version>
            </plugin>
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-source-plugin</artifactId>
               <version>${maven.source.version}</version>
               <executions>
                  <execution>
                     <id>attach-sources</id>
                     <goals>
                        <goal>jar</goal>
                     </goals>
                  </execution>
                  <execution>
                     <id>attach-test-sources</id>
                     <goals>
                        <goal>test-jar</goal>
                     </goals>
                  </execution>
               </executions>
            </plugin>
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-surefire-plugin</artifactId>
               <version>${maven.surefire.version}</version>
            </plugin>
            <plugin>
               <groupId>org.codehaus.mojo</groupId>
               <artifactId>versions-maven-plugin</artifactId>
               <version>${maven.versions.version}</version>
            </plugin>
            <plugin>
               <groupId>org.jacoco</groupId>
               <artifactId>jacoco-maven-plugin</artifactId>
               <version>${maven.jacoco.version}</version>
               <executions>
                  <execution>
                     <id>prepare-agent</id>
                     <goals>
                        <goal>prepare-agent</goal>
                     </goals>
                  </execution>
               </executions>
            </plugin>
            <plugin>
               <groupId>org.sonatype.plugins</groupId>
               <artifactId>nexus-staging-maven-plugin</artifactId>
               <version>${nexus.staging.maven.version}</version>
               <extensions>true</extensions>
               <executions>
                  <execution>
                     <id>default-deploy</id>
                     <phase>deploy</phase>
                     <goals>
                        <goal>deploy</goal>
                     </goals>
                  </execution>
               </executions>
               <configuration>
                  <serverId>ossrh</serverId>
                  <nexusUrl>https://oss.sonatype.org/</nexusUrl>
                  <autoReleaseAfterClose>false</autoReleaseAfterClose>
                  <skipStagingRepositoryClose>true</skipStagingRepositoryClose>
               </configuration>
            </plugin>
         </plugins>
      </pluginManagement>

      <plugins>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-checkstyle-plugin</artifactId>
         </plugin>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
         </plugin>
         <plugin>
            <groupId>com.github.ferstl</groupId>
            <artifactId>depgraph-maven-plugin</artifactId>
         </plugin>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
         </plugin>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-gpg-plugin</artifactId>
         </plugin>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-install-plugin</artifactId>
         </plugin>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
         </plugin>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
         </plugin>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-source-plugin</artifactId>
         </plugin>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
         </plugin>
         <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>versions-maven-plugin</artifactId>
         </plugin>
         <plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
         </plugin>
         <plugin>
            <groupId>org.sonatype.plugins</groupId>
            <artifactId>nexus-staging-maven-plugin</artifactId>
         </plugin>
      </plugins>
   </build>
</project>