<?xml version="1.0" encoding="UTF-8"?>
<!--
  Copyright (C) 2020 Alexander Kapitman

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<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.github.akman</groupId>
  <artifactId>jpackage-maven-plugin</artifactId>
  <version>0.1.2</version>
  <packaging>maven-plugin</packaging>

  <name>JPackage Maven Plugin</name>
  <description>The jpackage maven plugin is used to link Java 13+ projects</description>
  <url>https://github.com/akman/jpackage-maven-plugin</url>
  <inceptionYear>2020</inceptionYear>

  <properties>

    <maven.compiler.source>11</maven.compiler.source>
    <maven.compiler.target>11</maven.compiler.target>
    <maven.compiler.release>11</maven.compiler.release>

    <copyright.notice>Copyright (C) ${copyright.years} ${project.developers[0].name}</copyright.notice>

    <project.encoding>UTF-8</project.encoding>
    <project.build.sourceEncoding>${project.encoding}</project.build.sourceEncoding>
    <project.reporting.outputEncoding>${project.encoding}</project.reporting.outputEncoding>

    <version.properties-maven-plugin>1.0.0</version.properties-maven-plugin>
    <version.build-helper-maven-plugin>3.2.0</version.build-helper-maven-plugin>
    <version.maven-gpg-plugin>1.6</version.maven-gpg-plugin>
    <version.maven-antrun-plugin>3.0.0</version.maven-antrun-plugin>
    <version.maven-assembly-plugin>3.3.0</version.maven-assembly-plugin>
    <version.maven-changelog-plugin>2.3</version.maven-changelog-plugin>
    <version.maven-dependency-plugin>3.1.2</version.maven-dependency-plugin>
    <version.maven-release-plugin>3.0.0-M1</version.maven-release-plugin>
    <version.maven-scm-plugin>1.11.2</version.maven-scm-plugin>
    <version.maven-jar-plugin>3.2.0</version.maven-jar-plugin>
    <version.maven-checkstyle-plugin>3.1.1</version.maven-checkstyle-plugin>
    <version.maven-clean-plugin>3.1.0</version.maven-clean-plugin>
    <version.maven-compiler-plugin>3.8.1</version.maven-compiler-plugin>
    <version.maven-deploy-plugin>3.0.0-M1</version.maven-deploy-plugin>
    <version.nexus-staging-maven-plugin>1.6.8</version.nexus-staging-maven-plugin>
    <version.maven-enforcer-plugin>3.0.0-M3</version.maven-enforcer-plugin>
    <version.maven-failsafe-plugin>3.0.0-M5</version.maven-failsafe-plugin>
    <version.maven-install-plugin>3.0.0-M1</version.maven-install-plugin>
    <version.maven-invoker-plugin>3.2.1</version.maven-invoker-plugin>
    <version.maven-javadoc-plugin>3.2.0</version.maven-javadoc-plugin>
    <version.maven-jxr-plugin>3.0.0</version.maven-jxr-plugin>
    <version.maven-plugin-plugin>3.6.0</version.maven-plugin-plugin>
    <version.maven-pmd-plugin>3.13.0</version.maven-pmd-plugin>
    <version.maven-project-info-reports-plugin>3.1.0</version.maven-project-info-reports-plugin>
    <version.maven-resources-plugin>3.1.0</version.maven-resources-plugin>
    <version.maven-site-plugin>3.9.1</version.maven-site-plugin>
    <version.maven-source-plugin>3.2.1</version.maven-source-plugin>
    <version.maven-surefire-plugin>3.0.0-M5</version.maven-surefire-plugin>
    <version.maven-surefire-report-plugin>3.0.0-M5</version.maven-surefire-report-plugin>
    <version.spotbugs-maven-plugin>4.0.4</version.spotbugs-maven-plugin>
    <version.license-maven-plugin>4.0.rc1</version.license-maven-plugin>
    <version.versions-maven-plugin>2.7</version.versions-maven-plugin>
    <version.jacoco-maven-plugin>0.8.5</version.jacoco-maven-plugin>
    <version.taglist-maven-plugin>2.4</version.taglist-maven-plugin>

    <version.checkstyle>8.34</version.checkstyle>
    <version.pmd>6.25.0</version.pmd>
    <version.spotbugs>4.0.6</version.spotbugs>

    <version.maven>3.6.3</version.maven>
    <version.maven-plugin-annotations>3.6.0</version.maven-plugin-annotations>
    <version.logback-classic>1.2.3</version.logback-classic>
    <version.junit>4.13</version.junit>
    <version.file-management>3.0.0</version.file-management>
    <version.maven-plugin-testing-harness>3.3.0</version.maven-plugin-testing-harness>
    <version.plexus-java>1.0.5</version.plexus-java>
    <version.commons-lang3>3.10</version.commons-lang3>
    <version.commons-text>1.8</version.commons-text>

  </properties>

  <prerequisites>
    <maven>${version.maven}</maven>
  </prerequisites>

  <dependencies>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-plugin-api</artifactId>
      <version>${version.maven}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-core</artifactId>
      <version>${version.maven}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-artifact</artifactId>
      <version>${version.maven}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.maven.plugin-tools</groupId>
      <artifactId>maven-plugin-annotations</artifactId>
      <version>${version.maven-plugin-annotations}</version>
      <scope>provided</scope>
      <!--optional>true</optional-->
    </dependency>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-compat</artifactId>
      <version>${version.maven}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>${version.junit}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.maven.plugin-testing</groupId>
      <artifactId>maven-plugin-testing-harness</artifactId>
      <version>${version.maven-plugin-testing-harness}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-classic</artifactId>
      <version>${version.logback-classic}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-model</artifactId>
      <version>${version.maven}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.maven.shared</groupId>
      <artifactId>file-management</artifactId>
      <version>${version.file-management}</version>
    </dependency>
    <dependency>
      <groupId>org.codehaus.plexus</groupId>
      <artifactId>plexus-java</artifactId>
      <version>${version.plexus-java}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-lang3</artifactId>
      <version>${version.commons-lang3}</version>
    </dependency>
  </dependencies>

  <build>

    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>properties-maven-plugin</artifactId>
          <version>${version.properties-maven-plugin}</version>
          <configuration>
            <files>
              <file>${project.basedir}/project.properties</file>
            </files>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>${version.maven-compiler-plugin}</version>
          <configuration>
            <fork>true</fork>
            <compilerArgs>
              <arg>-Xlint:unchecked</arg>
              <arg>-Xlint:deprecation</arg>
              <arg>-Werror</arg>
            </compilerArgs>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-javadoc-plugin</artifactId>
          <version>${version.maven-javadoc-plugin}</version>
          <configuration>
            <notimestamp>true</notimestamp>
            <bottom>${copyright.notice}</bottom>
            <additionalOptions>-html5</additionalOptions>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-jxr-plugin</artifactId>
          <version>${version.maven-jxr-plugin}</version>
          <configuration>
            <bottom>${copyright.notice}</bottom>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-checkstyle-plugin</artifactId>
          <version>${version.maven-checkstyle-plugin}</version>
          <dependencies>
            <dependency>
              <groupId>com.puppycrawl.tools</groupId>
              <artifactId>checkstyle</artifactId>
              <version>${version.checkstyle}</version>
            </dependency>
          </dependencies>
          <configuration>
            <configLocation>config/checkstyle/google_checks.xml</configLocation>
            <excludes>**/HelpMojo.java</excludes>
            <resourceExcludes>target/it/**/*</resourceExcludes>
            <consoleOutput>true</consoleOutput>
            <includeTestSourceDirectory>true</includeTestSourceDirectory>
            <failsOnError>false</failsOnError>
            <!-- check -->
            <failOnViolation>false</failOnViolation>
            <maxAllowedViolations>0</maxAllowedViolations>
            <logViolationsToConsole>true</logViolationsToConsole>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-pmd-plugin</artifactId>
          <version>${version.maven-pmd-plugin}</version>
          <dependencies>
            <dependency>
              <groupId>net.sourceforge.pmd</groupId>
              <artifactId>pmd-core</artifactId>
              <version>${version.pmd}</version>
            </dependency>
            <dependency>
              <groupId>net.sourceforge.pmd</groupId>
              <artifactId>pmd-java</artifactId>
              <version>${version.pmd}</version>
            </dependency>
            <dependency>
              <groupId>net.sourceforge.pmd</groupId>
              <artifactId>pmd-javascript</artifactId>
              <version>${version.pmd}</version>
            </dependency>
            <dependency>
              <groupId>net.sourceforge.pmd</groupId>
              <artifactId>pmd-jsp</artifactId>
              <version>${version.pmd}</version>
            </dependency>
          </dependencies>
          <configuration>
            <rulesets>config/pmd/ruleset.xml</rulesets>
            <excludes>
              <exclude>**/HelpMojo.java</exclude>
            </excludes>
            <linkXref>true</linkXref>
            <analysisCache>true</analysisCache>
            <minimumTokens>50</minimumTokens>
            <maxAllowedViolations>0</maxAllowedViolations>
            <ignoreAnnotations>false</ignoreAnnotations>
            <ignoreIdentifiers>false</ignoreIdentifiers>
            <ignoreLiterals>false</ignoreLiterals>
            <includeTests>true</includeTests>
            <!-- check -->
            <failOnViolation>false</failOnViolation>
            <printFailingErrors>false</printFailingErrors>
          </configuration>
        </plugin>
        <plugin>
          <groupId>com.github.spotbugs</groupId>
          <artifactId>spotbugs-maven-plugin</artifactId>
          <version>${version.spotbugs-maven-plugin}</version>
          <dependencies>
            <dependency>
              <groupId>com.github.spotbugs</groupId>
              <artifactId>spotbugs</artifactId>
              <version>${version.spotbugs}</version>
            </dependency>
          </dependencies>
          <configuration>
            <threshold>low</threshold>
            <effort>max</effort>
            <nested>false</nested>
            <failOnError>false</failOnError>
            <excludeFilterFile>config/spotbugs/excludeFilter.xml</excludeFilterFile>
            <xmlOutput>true</xmlOutput>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>${version.maven-surefire-plugin}</version>
          <configuration>
            <argLine>-Dfile.encoding=${project.encoding} @{argLine}</argLine>
          </configuration>
        </plugin>
        <plugin>
          <groupId>com.mycila</groupId>
          <artifactId>license-maven-plugin</artifactId>
          <version>${version.license-maven-plugin}</version>
          <configuration>
            <failIfMissing>false</failIfMissing>
            <defaultUseDefaultExcludes>false</defaultUseDefaultExcludes>
            <defaultProperties>
              <copyright>${copyright.notice}</copyright>
            </defaultProperties>
            <defaultHeaderDefinitions>
              <defaultHeaderDefinition>config/license/xml_style.xml</defaultHeaderDefinition>
              <defaultHeaderDefinition>config/license/javadoc_style.xml</defaultHeaderDefinition>
            </defaultHeaderDefinitions>
            <mapping>
              <fxml>XML_STYLE</fxml>
              <groovy>JAVADOC_STYLE</groovy>
              <java>JAVADOC_STYLE</java>
            </mapping>
            <licenseSets>
              <licenseSet>
                <header>config/license/LICENSE</header>
                <includes>
                  <include>pom.xml</include>
                  <include>src/**/*</include>
                </includes>
                <excludes>
                  <exclude>**/LICENSE</exclude>
                  <exclude>**/*.template</exclude>
                  <exclude>**/*.properties</exclude>
                  <exclude>**/*.bak</exclude>
                  <exclude>**/*.txt</exclude>
                  <exclude>**/*.md</exclude>
                  <exclude>**/*.md.vm</exclude>
                  <exclude>**/*.png</exclude>
                  <exclude>**/*.ico</exclude>
                  <exclude>**/*.icns</exclude>
                </excludes>
              </licenseSet>
            </licenseSets>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>taglist-maven-plugin</artifactId>
          <version>${version.taglist-maven-plugin}</version>
          <configuration>
            <tagListOptions>
              <tagClasses>
                <tagClass>
                  <displayName>Documentation</displayName>
                  <tags>
                    <tag>
                      <matchString>DOCME</matchString>
                      <matchType>ignoreCase</matchType>
                    </tag>
                    <tag>
                      <matchString>DOCUMENT_ME</matchString>
                      <matchType>ignoreCase</matchType>
                    </tag>
                    <tag>
                      <matchString>NOT_YET_DOCUMENTED</matchString>
                      <matchType>ignoreCase</matchType>
                    </tag>
                  </tags>
                </tagClass>
                <tagClass>
                  <displayName>Code</displayName>
                  <tags>
                    <tag>
                      <matchString>TODO</matchString>
                      <matchType>ignoreCase</matchType>
                    </tag>
                    <tag>
                      <matchString>@todo</matchString>
                      <matchType>ignoreCase</matchType>
                    </tag>
                    <tag>
                      <matchString>FIXME</matchString>
                      <matchType>ignoreCase</matchType>
                    </tag>
                    <tag>
                      <matchString>@fixme</matchString>
                      <matchType>ignoreCase</matchType>
                    </tag>
                    <tag>
                      <matchString>DOCME</matchString>
                      <matchType>ignoreCase</matchType>
                    </tag>
                    <tag>
                      <matchString>@docme</matchString>
                      <matchType>ignoreCase</matchType>
                    </tag>
                  </tags>
                </tagClass>
              </tagClasses>
            </tagListOptions>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>build-helper-maven-plugin</artifactId>
          <version>${version.build-helper-maven-plugin}</version>
        </plugin>
        <plugin>
          <artifactId>maven-gpg-plugin</artifactId>
          <version>${version.maven-gpg-plugin}</version>
          <configuration>
            <useAgent>true</useAgent>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>${version.maven-deploy-plugin}</version>
          <configuration>
            <skip>true</skip>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.sonatype.plugins</groupId>
          <artifactId>nexus-staging-maven-plugin</artifactId>
          <version>${version.nexus-staging-maven-plugin}</version>
          <extensions>true</extensions>
          <configuration>
            <serverId>ossrh</serverId>
            <nexusUrl>https://oss.sonatype.org/</nexusUrl>
            <autoReleaseAfterClose>true</autoReleaseAfterClose>
            <!--skipStaging>true</skipStaging-->
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-release-plugin</artifactId>
          <version>${version.maven-release-plugin}</version>
          <configuration>
            <tagNameFormat>v@{project.version}</tagNameFormat>
            <autoVersionSubmodules>true</autoVersionSubmodules>
            <useReleaseProfile>false</useReleaseProfile>
            <releaseProfiles>release</releaseProfiles>
            <!--
              Goals to run as part of the preparation step,
              after changing the version in the POMs from x-SNAPSHOT to
              a new version but before committing.
            -->
            <preparationGoals>
              clean
              validate
              site:site
              resources:copy-resources@prepare
              antrun:run@prepare
              scm:checkin@prepare
            </preparationGoals>
            <!--
              Goals to run on completion of the preparation step,
              after transformation back to the next development version
              but before committing.
            -->
            <!--
            <completionGoals>
            </completionGoals>
            -->
            <goals>deploy</goals>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-scm-plugin</artifactId>
          <version>${version.maven-scm-plugin}</version>
        </plugin>
        <plugin>
          <artifactId>maven-enforcer-plugin</artifactId>
          <version>${version.maven-enforcer-plugin}</version>
          <configuration>
            <rules>
              <requireMavenVersion>
                <version>${version.maven}</version>
              </requireMavenVersion>
            </rules>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-invoker-plugin</artifactId>
          <version>${version.maven-invoker-plugin}</version>
          <configuration>
            <environmentVariables>
              <MAVEN_SKIP_RC>1</MAVEN_SKIP_RC>
            </environmentVariables>
            <localRepositoryPath>
              ${project.build.directory}/local-repo
            </localRepositoryPath>
            <debug>true</debug>
            <settingsFile>src/it/settings.xml</settingsFile>
            <projectsDirectory>src/it/projects</projectsDirectory>
            <pomIncludes>
              <pomInclude>**/pom.xml</pomInclude>
            </pomIncludes>
            <cloneProjectsTo>${project.build.directory}/it/projects</cloneProjectsTo>
            <postBuildHookScript>postbuild</postBuildHookScript>
            <goals>
              <goal>clean</goal>
              <goal>package</goal>
            </goals>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-plugin-plugin</artifactId>
          <version>${version.maven-plugin-plugin}</version>
          <configuration>
            <!--skipErrorNoDescriptorsFound>true</skipErrorNoDescriptorsFound-->
            <goalPrefix>jpackage</goalPrefix>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-clean-plugin</artifactId>
          <version>${version.maven-clean-plugin}</version>
          <configuration>
            <filesets>
              <fileset>
                <directory>${project.basedir}</directory>
                <includes>
                  <include>*.log</include>
                </includes>
              </fileset>
            </filesets>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-antrun-plugin</artifactId>
          <version>${version.maven-antrun-plugin}</version>
        </plugin>
        <plugin>
          <artifactId>maven-assembly-plugin</artifactId>
          <version>${version.maven-assembly-plugin}</version>
        </plugin>
        <plugin>
          <artifactId>maven-changelog-plugin</artifactId>
          <version>${version.maven-changelog-plugin}</version>
        </plugin>
        <plugin>
          <artifactId>maven-dependency-plugin</artifactId>
          <version>${version.maven-dependency-plugin}</version>
        </plugin>
        <plugin>
          <artifactId>maven-jar-plugin</artifactId>
          <version>${version.maven-jar-plugin}</version>
        </plugin>
        <plugin>
          <artifactId>maven-failsafe-plugin</artifactId>
          <version>${version.maven-failsafe-plugin}</version>
        </plugin>
        <plugin>
          <artifactId>maven-install-plugin</artifactId>
          <version>${version.maven-install-plugin}</version>
        </plugin>
        <plugin>
          <artifactId>maven-project-info-reports-plugin</artifactId>
          <version>${version.maven-project-info-reports-plugin}</version>
        </plugin>
        <plugin>
          <artifactId>maven-resources-plugin</artifactId>
          <version>${version.maven-resources-plugin}</version>
        </plugin>
        <plugin>
          <artifactId>maven-site-plugin</artifactId>
          <version>${version.maven-site-plugin}</version>
        </plugin>
        <plugin>
          <artifactId>maven-source-plugin</artifactId>
          <version>${version.maven-source-plugin}</version>
        </plugin>
        <plugin>
          <artifactId>maven-surefire-report-plugin</artifactId>
          <version>${version.maven-surefire-report-plugin}</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>versions-maven-plugin</artifactId>
          <version>${version.versions-maven-plugin}</version>
        </plugin>
        <plugin>
          <groupId>org.jacoco</groupId>
          <artifactId>jacoco-maven-plugin</artifactId>
          <version>${version.jacoco-maven-plugin}</version>
        </plugin>
      </plugins>
    </pluginManagement>

    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>properties-maven-plugin</artifactId>
        <executions>
          <execution>
            <phase>validate</phase>
            <goals>
              <goal>read-project-properties</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <executions>
          <execution>
            <id>timestamp-property</id>
            <phase>validate</phase>
            <goals>
              <goal>timestamp-property</goal>
            </goals>
            <configuration>
              <locale>en</locale>
              <name>currentYear</name>
              <pattern>yyyy</pattern>
              <unit>year</unit>
            </configuration>
          </execution>
          <execution>
            <id>regex-property</id>
            <phase>validate</phase>
            <goals>
              <goal>regex-property</goal>
            </goals>
            <configuration>
              <name>copyright.years</name>
              <value>${project.inceptionYear} - ${currentYear}</value>
              <regex>(\d{4}) - \1</regex>
              <failIfNoMatch>false</failIfNoMatch>
              <replacement>${currentYear}</replacement>
            </configuration>
          </execution>
          <execution>
            <id>parse-version</id>
            <phase>validate</phase>
            <goals>
              <goal>parse-version</goal>
            </goals>
          </execution>
          <execution>
            <id>released-version</id>
            <phase>validate</phase>
            <goals>
              <goal>released-version</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-deploy-plugin</artifactId>
        <executions>
          <execution>
            <phase>deploy</phase>
            <goals>
              <goal>deploy</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.sonatype.plugins</groupId>
        <artifactId>nexus-staging-maven-plugin</artifactId>
      </plugin>
      <plugin>
        <artifactId>maven-release-plugin</artifactId>
      </plugin>
      <plugin>
        <artifactId>maven-plugin-plugin</artifactId>
        <executions>
          <execution>
            <id>plugin-descriptor</id>
            <phase>process-classes</phase>
            <goals>
              <goal>descriptor</goal>
            </goals>
          </execution>
          <execution>
            <id>plugin-helpmojo</id>
            <goals>
              <goal>helpmojo</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-javadoc-plugin</artifactId>
        <executions>
          <execution>
            <goals>
              <goal>javadoc-no-fork</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-source-plugin</artifactId>
        <executions>
          <execution>
            <goals>
              <goal>jar-no-fork</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <executions>
          <execution>
            <phase>process-test-classes</phase>
            <goals>
              <goal>check</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-enforcer-plugin</artifactId>
        <executions>
          <execution>
            <goals>
              <goal>enforce</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>com.mycila</groupId>
        <artifactId>license-maven-plugin</artifactId>
        <executions>
          <execution>
            <phase>initialize</phase>
            <goals>
              <goal>check</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.jacoco</groupId>
        <artifactId>jacoco-maven-plugin</artifactId>
        <executions>
          <execution>
            <id>jacoco-prepare-agent</id>
            <goals>
              <goal>prepare-agent</goal>
            </goals>
          </execution>
          <execution>
            <id>jacoco-report</id>
            <phase>test</phase>
            <goals>
              <goal>report</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-antrun-plugin</artifactId>
        <executions>
          <execution>
            <id>prepare</id>
            <goals>
              <goal>run</goal>
            </goals>
            <configuration>
              <target>
                <delete includeemptydirs="true">
                  <fileset dir="${project.basedir}/docs" includes="**/*" />
                </delete>
                <replaceregexp file="${project.reporting.outputDirectory}/changelog.html" match="&lt;a class=&quot;externalLink&quot;.*&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;" replace="" byline="true" />
                <copy todir="${project.basedir}/docs">
                  <fileset dir="${project.reporting.outputDirectory}" includes="**/*" />
                </copy>
              </target>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-resources-plugin</artifactId>
        <executions>
          <execution>
            <id>prepare</id>
            <goals>
              <goal>copy-resources</goal>
            </goals>
            <configuration>
              <outputDirectory>${project.basedir}</outputDirectory>
              <resources>
                <resource>
                  <directory>config/readme</directory>
                  <includes>
                    <include>README.md</include>
                  </includes>
                  <filtering>true</filtering>
                </resource>
              </resources>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-scm-plugin</artifactId>
        <executions>
          <execution>
            <id>prepare</id>
            <goals>
              <goal>checkin</goal>
            </goals>
            <configuration>
              <message>[maven-release-plugin] update documentation site and version number in files</message>
              <includes>README.md, docs/**/*</includes>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-pmd-plugin</artifactId>
      </plugin>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
      </plugin>
      <plugin>
        <artifactId>maven-failsafe-plugin</artifactId>
      </plugin>
      <plugin>
        <artifactId>maven-install-plugin</artifactId>
      </plugin>
      <plugin>
        <artifactId>maven-site-plugin</artifactId>
      </plugin>
      <plugin>
        <artifactId>maven-surefire-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>versions-maven-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>com.github.spotbugs</groupId>
        <artifactId>spotbugs-maven-plugin</artifactId>
      </plugin>
    </plugins>

    <resources>
      <resource>
        <directory>${project.basedir}</directory>
        <includes>
          <include>LICENSE</include>
          <include>NOTICE</include>
        </includes>
      </resource>
    </resources>

  </build>

  <reporting>
    <plugins>
      <plugin>
        <artifactId>maven-jxr-plugin</artifactId>
      </plugin>
      <plugin>
        <artifactId>maven-project-info-reports-plugin</artifactId>
        <reportSets>
          <reportSet>
            <reports>
              <report>index</report>
              <report>summary</report>
              <!--report>modules</report-->
              <report>dependency-management</report>
              <report>dependencies</report>
              <!--report>dependency-info</report-->
              <!--report>dependency-convergence</report-->
              <report>plugin-management</report>
              <report>plugins</report>
              <report>distribution-management</report>
              <report>scm</report>
              <report>issue-management</report>
              <report>ci-management</report>
              <!--report>mailing-lists</report-->
              <report>licenses</report>
              <report>team</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>
      <plugin>
        <artifactId>maven-plugin-plugin</artifactId>
      </plugin>
      <plugin>
        <artifactId>maven-javadoc-plugin</artifactId>
      </plugin>
      <plugin>
        <artifactId>maven-source-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>versions-maven-plugin</artifactId>
        <reportSets>
          <reportSet>
            <reports>
              <report>property-updates-report</report>
              <report>plugin-updates-report</report>
              <report>dependency-updates-report</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>
      <plugin>
        <artifactId>maven-dependency-plugin</artifactId>
        <reportSets>
          <reportSet>
            <reports>
              <report>analyze-report</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>
      <plugin>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <reportSets>
          <reportSet>
            <reports>
              <report>checkstyle</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>
      <plugin>
        <artifactId>maven-pmd-plugin</artifactId>
        <reportSets>
          <reportSet>
            <reports>
              <report>pmd</report>
              <report>cpd</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>
      <plugin>
        <groupId>com.github.spotbugs</groupId>
        <artifactId>spotbugs-maven-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-report-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>org.jacoco</groupId>
        <artifactId>jacoco-maven-plugin</artifactId>
        <reportSets>
          <reportSet>
            <reports>
              <report>report</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>taglist-maven-plugin</artifactId>
      </plugin>
      <plugin>
        <artifactId>maven-changelog-plugin</artifactId>
        <reportSets>
          <reportSet>
            <reports>
              <report>changelog</report>
              <!--report>file-activity</report-->
              <!--report>dev-activity</report-->
            </reports>
          </reportSet>
        </reportSets>
      </plugin>
    </plugins>
  </reporting>

  <profiles>
    <profile>
      <id>run-its</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-invoker-plugin</artifactId>
            <executions>
              <execution>
                <id>integration-test</id>
                <goals>
                  <goal>install</goal>
                  <goal>integration-test</goal>
                  <goal>verify</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>release</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-gpg-plugin</artifactId>
            <executions>
              <execution>
                <phase>verify</phase>
                <goals>
                  <goal>sign</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>

  <issueManagement>
    <system>GitHub</system>
    <url>https://github.com/akman/jpackage-maven-plugin/issues</url>
  </issueManagement>

  <licenses>
    <license>
      <name>The Apache Software License, Version 2.0</name>
      <url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
      <distribution>repo</distribution>
    </license>
  </licenses>

  <developers>
    <developer>
      <id>Akman</id>
      <name>Alexander Kapitman</name>
      <email>akman.ru@gmail.com</email>
      <url>https://akman.github.io</url>
      <timezone>Europe/Kaliningrad</timezone>
      <roles>
        <role>developer</role>
      </roles>
    </developer>
  </developers>

  <scm>
    <url>https://github.com/akman/jpackage-maven-plugin/tree/${project.scm.tag}</url>
    <connection>scm:git:git@github.com:akman/jpackage-maven-plugin.git</connection>
    <developerConnection>scm:git:git@github.com:akman/jpackage-maven-plugin.git</developerConnection>
    <tag>v0.1.2</tag>
  </scm>

  <distributionManagement>
    <snapshotRepository>
      <id>ossrh</id>
      <name>OSS Sonatype Snapshots Repository</name>
      <url>https://oss.sonatype.org/content/repositories/snapshots</url>
    </snapshotRepository>
    <repository>
      <id>ossrh</id>
      <name>OSS Sonatype Releases Repository</name>
      <url>https://oss.sonatype.org/service/local/staging/deploy/maven2</url>
    </repository>
  </distributionManagement>

  <ciManagement>
    <system>Travis CI</system>
    <url>https://travis-ci.com/github/akman/jpackage-maven-plugin</url>
  </ciManagement>

</project>
