<?xml version='1.0' encoding='utf-8'?>
<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.dream11</groupId>
  <artifactId>d11-vertx-parent</artifactId>
  <version>1.0.6</version>
  <packaging>pom</packaging>

  <scm>
    <developerConnection>scm:git:https://github.com/dream11/d11-vertx-parent.git</developerConnection>
    <tag>1.0.6</tag>
  <url>https://github.com/dream11/d11-vertx-parent</url><connection>scm:git:git://github.com/dream11/d11-vertx-parent.git</connection></scm>

  <modules>
    <module>microservice</module>
    <module>library</module>
  </modules>

  <properties>
    <vertx.version>3.9.2</vertx.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <ci.config.dir>${basedir}/src/main/resources/ci</ci.config.dir>
    <checkstyle.version>8.32</checkstyle.version>
    <lombok.version>1.18.12</lombok.version>

    <d11-vertx-docugen.version>1.0.33</d11-vertx-docugen.version>
    <maven.compile.version>11</maven.compile.version>
    <maven.compile.source>11</maven.compile.source>
    <maven.compile.target>11</maven.compile.target>
    <maven.compiler.plugin.version>3.8.1</maven.compiler.plugin.version>
    <maven.clean.plugin.vesion>3.1.0</maven.clean.plugin.vesion>
    <maven.checkstyle.plugin.version>3.1.1</maven.checkstyle.plugin.version>
    <maven.surefire.plugin.version>3.0.0-M5</maven.surefire.plugin.version>
    <maven.failsafe.plugin.version>3.0.0-M5</maven.failsafe.plugin.version>
    <maven.jacoco.plugin.version>0.8.6</maven.jacoco.plugin.version>
    <maven.source.plugin.version>3.2.1</maven.source.plugin.version>
    <maven.release.plugin.version>3.0.0-M1</maven.release.plugin.version>
    <maven.lombok.plugin.version>1.18.6.0</maven.lombok.plugin.version>
  <maven.javadoc.plugin.version>3.6.3</maven.javadoc.plugin.version><maven.gpg.plugin.version>3.1.0</maven.gpg.plugin.version><central.publishing.plugin.version>0.4.0</central.publishing.plugin.version></properties>

  <dependencies>
    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <version>1.18.12</version>
      <scope>provided</scope>
    </dependency>
  </dependencies>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>io.vertx</groupId>
        <artifactId>vertx-stack-depchain</artifactId>
        <version>${vertx.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <build>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>${maven.compiler.plugin.version}</version>
        <configuration>
          <compilerVersion>${maven.compile.version}</compilerVersion>
          <source>${maven.compile.source}</source>
          <target>${maven.compile.target}</target>
          <encoding>${project.build.sourceEncoding}</encoding>
          <useIncrementalCompilation>false</useIncrementalCompilation>

          <annotationProcessors combine.children="append">
            <annotationProcessor>lombok.launch.AnnotationProcessorHider$AnnotationProcessor</annotationProcessor>
            <annotationProcessor>io.vertx.codegen.CodeGenProcessor</annotationProcessor>
          </annotationProcessors>
          <generatedSourcesDirectory>${project.basedir}/src/main/generated</generatedSourcesDirectory>
          <compilerArgs>
            <arg>-Acodegen.output=${project.basedir}/src/main</arg>
          </compilerArgs>
        </configuration>
      </plugin>

      <plugin>
        <artifactId>maven-clean-plugin</artifactId>
        <version>${maven.clean.plugin.vesion}</version>
        <configuration>
          <filesets>
            <fileset>
              <directory>${project.basedir}/src/main/generated</directory>
            </fileset>
          </filesets>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok-maven-plugin</artifactId>
        <version>${maven.lombok.plugin.version}</version>
        <dependencies>
          <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>${lombok.version}</version>
          </dependency>
        </dependencies>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>${maven.surefire.plugin.version}</version>
        <configuration>
          
          <trimStackTrace>false</trimStackTrace>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-failsafe-plugin</artifactId>
        <version>${maven.failsafe.plugin.version}</version>
        <executions>
          <execution>
            <id>integration-tests</id>
            <goals>
              <goal>integration-test</goal>
              <goal>verify</goal>
            </goals>
            <configuration>
              
              <useModulePath>false</useModulePath>
              
              <trimStackTrace>false</trimStackTrace>
            </configuration>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>org.jacoco</groupId>
        <artifactId>jacoco-maven-plugin</artifactId>
        <version>${maven.jacoco.plugin.version}</version>
        <executions>
          <execution>
            <id>pre-unit-test</id>
            <goals>
              <goal>prepare-agent</goal>
            </goals>
          </execution>
          <execution>
            <id>post-unit-test</id>
            <phase>prepare-package</phase>
            <goals>
              <goal>report</goal>
            </goals>
          </execution>
          <execution>
            <id>pre-integration-test</id>
            <phase>pre-integration-test</phase>
            <goals>
              <goal>prepare-agent</goal>
            </goals>
          </execution>
          <execution>
            <id>post-integration-test</id>
            <phase>post-integration-test</phase>
            <goals>
              <goal>report</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <artifactId>maven-source-plugin</artifactId>
        <version>${maven.source.plugin.version}</version>
        <executions>
          <execution>
            <id>attach-sources</id>
            <goals>
              <goal>jar</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <version>${maven.checkstyle.plugin.version}</version>
        <dependencies>
          <dependency>
            <groupId>com.puppycrawl.tools</groupId>
            <artifactId>checkstyle</artifactId>
            <version>${checkstyle.version}</version>
          </dependency>
        </dependencies>
        <configuration>
          <consoleOutput>true</consoleOutput>
          <encoding>UTF-8</encoding>
          <violationSeverity>warning</violationSeverity>
          <configLocation>${ci.config.dir}/checkstyle.xml</configLocation>
          <propertyExpansion>checkstyle.config.dir=${ci.config.dir}</propertyExpansion>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-release-plugin</artifactId>
        <version>${maven.release.plugin.version}</version>
      </plugin>

      <plugin>
        <groupId>com.dream11.docugen</groupId>
        <artifactId>docugen-maven-plugin</artifactId>
        <version>${d11-vertx-docugen.version}</version>
        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>generate</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

    <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-javadoc-plugin</artifactId><version>${maven.javadoc.plugin.version}</version><configuration><failOnError>false</failOnError><doclint>none</doclint></configuration><executions><execution><id>attach-javadocs</id><goals><goal>jar</goal></goals></execution></executions></plugin><plugin><groupId>org.sonatype.central</groupId><artifactId>central-publishing-maven-plugin</artifactId><version>${central.publishing.plugin.version}</version><extensions>true</extensions><configuration><publishingServerId>central</publishingServerId><autoPublish>true</autoPublish></configuration></plugin></plugins>
  </build>

  <distributionManagement>
    <repository>
      <id>central</id>
      <name>d11-repo-release</name>
      <url>https://central.sonatype.com</url>
    </repository>
    <snapshotRepository>
      <id>snapshots</id>
      <name>d11-repo-snapshots</name>
      <url>https://artifacts.dream11.com/artifactory/d11-groups</url>
    </snapshotRepository>
  </distributionManagement>

<name>d11-vertx-parent</name><description>d11-vertx-parent library</description><url>https://github.com/dream11/d11-vertx-parent</url><licenses><license><name>MIT License</name><url>https://opensource.org/licenses/MIT</url><distribution>repo</distribution></license></licenses><developers><developer><id>abhishek.awasthi</id><name>Abhishek Awasthi</name><email>abhishek.awasthi@dream11.com</email><organization>Dream11</organization><organizationUrl>https://www.dream11.com/</organizationUrl></developer></developers><profiles><profile><id>release</id><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-gpg-plugin</artifactId><version>${maven.gpg.plugin.version}</version><configuration><gpgArguments><arg>--pinentry-mode</arg><arg>loopback</arg></gpgArguments></configuration><executions><execution><id>sign-artifacts</id><phase>verify</phase><goals><goal>sign</goal></goals></execution></executions></plugin></plugins></build></profile></profiles></project>