<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>whitesource-collector</artifactId>
    <name>${project.groupId}:${project.artifactId}</name>
    <description>
        Whitesource Collector Microservice collecting stats from Whitesource
    </description>
    <url>https://github.com/Hygieia/${repository.name}</url>
    <packaging>jar</packaging>
    <version>1.2.4</version>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.22.RELEASE</version>
    </parent>

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

    <scm>
        <connection>scm:git:https://github.com/Hygieia/${repository.name}.git</connection>
        <developerConnection>scm:git:https://github.com/Hygieia/${repository.name}.git
        </developerConnection>
        <url>https://github.com/Hygieia/${repository.name}</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/${repository.name}</url>
        </site>
    </distributionManagement>

    <properties>
        <sonar.skip>true</sonar.skip>
        <java.version>1.8</java.version>
        <repository.name>hygieia-whitesource-collector</repository.name>
        <apache.rat.plugin.version>0.13</apache.rat.plugin.version>
        <bc.version>3.0.1</bc.version>
        <com.capitalone.dashboard.core.version>3.14.0</com.capitalone.dashboard.core.version>
        <commons.io.version>2.8.0</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.000</jacoco.coverage.percentage.minimum><!-- will fix in future-->
        <jacoco.classes.missed.minimum>3000</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.2.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/${project.artifactId}</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/${repository.name}/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>javax.activation</groupId>
            <artifactId>activation</artifactId>
            <version>1.1.1</version>
        </dependency>
        <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>
        </dependency>
        <dependency>
            <groupId>de.flapdoodle.embed</groupId>
            <artifactId>de.flapdoodle.embed.mongo</artifactId>
            <scope>test</scope>
        </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>
            <version>1.1.1</version>
        </dependency>
        <dependency>
            <groupId>commons-codec</groupId>
            <artifactId>commons-codec</artifactId>
            <version>1.9</version>
        </dependency>
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
        </dependency>

        <!-- Swagger API -->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.4.0</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.4.0</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml</groupId>
            <artifactId>classmate</artifactId>
            <version>1.3.1</version>
        </dependency>

        <dependency>
            <groupId>org.assertj</groupId>
            <artifactId>assertj-core</artifactId>
            <version>3.9.0</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
        </dependency>
        <dependency>
            <groupId>org.mongodb</groupId>
            <artifactId>mongodb-driver</artifactId>
            <version>3.9.1</version>
        </dependency>
        <dependency>
            <groupId>de.bwaldvogel</groupId>
            <artifactId>mongo-java-server-core</artifactId>
            <version>1.36.0</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>de.bwaldvogel</groupId>
            <artifactId>mongo-java-server-memory-backend</artifactId>
            <version>1.36.0</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.powermock</groupId>
            <artifactId>powermock-module-junit4</artifactId>
            <version>1.7.4</version>
        </dependency>
        <dependency>
            <groupId>org.powermock</groupId>
            <artifactId>powermock-api-mockito</artifactId>
            <version>1.7.3</version>
        </dependency>
    </dependencies>

    <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
                <includes>
                    <include>**/version.properties</include>
                </includes>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>false</filtering>
                <excludes>
                    <exclude>**/version.properties</exclude>
                </excludes>
            </resource>
        </resources>
        <finalName>${project.artifactId}</finalName>
        <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>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>.tests/**</exclude>
                        <exclude>logs/**</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>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>
                    <failOnError>false</failOnError>
                    <failOnWarnings>false</failOnWarnings>
                    <excludes>**/*Test*.java</excludes>
                    <source>8</source>
                </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>
            </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>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/${repository.name}/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>${project.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>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>
        <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.sonatype.plugins</groupId>
                        <artifactId>nexus-staging-maven-plugin</artifactId>
                        <version>1.6.8</version>
                        <extensions>true</extensions>
                        <configuration>
                            <serverId>ossrh</serverId>
                            <nexusUrl>https://oss.sonatype.org/</nexusUrl>
                            <autoReleaseAfterClose>true</autoReleaseAfterClose>
                            <autoDropAfterRelease>true</autoDropAfterRelease>
                            <stagingProfileId>26a9600c05a6d3</stagingProfileId>
                        </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>
    </profiles>

</project>
