<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/maven-v4_0_0.xsd">

  <modelVersion>4.0.0</modelVersion>
  <groupId>com.capitalone.dashboard</groupId>
  <artifactId>github-scm-collector</artifactId>
  <name>${project.groupId}:${project.artifactId}</name>
  <description>Github Collector Microservice collecting stats from Github</description>
  <url>https://hygieia.github.io/Hygieia/getting_started.html</url>
  <packaging>jar</packaging>
  <version>3.1.1</version>



  <parent>
    <groupId>com.capitalone.dashboard</groupId>
    <artifactId>Hygieia</artifactId>
    <version>3.0.1</version>
  </parent>

  <organization>
    <name>Hygieia</name>
    <url>https://www.github.com/Hygieia/</url>
  </organization>

  <scm>
    <connection>scm:git:https://github.com/Hygieia/hygieia-scm-github-collector.git</connection>
    <developerConnection>scm:git:https://github.com/Hygieia/hygieia-scm-github-collector.git
    </developerConnection>
    <url>https://github.com/Hygieia/hygieia-scm-github-collector</url>
  </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>
    <site>
      <id>c1.maven.plugins.website</id>
      <name>Capital One Maven Plugins Site</name>
      <url>scm:git:https://${github.username}@github.com/Hygieia/hygieia-scm-github-collector</url>
    </site>
  </distributionManagement>

  <properties>
    <apache.rat.plugin.version>0.13</apache.rat.plugin.version>
    <bc.version>3.0.1</bc.version>
    <com.capitalone.dashboard.core.version>3.1.5</com.capitalone.dashboard.core.version>
    <commons.io.version>2.4</commons.io.version>
    <commons.lang.version>3.8.1</commons.lang.version>
    <coveralls.maven.plugin.version>4.3.0</coveralls.maven.plugin.version>
    <developmentTeam>The Hygieia Team</developmentTeam>
    <jacoco.maven.plugin.version>0.8.3</jacoco.maven.plugin.version>
    <jacoco.coverage.percentage.minimum>0.010</jacoco.coverage.percentage.minimum><!-- will fix in future-->
    <jacoco.classes.missed.minimum>15</jacoco.classes.missed.minimum>
    <japicmp.breakBuildOnBinaryIncompatibleModifications>true</japicmp.breakBuildOnBinaryIncompatibleModifications>
    <japicmp.breakBuildOnSourceIncompatibleModifications>true</japicmp.breakBuildOnSourceIncompatibleModifications>
    <japicmp.skip>false</japicmp.skip>
    <java.compilation.source>1.8</java.compilation.source>
    <java.compilation.target>1.8</java.compilation.target>
    <maven.changes.plugin.version>2.12.1</maven.changes.plugin.version>
    <maven.checkstyle.plugin.version>3.0.0</maven.checkstyle.plugin.version>
    <maven.compiler.plugin.version>3.1</maven.compiler.plugin.version>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
    <maven.javadoc.plugin.version>3.1.0</maven.javadoc.plugin.version>
    <maven.pmd.plugin.version>3.11.0</maven.pmd.plugin.version>
    <maven.project-info.version>3.0.0</maven.project-info.version>
    <maven.scm.publish.plugin.version>3.0.0</maven.scm.publish.plugin.version>
    <maven.site.plugin.version>3.7.1</maven.site.plugin.version>
    <mockito.all.version>1.10.19</mockito.all.version>
    <org.joda.joda-convert.version>1.8.1</org.joda.joda-convert.version>
    <site.publish.url>https://github.com/Hygieia/hygieia-scm-github-collector</site.publish.url>
    <site.publish.checkout.directory>site-content</site.publish.checkout.directory>
    <spotbugs.plugin.version>3.1.11</spotbugs.plugin.version>
    <svnkit.version>1.8.7</svnkit.version>
  </properties>

  <issueManagement>
    <system>github</system>
    <url>https://github.com/Hygieia/hygieia-scm-github-collector/issues</url>
  </issueManagement>

  <developers>
    <developer>
      <name>Amit Mawkin</name>
    </developer>
    <developer>
      <name>Tapabrata Topo Pal</name>
      <email>tapabrata.pal@capitalone.com</email>
      <organization>CapitalOne</organization>
      <organizationUrl>http://www.capitalone.com</organizationUrl>
    </developer>
    <developer>
      <name>Raghavendra Vema</name>
      <email>ragha.vema@capitalone.com</email>
      <organization>CapitalOne</organization>
      <organizationUrl>http://www.capitalone.com</organizationUrl>
    </developer>
    <developer>
      <name>Nireesh Thiruveedula</name>
      <email>nireesh.thiruveedula@capitalone.com</email>
      <organization>CapitalOne</organization>
      <organizationUrl>http://www.capitalone.com</organizationUrl>
    </developer>
    <developer>
      <name>Stephen Hughes</name>
      <email>stephen.hughes@capitalone.com</email>
      <organization>CapitalOne</organization>
      <organizationUrl>http://www.capitalone.com</organizationUrl>
    </developer>
  </developers>

  <dependencies>
    <dependency>
      <groupId>com.capitalone.dashboard</groupId>
      <artifactId>core</artifactId>
      <version>${com.capitalone.dashboard.core.version}</version>
    </dependency>
    <dependency>
      <groupId>commons-io</groupId>
      <artifactId>commons-io</artifactId>
      <version>${commons.io.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>joda-time</groupId>
      <artifactId>joda-time</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-lang3</artifactId>
      <version>${commons.lang.version}</version>
    </dependency>
    <dependency>
      <groupId>org.joda</groupId>
      <artifactId>joda-convert</artifactId>
      <version>${org.joda.joda-convert.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-data-mongodb</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.tmatesoft.svnkit</groupId>
      <artifactId>svnkit</artifactId>
      <version>${svnkit.version}</version>
    </dependency>
    <dependency>
      <groupId>org.mockito</groupId>
      <artifactId>mockito-all</artifactId>
      <version>${mockito.all.version}</version>
    </dependency>
    <dependency>
      <groupId>com.googlecode.json-simple</groupId>
      <artifactId>json-simple</artifactId>
    </dependency>
    <dependency>
      <groupId>commons-codec</groupId>
      <artifactId>commons-codec</artifactId>
      <version>1.9</version>
    </dependency>
    <dependency>
      <groupId>commons-io</groupId>
      <artifactId>commons-io</artifactId>
      <version>2.4</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-lang3</artifactId>
      <version>3.6</version>
    </dependency>
    <dependency>
      <groupId>org.apache.httpcomponents</groupId>
      <artifactId>httpclient</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-web</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-data-mongodb</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
    <defaultGoal>clean verify apache-rat:check japicmp:cmp checkstyle:check spotbugs:check javadoc:javadoc</defaultGoal>
    <plugins>
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>${maven.compiler.plugin.version}</version>
        <configuration>
          <source>${java.compilation.source}</source>
          <target>${java.compilation.target}</target>
        </configuration>
      </plugin>
      <plugin>
        <groupId>com.github.siom79.japicmp</groupId>
        <artifactId>japicmp-maven-plugin</artifactId>
        <version>0.13.1</version>
        <configuration>
          <oldVersion>
            <dependency>
              <groupId>${project.groupId}</groupId>
              <artifactId>${project.artifactId}</artifactId>
              <version>${bc.version}</version>
              <type>jar</type>
            </dependency>
          </oldVersion>
          <newVersion>
            <file>
              <path>${project.build.directory}/${project.artifactId}-${project.version}.${project.packaging}</path>
            </file>
          </newVersion>
          <parameter>
            <onlyModified>true</onlyModified>
            <breakBuildOnBinaryIncompatibleModifications>${japicmp.breakBuildOnBinaryIncompatibleModifications}</breakBuildOnBinaryIncompatibleModifications>
            <breakBuildOnSourceIncompatibleModifications>${japicmp.breakBuildOnSourceIncompatibleModifications}</breakBuildOnSourceIncompatibleModifications>
            <!-- skip japicmp on "mvn site" - use "mvn package site" to include report -->
            <ignoreMissingNewVersion>true</ignoreMissingNewVersion>
            <reportOnlyFilename>true</reportOnlyFilename>
            <skipPomModules>true</skipPomModules>
            <ignoreMissingClasses>false</ignoreMissingClasses>
          </parameter>
          <skip>${japicmp.skip}</skip>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <version>${maven.checkstyle.plugin.version}</version>
        <configuration>
          <configLocation>src/devops/checkstyle.xml</configLocation>
          <suppressionsLocation>src/devops/checkstyle-suppressions.xml</suppressionsLocation>
          <encoding>UTF-8</encoding>
          <consoleOutput>false</consoleOutput>
          <failsOnError>true</failsOnError>
          <linkXRef>false</linkXRef>
        </configuration>
        <executions>
          <execution>
            <id>validate</id>
            <phase>validate</phase>
            <goals>
              <goal>check</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.rat</groupId>
        <artifactId>apache-rat-plugin</artifactId>
        <version>${apache.rat.plugin.version}</version>
        <configuration>
          <excludes>
            <exclude>**.tests/**</exclude>
            <exclude>**logs/**</exclude>
            <exclude>**site-content/**</exclude>
            <exclude>RELEASE-NOTES.txt</exclude>
            <exclude>src/test/resources/org/tmatesoft/svn/test/apache.config.template</exclude>
            <exclude>src/test/resources/org/tmatesoft/svn/test/test.properties.template</exclude>
            <exclude>src/test/resources/org/tmatesoft/svn/test/svnserve.config.template</exclude>
            <exclude>src/main/resources/banner.txt</exclude>
          </excludes>
        </configuration>
      </plugin>
      <plugin>
        <groupId>com.github.spotbugs</groupId>
        <artifactId>spotbugs-maven-plugin</artifactId>
        <version>${spotbugs.plugin.version}</version>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-pmd-plugin</artifactId>
        <version>${maven.pmd.plugin.version}</version>
        <configuration>
          <failOnViolation>false</failOnViolation>
          <rulesets>
            <ruleset>src/devops/pmd.xml</ruleset>
          </rulesets>
          <targetJdk>${java.compilation.target}</targetJdk>
        </configuration>
      </plugin>
      <plugin>
        <groupId>com.spotify</groupId>
        <artifactId>docker-maven-plugin</artifactId>
        <configuration>
          <skipDockerBuild>false</skipDockerBuild>
          <imageName>hygieia-scm-github-collector</imageName>
          <dockerDirectory>${project.basedir}/docker</dockerDirectory>
          <resources>
            <resource>
              <targetPath>/</targetPath>
              <directory>${project.build.directory}</directory>
              <include>${project.build.finalName}.jar</include>
            </resource>
          </resources>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.jacoco</groupId>
        <artifactId>jacoco-maven-plugin</artifactId>
        <version>${jacoco.maven.plugin.version}</version>
        <executions>
          <execution>
            <id>default-prepare-agent</id>
            <goals>
              <goal>prepare-agent</goal>
            </goals>
          </execution>
          <execution>
            <id>default-report</id>
            <phase>prepare-package</phase>
            <goals>
              <goal>report</goal>
            </goals>
          </execution>
          <execution>
            <id>default-check</id>
            <goals>
              <goal>check</goal>
            </goals>
            <configuration>
              <rules>
                <rule>
                  <element>BUNDLE</element>
                  <limits>
                    <limit>
                      <counter>INSTRUCTION</counter>
                      <value>COVEREDRATIO</value>
                      <minimum>${jacoco.coverage.percentage.minimum}</minimum>
                    </limit>
                    <limit>
                      <counter>CLASS</counter>
                      <value>MISSEDCOUNT</value>
                      <maximum>${jacoco.classes.missed.minimum}</maximum>
                    </limit>
                  </limits>
                </rule>
              </rules>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-scm-publish-plugin</artifactId>
        <version>${maven.scm.publish.plugin.version}</version>
        <configuration>
          <content>${project.build.directory}/site</content>
          <checkoutDirectory>${site.publish.checkout.directory}</checkoutDirectory>
          <scmBranch>gh-pages</scmBranch>
          <tryUpdate>true</tryUpdate>
        </configuration>
        <dependencies>
          <dependency>
            <groupId>org.apache.maven.scm</groupId>
            <artifactId>maven-scm-provider-gitexe</artifactId>
            <version>1.9.5</version>
            <scope>compile</scope>
          </dependency>
          <dependency>
            <groupId>org.sonatype.plexus</groupId>
            <artifactId>plexus-cipher</artifactId>
            <version>1.4</version>
          </dependency>
        </dependencies>
        <executions>
          <execution>
            <id>scm-publish</id>
            <phase>site-deploy</phase>
            <!--  deploy site with maven-scm-publish-plugin  -->
            <goals>
              <goal>publish-scm</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-site-plugin</artifactId>
        <version>${maven.site.plugin.version}</version>
        <configuration>
          <!-- don't deploy site with maven-site-plugin -->
          <skipDeploy>true</skipDeploy>
        </configuration>
      </plugin>
    </plugins>
    <testResources>
      <testResource>
        <directory>src/test/resources</directory>
      </testResource>
    </testResources>
  </build>

  <reporting>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>${maven.javadoc.plugin.version}</version>
        <configuration>
          <extdirs>src/test</extdirs>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <version>${maven.checkstyle.plugin.version}</version>
        <configuration>
          <configLocation>${basedir}/src/devops/checkstyle.xml</configLocation>
          <suppressionsLocation>${basedir}/src/devops/checkstyle-suppressions.xml</suppressionsLocation>
          <includeTestSourceDirectory>false</includeTestSourceDirectory>
          <enableRulesSummary>false</enableRulesSummary>
        </configuration>
        <reportSets>
          <reportSet>
            <reports>
              <report>checkstyle</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>
      <plugin>
        <groupId>org.jacoco</groupId>
        <artifactId>jacoco-maven-plugin</artifactId>
        <version>${jacoco.maven.plugin.version}</version>
        <reportSets>
          <reportSet>
            <reports>
              <report>report</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>
      <plugin>
        <groupId>com.github.siom79.japicmp</groupId>
        <artifactId>japicmp-maven-plugin</artifactId>
        <version>0.13.1</version>
        <configuration>
          <oldVersion>
            <dependency>
              <groupId>${project.groupId}</groupId>
              <artifactId>${project.artifactId}</artifactId>
              <version>${bc.version}</version>
              <type>jar</type>
            </dependency>
          </oldVersion>
          <newVersion>
            <file>
              <path>${project.build.directory}/${project.artifactId}-${project.version}.${project.packaging}</path>
            </file>
          </newVersion>
          <parameter>
            <onlyModified>true</onlyModified>
            <breakBuildOnBinaryIncompatibleModifications>${japicmp.breakBuildOnBinaryIncompatibleModifications}</breakBuildOnBinaryIncompatibleModifications>
            <breakBuildOnSourceIncompatibleModifications>${japicmp.breakBuildOnSourceIncompatibleModifications}</breakBuildOnSourceIncompatibleModifications>
            <!-- skip japicmp on "mvn site" - use "mvn package site" to include report -->
            <skipPomModules>true</skipPomModules>
            <ignoreMissingNewVersion>true</ignoreMissingNewVersion>
            <reportOnlyFilename>true</reportOnlyFilename>
          </parameter>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.rat</groupId>
        <artifactId>apache-rat-plugin</artifactId>
        <version>${apache.rat.plugin.version}</version>
        <configuration>
          <excludes>
            <exclude>**.tests/**</exclude>
            <exclude>**logs/**</exclude>
            <exclude>**site-content/**</exclude>
            <exclude>RELEASE-NOTES.txt</exclude>
            <exclude>src/test/resources/org/tmatesoft/svn/test/apache.config.template</exclude>
            <exclude>src/test/resources/org/tmatesoft/svn/test/test.properties.template</exclude>
            <exclude>src/test/resources/org/tmatesoft/svn/test/svnserve.config.template</exclude>
            <exclude>src/main/resources/banner.txt</exclude>
          </excludes>
        </configuration>
      </plugin>
      <plugin>
        <groupId>com.github.spotbugs</groupId>
        <artifactId>spotbugs-maven-plugin</artifactId>
        <version>${spotbugs.plugin.version}</version>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-pmd-plugin</artifactId>
        <version>${maven.pmd.plugin.version}</version>
        <configuration>
          <failOnViolation>false</failOnViolation>
          <rulesets>
            <ruleset>src/devops/pmd.xml</ruleset>
          </rulesets>
          <targetJdk>${java.compilation.target}</targetJdk>
        </configuration>
        <reportSets>
          <reportSet>
            <reports>
              <report>pmd</report>
              <report>cpd</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-changes-plugin</artifactId>
        <version>${maven.changes.plugin.version}</version>
        <configuration>
          <xmlPath>${basedir}/src/changes/changes.xml</xmlPath>
          <columnNames>Fix Version,Key,Component,Summary,Type,Resolution,Status</columnNames>
          <!-- Sort cols in natural order when using JQL for JIRA 5.1 -->
          <sortColumnNames>Fix Version DESC,Type,Key DESC</sortColumnNames>
          <resolutionIds>Fixed</resolutionIds>
          <statusIds>Closed</statusIds>
          <!-- Don't include sub-task -->
          <typeIds>Bug,New Feature,Task,Improvement,Wish,Test</typeIds>
          <!-- For JIRA >= 5.1 -->
          <useJql>true</useJql>
          <onlyCurrentVersion>false</onlyCurrentVersion>
          <maxEntries>100</maxEntries>
          <runOnlyAtExecutionRoot>false</runOnlyAtExecutionRoot>
          <template>release-notes.vm</template>
          <templateDirectory>src/changes</templateDirectory>
          <issueLinkTemplatePerSystem>
            <github>http://github.com/Hygieia/hygieia-scm-github-collector/issues/%ISSUE%</github>
          </issueLinkTemplatePerSystem>
        </configuration>
        <reportSets>
          <reportSet>
            <reports>
              <report>changes-report</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-project-info-reports-plugin</artifactId>
        <version>${maven.project-info.version}</version>
        <!--
          Unfortunately it does not appear to be possible to override
          reports configured in a parent POM.
          See https://jira.codehaus.org/browse/MPIR-241
          and https://issues.apache.org/jira/browse/MPOM-32
          So we define here all those reports that are suitable for
          all components.
          Components can add extra reports if they wish, but cannot disable any.
        -->
        <reportSets>
          <reportSet>
            <reports>
              <report>index</report>
              <report>summary</report>
              <report>modules</report>
              <!-- <report>license</report> site must link to ASF page instead -->
              <report>team</report>
              <report>scm</report>
              <report>issue-management</report>
              <report>mailing-lists</report>
              <report>dependency-info</report>
              <report>dependency-management</report>
              <report>dependencies</report>
              <report>dependency-convergence</report>
              <report>ci-management</report>
              <!-- <report>plugin-management</report> not very useful for end users -->
              <!-- <report>plugins</report> not very useful for end users -->
              <report>distribution-management</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-site-plugin</artifactId>
        <version>${maven.site.plugin.version}</version>
        <configuration>
          <!-- Exclude the navigation file for Maven 1 sites
            and the changes file used by the changes-plugin,
            as they interfere with the site generation. -->
          <moduleExcludes>
            <xdoc>navigation.xml,changes.xml</xdoc>
          </moduleExcludes>
        </configuration>
      </plugin>
    </plugins>
  </reporting>

  <profiles>
    <profile>
      <!--
        Generate release notes in top-level directory from src/changes/changes.xml
        Usage:
        mvn changes:announcement-generate -Prelease-notes [-Dchanges.version=nnn]
        Defining changes.version allows one to create the RN without first removing the SNAPSHOT suffix.
        Requires file src/changes/release-notes.vm.
        A sample template is available from:
        https://svn.apache.org/repos/asf/commons/proper/commons-parent/trunk/src/changes/release-notes.vm
      -->
      <id>release-notes</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-changes-plugin</artifactId>
            <version>${maven.changes.plugin.version}</version>
            <configuration>
              <template>release-notes.vm</template>
              <templateDirectory>src/changes</templateDirectory>
              <runOnlyAtExecutionRoot>true</runOnlyAtExecutionRoot>
              <announcementDirectory>.</announcementDirectory>
              <announcementFile>RELEASE-NOTES.txt</announcementFile>
              <announceParameters>
                <releaseVersion>${version}</releaseVersion>
              </announceParameters>
            </configuration>
            <executions>
              <execution>
                <id>create-release-notes</id>
                <phase>generate-resources</phase>
                <goals>
                  <goal>announcement-generate</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>test-deploy</id>
      <properties>
        <altDeploymentRepository>id::default::file:target/deploy</altDeploymentRepository>
      </properties>
    </profile>
    <profile>
      <id>release</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.5.1</version>
            <configuration>
              <source>1.8</source>
              <target>1.8</target>
            </configuration>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <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>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>${maven.javadoc.plugin.version}</version>
            <configuration>
              <doclint>none</doclint>
            </configuration>
            <executions>
              <execution>
                <id>attach-javadocs</id>
                <goals>
                  <goal>jar</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-gpg-plugin</artifactId>
            <version>1.5</version>
            <executions>
              <execution>
                <id>sign-artifacts</id>
                <phase>verify</phase>
                <goals>
                  <goal>sign</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>setup-checkout</id>
      <activation>
        <file>
          <missing>site-content</missing>
        </file>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-antrun-plugin</artifactId>
            <executions>
              <execution>
                <id>prepare-checkout</id>
                <phase>pre-site</phase>
                <goals>
                  <goal>run</goal>
                </goals>
                <configuration>
                  <tasks>
                    <exec executable="git">
                      <arg line="clone -b gh-pages --single-branch ${site.publish.url} ${site.publish.checkout.directory}" />
                    </exec>

                    <exec executable="git" dir="site-content">
                      <arg line="fetch origin gh-pages" />
                    </exec>

                    <exec executable="git" dir="site-content">
                      <arg line="reset --hard origin/gh-pages" />
                    </exec>

                    <pathconvert pathsep=" " property="dirs">
                      <dirset dir="${site.publish.checkout.directory}" includes="*" />
                    </pathconvert>
                  </tasks>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>travis-jacoco</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
            <version>${jacoco.maven.plugin.version}</version>
          </plugin>
          <plugin>
            <groupId>org.eluder.coveralls</groupId>
            <artifactId>coveralls-maven-plugin</artifactId>
            <version>${coveralls.maven.plugin.version}</version>
            <configuration>
              <timestampFormat>EpochMillis</timestampFormat>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>



</project>
