<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>com.salesforce.maven</groupId>
        <artifactId>MavenBase</artifactId>
        <version>2.0.1</version>
    </parent>
    <artifactId>MavenParent</artifactId>
    <packaging>pom</packaging>
    <name>${project.artifactId}</name>
    <description>This project provides the best of maven easily consumable a maven parent project, called MavenParent. With this project you get:
           Checkstyle and PMD checks that will work by default in eclipse with m2e-code-quality.
           OWASP vulnerability checks of your dependencies.
           Easy application of BSD-3 clause license to all your code with mycila-license plugin.
           The ability to easily enforce semantic version on a jar project with japicmp.
           Prevent duplicates on your classpath with basepom's duplicate-finder.
           All of the above can be configured or disabled easily with properties, just check their docs, except takari.
           A whole slew of pretty maven reports including the above are generated in the maven site.
           The ability to easily deploy to oss nexus, and publish maven generated sites back to github's sites pages.</description>
    <properties>
        <github.site.location>${project.version}/${project.artifactId}</github.site.location>
        <license.regex.BSD-3>\A/\*$\n^ \* Copyright .?. \d\d\d\d, [^$]*$\n \* All rights reserved.$\n^ \*$\n^ \* Redistribution and use in source and binary forms, with or without$\n^ \* modification, are permitted provided that the following conditions are met\:$\n^ \*     \* Redistributions of source code must retain the above copyright$\n^ \*       notice, this list of conditions and the following disclaimer.$\n^ \*     \* Redistributions in binary form must reproduce the above copyright$\n^ \*       notice, this list of conditions and the following disclaimer in the$\n^ \*       documentation and\/or other materials provided with the distribution.$\n^ \*     \* Neither the name of the &lt;organization&gt; nor the$\n^ \*       names of its contributors may be used to endorse or promote products$\n^ \*       derived from this software without specific prior written permission.$\n^ \*$\n^ \* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND$\n^ \* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED$\n^ \* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE$\n^ \* DISCLAIMED. IN NO EVENT SHALL &lt;COPYRIGHT HOLDER&gt; BE LIABLE FOR ANY$\n^ \* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES$\n^ \* \(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;$\n^ \* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION\) HOWEVER CAUSED AND$\n^ \* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT$\n^ \* \(INCLUDING NEGLIGENCE OR OTHERWISE\) ARISING IN ANY WAY OUT OF THE USE OF THIS$\n^ \* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.$\n^ \*/$\n^</license.regex.BSD-3>
        <license.regex.CONFIDENTIAL><![CDATA[\A/\*$\n^ \* Copyright .?. \d\d\d\d, [^$]*$\n \* All rights reserved.$\n^ \*/$\n^]]></license.regex.CONFIDENTIAL>
        <license.regex.MIT>\A/\*$\n^ \* The MIT License$$\n^ \* Copyright .?. \d\d\d\d [^$]*$\n^ \*$\n^ \* Permission is hereby granted, free of charge, to any person obtaining a copy$\n^ \* of this software and associated documentation files \(the "Software"\), to deal$\n^ \* in the Software without restriction, including without limitation the rights$\n^ \* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell$\n^ \* copies of the Software, and to permit persons to whom the Software is$\n^ \* furnished to do so, subject to the following conditions\:$\n^ \*$\n^ \* The above copyright notice and this permission notice shall be included in$\n^ \* all copies or substantial portions of the Software.$\n^ \*$\n^ \* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR$\n^ \* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,$\n^ \* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE$\n^ \* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER$\n^ \* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,$\n^ \* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN$\n^ \* THE SOFTWARE.$\n^ \*/$\n^</license.regex.MIT>
        <maven.analysis.configuration>2.0.1</maven.analysis.configuration>
        <outputEncoding>UTF-8</outputEncoding>
        <parameter.checkstyle.failsOnError>false</parameter.checkstyle.failsOnError>
        <parameter.checkstyle.xml>checkstyle.xml</parameter.checkstyle.xml>
        <parameter.disable.semantic.versioning>false</parameter.disable.semantic.versioning>
        <!-- execution of maven must occur within java version below or greater -->
        <parameter.enforcer.min.java.version>1.8.0</parameter.enforcer.min.java.version>
        <parameter.enforcer.min.maven.version>3.5.0</parameter.enforcer.min.maven.version>
        <!-- example for following parameter: org.apache.maven.plugins:maven-enforcer-plugin,org.apache.maven.plugins:maven-idea-plugin -->
        <parameter.enforcer.unchecked.plugins.list></parameter.enforcer.unchecked.plugins.list>
        <parameter.jacoco.branch.coverage>0.50</parameter.jacoco.branch.coverage>
        <parameter.jacoco.instruction.coverage>0.50</parameter.jacoco.instruction.coverage>
        <parameter.japicmp.ignoredpackage>*.internal*</parameter.japicmp.ignoredpackage>
        <parameter.java.version>1.8</parameter.java.version>
        <parameter.license.regex>${license.regex.BSD-3}</parameter.license.regex>
        <parameter.organization.email>rex.hoffman@salesforce.com</parameter.organization.email>
        <parameter.organization.name>Salesforce.com, Inc</parameter.organization.name>
        <parameter.owasp.failOnCVSSLevelOrGreater>8</parameter.owasp.failOnCVSSLevelOrGreater>
        <parameter.pmd.analysisCache>true</parameter.pmd.analysisCache>
        <parameter.pmd.fail>true</parameter.pmd.fail>
        <parameter.pmd.priority>5</parameter.pmd.priority>
        <parameter.pmd.rules>/rulesets/java/pmd-level0.xml</parameter.pmd.rules>
        <parameter.takari.activated>false</parameter.takari.activated>
        <parameter.takari.proc>proc</parameter.takari.proc>
        <parameter.takari.transitiveDependencyReference>error</parameter.takari.transitiveDependencyReference>
        <!-- max version of checkstyle supported by m2e  8.14 -->
        <version.checkstyle>8.29</version.checkstyle>
        <version.checkstyle.maven.plugin>3.1.2</version.checkstyle.maven.plugin>
        <version.compiler.maven.plugin>3.8.1</version.compiler.maven.plugin>
        <version.depedency.maven.plugin>3.1.1</version.depedency.maven.plugin>
        <version.deployer.maven.plugin>3.0.0-M1</version.deployer.maven.plugin>
        <version.duplicate.finder.maven.plugin>1.5.0</version.duplicate.finder.maven.plugin>
        <version.enforcer.maven.plugin>3.0.0-M3</version.enforcer.maven.plugin>
        <version.install.maven.plugin>3.0.0-M1</version.install.maven.plugin>
        <version.jacoco.maven.plugin>0.8.6</version.jacoco.maven.plugin>
        <version.japicmp.maven.plugin>0.14.3</version.japicmp.maven.plugin>
        <version.jar.maven.plugin>3.2.0</version.jar.maven.plugin>
        <version.jdepend.maven.plugin>2.0</version.jdepend.maven.plugin>
        <version.jxr.maven.plugin>3.0.0</version.jxr.maven.plugin>
        <version.mycila-license.maven.plugin>3.0</version.mycila-license.maven.plugin>
        <version.owasp.check.maven.plugin>6.0.2</version.owasp.check.maven.plugin>
        <version.pmd>6.19.0</version.pmd>
        <version.pmd.maven.plugin>3.12.0</version.pmd.maven.plugin>
        <version.resources.maven.plugin>3.1.0</version.resources.maven.plugin>
        <version.spotbugs.maven.plugin>3.1.12.2</version.spotbugs.maven.plugin>
        <version.surefire.maven.plugin>3.0.0-M5</version.surefire.maven.plugin>
        <version.takari.maven.plugin>1.13.9</version.takari.maven.plugin>
    </properties>
    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>com.github.siom79.japicmp</groupId>
                    <artifactId>japicmp-maven-plugin</artifactId>
                    <version>${version.japicmp.maven.plugin}</version>
                    <configuration>
                        <skip>${parameter.disable.semantic.versioning}</skip>
                        <parameter>
                            <ignoreMissingOldVersion>true</ignoreMissingOldVersion>
                            <breakBuildBasedOnSemanticVersioning>true</breakBuildBasedOnSemanticVersioning>
                            <breakBuildBasedOnSemanticVersioningForMajorVersionZero>false</breakBuildBasedOnSemanticVersioningForMajorVersionZero>
                        </parameter>
                        <parameter>
                            <excludes>
                                <!-- classes that shouldn't be used by consumers are not tied to the version. -->
                                <exclude>*.internal*</exclude>
                            </excludes>
                        </parameter>
                    </configuration>
                    <executions>
                        <execution>
                            <goals>
                                <goal>cmp</goal>
                            </goals>
                            <phase>verify</phase>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>com.github.spotbugs</groupId>
                    <artifactId>spotbugs-maven-plugin</artifactId>
                    <version>${version.spotbugs.maven.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>com.mycila</groupId>
                    <artifactId>license-maven-plugin</artifactId>
                    <version>${version.mycila-license.maven.plugin}</version>
                    <configuration>
                        <headerDefinitions></headerDefinitions>
                        <header>com/mycila/maven/plugin/license/templates/${parameter.license}.txt</header>
                        <properties>
                            <owner>${parameter.organization.name}</owner>
                            <email>${parameter.organization.email}</email>
                        </properties>
                        <excludes>
                            <exclude>**/pom.xml</exclude>
                            <exclude>**/README</exclude>
                            <exclude>src/test/resources/**</exclude>
                            <exclude>src/main/resources/**</exclude>
                            <exclude>**/.*</exclude>
                            <exclude>.m2/**</exclude>
                            <exclude>${project.build.directory}/generated-sources/annotations/**</exclude>
                            <exclude>${project.build.directory}/generated-test-sources/test-annotations/**</exclude>
                            <exclude>**/pom.xml.versionsBackup</exclude>
                            <exclude>LICENSE.txt</exclude>
                            <exclude>Jenkinsfile</exclude>
                        </excludes>
                        <mapping>
                            <java>SLASHSTAR_STYLE</java>
                        </mapping>
                    </configuration>
                    <dependencies>
                        <dependency>
                            <groupId>com.salesforce.maven</groupId>
                            <artifactId>MavenAnalysisConf</artifactId>
                            <version>${maven.analysis.configuration}</version>
                        </dependency>
                    </dependencies>
                    <executions>
                        <execution>
                            <goals>
                                <goal>check</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-checkstyle-plugin</artifactId>
                    <version>${version.checkstyle.maven.plugin}</version>
                    <configuration>
                        <configLocation>${parameter.checkstyle.xml}</configLocation>
                        <includeTestSourceDirectory>true</includeTestSourceDirectory>
                        <includeResources>false</includeResources>
                        <includeTestResources>false</includeTestResources>
                        <propertyExpansion>license.regex=${parameter.license.regex}</propertyExpansion>
                        <failsOnError>${parameter.checkstyle.failsOnError}</failsOnError>
                    </configuration>
                    <dependencies>
                        <dependency>
                            <groupId>com.puppycrawl.tools</groupId>
                            <artifactId>checkstyle</artifactId>
                            <version>${version.checkstyle}</version>
                        </dependency>
                        <dependency>
                            <groupId>com.salesforce.maven</groupId>
                            <artifactId>MavenAnalysisConf</artifactId>
                            <version>${maven.analysis.configuration}</version>
                        </dependency>
                    </dependencies>
                    <executions>
                        <execution>
                            <goals>
                                <goal>check</goal>
                            </goals>
                            <phase>generate-sources</phase>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>${version.compiler.maven.plugin}</version>
                    <configuration>
                        <source>${parameter.java.version}</source>
                        <target>${parameter.java.version}</target>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-deploy-plugin</artifactId>
                    <version>${version.deployer.maven.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-enforcer-plugin</artifactId>
                    <version>${version.enforcer.maven.plugin}</version>
                    <executions>
                        <execution>
                            <id>validate</id>
                            <goals>
                                <goal>enforce</goal>
                            </goals>
                            <phase>validate</phase>
                            <inherited>true</inherited>
                            <configuration>
                                <failFast>true</failFast>
                                <rules>
                                    <banDuplicatePomDependencyVersions></banDuplicatePomDependencyVersions>
                                    <reactorModuleConvergence></reactorModuleConvergence>
                                    <dependencyConvergence></dependencyConvergence>
                                    <requireJavaVersion>
                                        <version>${parameter.java.version}</version>
                                    </requireJavaVersion>
                                    <requireReleaseDeps>
                                        <onlyWhenRelease>true</onlyWhenRelease>
                                    </requireReleaseDeps>
                                    <requireMavenVersion>
                                        <version>[${parameter.enforcer.min.maven.version},)</version>
                                    </requireMavenVersion>
                                    <requireJavaVersion>
                                        <version>[${parameter.enforcer.min.java.version},)</version>
                                    </requireJavaVersion>
                                </rules>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <artifactId>maven-install-plugin</artifactId>
                    <version>${version.install.maven.plugin}</version>
                </plugin>
                <plugin>
                    <artifactId>maven-jar-plugin</artifactId>
                    <version>${version.jar.maven.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jxr-plugin</artifactId>
                    <version>${version.jxr.maven.plugin}</version>
                </plugin>
                <plugin>
                    <artifactId>maven-pmd-plugin</artifactId>
                    <version>${version.pmd.maven.plugin}</version>
                    <configuration>
                        <rulesets>
                            <ruleset>${parameter.pmd.rules}</ruleset>
                        </rulesets>
                        <excludeRoots>
                            <excludeRoot>${project.build.directory}/generated-sources/annotations</excludeRoot>
                            <excludeRoot>${project.build.directory}/generated-test-sources/test-annotations</excludeRoot>
                            <excludeRoot>${project.build.directory}/</excludeRoot>
                            <excludeRoot>${project.build.directory}/target</excludeRoot>
                        </excludeRoots>
                        <excludes>
                            <!-- works around a bug in m2e-code-quality -->
                            <exclude>**/*.js</exclude>
                        </excludes>
                        <linkXRef>false</linkXRef>
                        <failOnViolation>${parameter.pmd.fail}</failOnViolation>
                        <failurePriority>${parameter.pmd.priority}</failurePriority>
                        <includeTests>true</includeTests>
                        <analysisCache>${parameter.pmd.analysisCache}</analysisCache>
                        <targetJdk>${parameter.java.version}</targetJdk>
                    </configuration>
                    <dependencies>
                        <dependency>
                            <groupId>com.salesforce.maven</groupId>
                            <artifactId>MavenAnalysisConf</artifactId>
                            <version>${maven.analysis.configuration}</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-java8</artifactId>
                            <version>${version.pmd}</version>
                        </dependency>
                    </dependencies>
                    <executions>
                        <execution>
                            <id>check</id>
                            <goals>
                                <goal>check</goal>
                            </goals>
                            <inherited>true</inherited>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>${version.resources.maven.plugin}</version>
                </plugin>
                <plugin>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>${version.surefire.maven.plugin}</version>
                    <configuration>
                        <includes>
                            <include>**/*.java</include>
                        </includes>
                        <parallel>classesAndMethods</parallel>
                        <useFile>false</useFile>
                        <useUnlimitedThreads>true</useUnlimitedThreads>
                        <trimStackTrace>false</trimStackTrace>
                    </configuration>
                </plugin>
                <plugin>
                    <artifactId>maven-surefire-report-plugin</artifactId>
                    <version>${version.surefire.maven.plugin}</version>
                    <executions>
                        <execution>
                            <goals>
                                <goal>report-only</goal>
                            </goals>
                            <phase>test</phase>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.basepom.maven</groupId>
                    <artifactId>duplicate-finder-maven-plugin</artifactId>
                    <version>${version.duplicate.finder.maven.plugin}</version>
                    <configuration>
                        <failBuildInCaseOfDifferentContentConflict>true</failBuildInCaseOfDifferentContentConflict>
                        <useDefaultResourceIgnoreList>true</useDefaultResourceIgnoreList>
                        <useDefaultClassIgnoreList>true</useDefaultClassIgnoreList>
                        <ignoredResourcePatterns combine.children="append">
                            <ignoredResourcePattern>about.html</ignoredResourcePattern>
                            <ignoredResourcePattern>META-INF/*</ignoredResourcePattern>
                            <ignoredResourcePattern>plugin.properties</ignoredResourcePattern>
                            <ignoredResourcePattern>about_files/.*</ignoredResourcePattern>
                            <ignoredResourcePattern>about_files/.*</ignoredResourcePattern>
                            <ignoredResourcePattern>META-INF/takari/export-package</ignoredResourcePattern>
                        </ignoredResourcePatterns>
                        <exceptions combine.children="append">
                            <exception>
                                <conflictingDependencies>
                                    <dependency>
                                        <groupId>jaxen</groupId>
                                        <artifactId>jaxen</artifactId>
                                        <version>(1.0,)</version>
                                    </dependency>
                                    <dependency>
                                        <groupId>xerces</groupId>
                                        <artifactId>xmlParserAPIs</artifactId>
                                        <version>(1.0,)</version>
                                    </dependency>
                                    <dependency>
                                        <groupId>xml-apis</groupId>
                                        <artifactId>xml-apis</artifactId>
                                        <version>(1.0,)</version>
                                    </dependency>
                                    <dependency>
                                        <groupId>xmlrpc</groupId>
                                        <artifactId>xmlrpc</artifactId>
                                        <version>(1.0,)</version>
                                    </dependency>
                                    <dependency>
                                        <groupId>stax</groupId>
                                        <artifactId>stax-api</artifactId>
                                        <version>(1.0,)</version>
                                    </dependency>
                                    <dependency>
                                        <groupId>xml-apis</groupId>
                                        <artifactId>xml-apis</artifactId>
                                        <version>(1.0,)</version>
                                    </dependency>
                                    <dependency>
                                        <groupId>xalan</groupId>
                                        <artifactId>xalan</artifactId>
                                        <version>(1.0,)</version>
                                    </dependency>
                                </conflictingDependencies>
                                <classes>
                                    <class>org.apache.xmlcommons.Version</class>
                                </classes>
                                <packages>
                                    <package>org.w3c.dom.ls</package>
                                    <package>javax.xml</package>
                                    <package>org.w3c.dom</package>
                                    <package>org.xml.sax</package>
                                    <package>org.w3c.dom.xpath</package>
                                </packages>
                            </exception>
                            <exception>
                                <conflictingDependencies>
                                    <dependency>
                                        <groupId>aopalliance</groupId>
                                        <artifactId>aopalliance</artifactId>
                                        <version>[1.0,)</version>
                                    </dependency>
                                    <dependency>
                                        <groupId>org.springframework</groupId>
                                        <artifactId>spring-aop</artifactId>
                                        <version>[4.3,)</version>
                                    </dependency>
                                </conflictingDependencies>
                                <packages>
                                    <package>org.aopalliance.aop</package>
                                    <package>org.aopalliance.intercept</package>
                                </packages>
                            </exception>
                        </exceptions>
                    </configuration>
                    <executions>
                        <execution>
                            <goals>
                                <goal>check</goal>
                            </goals>
                            <phase>verify</phase>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.jacoco</groupId>
                    <artifactId>jacoco-maven-plugin</artifactId>
                    <version>${version.jacoco.maven.plugin}</version>
                    <executions>
                        <execution>
                            <id>initialize</id>
                            <goals>
                                <goal>prepare-agent</goal>
                            </goals>
                            <phase>initialize</phase>
                        </execution>
                        <execution>
                            <id>verify-report</id>
                            <goals>
                                <goal>report</goal>
                            </goals>
                            <phase>verify</phase>
                        </execution>
                        <execution>
                            <id>verify-report-aggregate</id>
                            <goals>
                                <goal>report-aggregate</goal>
                            </goals>
                            <phase>verify</phase>
                        </execution>
                        <execution>
                            <id>check</id>
                            <goals>
                                <goal>check</goal>
                            </goals>
                            <configuration>
                                <rules>
                                    <rule>
                                        <limits>
                                            <limit>
                                                <counter>INSTRUCTION</counter>
                                                <value>COVEREDRATIO</value>
                                                <minimum>${parameter.jacoco.instruction.coverage}</minimum>
                                            </limit>
                                            <limit>
                                                <counter>BRANCH</counter>
                                                <value>COVEREDRATIO</value>
                                                <minimum>${parameter.jacoco.branch.coverage}</minimum>
                                            </limit>
                                        </limits>
                                    </rule>
                                </rules>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.owasp</groupId>
                    <artifactId>dependency-check-maven</artifactId>
                    <version>${version.owasp.check.maven.plugin}</version>
                    <configuration>
                        <!-- 1 through 10, 11 is never fail -->
                        <failBuildOnCVSS>${parameter.owasp.failOnCVSSLevelOrGreater}</failBuildOnCVSS>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
        <plugins>
            <plugin>
                <groupId>com.github.siom79.japicmp</groupId>
                <artifactId>japicmp-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>com.github.spotbugs</groupId>
                <artifactId>spotbugs-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>com.mycila</groupId>
                <artifactId>license-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <artifactId>maven-checkstyle-plugin</artifactId>
            </plugin>
            <plugin>
                <artifactId>maven-enforcer-plugin</artifactId>
            </plugin>
            <plugin>
                <artifactId>maven-pmd-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.basepom.maven</groupId>
                <artifactId>duplicate-finder-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.owasp</groupId>
                <artifactId>dependency-check-maven</artifactId>
            </plugin>
        </plugins>
    </build>
    <reporting>
        <plugins>
            <plugin>
                <groupId>com.github.spotbugs</groupId>
                <artifactId>spotbugs-maven-plugin</artifactId>
                <version>${version.spotbugs.maven.plugin}</version>
            </plugin>
            <plugin>
                <artifactId>maven-checkstyle-plugin</artifactId>
                <version>${version.checkstyle.maven.plugin}</version>
            </plugin>
            <plugin>
                <artifactId>maven-jxr-plugin</artifactId>
                <version>${version.jxr.maven.plugin}</version>
                <configuration>
                    <lineLength>132</lineLength>
                </configuration>
                <reportSets>
                    <reportSet>
                        <reports>
                            <report>jxr</report>
                            <report>test-jxr</report>
                        </reports>
                    </reportSet>
                </reportSets>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-pmd-plugin</artifactId>
                <version>${version.pmd.maven.plugin}</version>
                <configuration>
                    <linkXRef>true</linkXRef>
                    <skipEmptyReport>false</skipEmptyReport>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-project-info-reports-plugin</artifactId>
                <version>${version.reports.maven.plugin}</version>
                <configuration>
                    <linkOnly>true</linkOnly>
                </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-surefire-report-plugin</artifactId>
                <version>${version.surefire.maven.plugin}</version>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>jdepend-maven-plugin</artifactId>
                <version>${version.jdepend.maven.plugin}</version>
            </plugin>
            <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <version>${version.jacoco.maven.plugin}</version>
            </plugin>
            <plugin>
                <groupId>org.owasp</groupId>
                <artifactId>dependency-check-maven</artifactId>
            </plugin>
        </plugins>
    </reporting>
    <profiles>
        <profile>
            <id>takari</id>
            <activation>
                <property>
                    <name>parameter.takari.activated</name>
                    <value>true</value>
                </property>
            </activation>
            <build>
                <pluginManagement>
                    <plugins>
                        <plugin>
                            <groupId>io.takari.maven.plugins</groupId>
                            <artifactId>takari-lifecycle-plugin</artifactId>
                            <version>${version.takari.maven.plugin}</version>
                            <configuration>
                                <transitiveDependencyReference>${parameter.takari.transitiveDependencyReference}</transitiveDependencyReference>
                                <source>${parameter.java.version}</source>
                                <target>${parameter.java.version}</target>
                                <compilerId>jdt</compilerId>
                                <showWarnings>true</showWarnings>
                                <proc>${parameter.takari.proc}</proc>
                                <testJar>true</testJar>
                                <sourceJar>true</sourceJar>
                                <deployAtEnd>false</deployAtEnd>
                            </configuration>
                            <executions>
                                <execution>
                                    <id>validate</id>
                                    <goals>
                                        <goal>update-check</goal>
                                    </goals>
                                    <phase>validate</phase>
                                </execution>
                                <execution>
                                    <id>process-resources</id>
                                    <goals>
                                        <goal>process-resources</goal>
                                    </goals>
                                    <phase>process-resources</phase>
                                </execution>
                                <execution>
                                    <id>compile</id>
                                    <goals>
                                        <goal>compile</goal>
                                    </goals>
                                    <phase>compile</phase>
                                </execution>
                                <execution>
                                    <id>process-classes</id>
                                    <goals>
                                        <goal>export-package</goal>
                                    </goals>
                                    <phase>process-classes</phase>
                                </execution>
                                <execution>
                                    <id>process-test-resources</id>
                                    <goals>
                                        <goal>process-test-resources</goal>
                                    </goals>
                                    <phase>process-test-resources</phase>
                                </execution>
                                <execution>
                                    <id>test-compile</id>
                                    <goals>
                                        <goal>testCompile</goal>
                                    </goals>
                                    <phase>test-compile</phase>
                                </execution>
                                <execution>
                                    <id>process-test-classes</id>
                                    <goals>
                                        <goal>sisu-test-index</goal>
                                    </goals>
                                    <phase>process-test-classes</phase>
                                </execution>
                                <execution>
                                    <id>package</id>
                                    <goals>
                                        <goal>jar</goal>
                                        <goal>addPluginArtifactMetadata</goal>
                                    </goals>
                                    <phase>package</phase>
                                </execution>
                            </executions>
                        </plugin>
                        <plugin>
                            <artifactId>maven-compiler-plugin</artifactId>
                            <version>${version.compiler.maven.plugin}</version>
                            <configuration>
                                <source>${parameter.java.version}</source>
                                <target>${parameter.java.version}</target>
                                <skip>true</skip>
                                <skipMain>true</skipMain>
                            </configuration>
                        </plugin>
                        <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-resources-plugin</artifactId>
                            <version>${version.resources.maven.plugin}</version>
                            <configuration>
                                <skip>true</skip>
                            </configuration>
                        </plugin>
                    </plugins>
                </pluginManagement>
                <plugins>
                    <plugin>
                        <groupId>io.takari.maven.plugins</groupId>
                        <artifactId>takari-lifecycle-plugin</artifactId>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>
    <scm>
        <connection>${project.parent.scm.connection}</connection>
        <developerConnection>${project.parent.scm.developerConnection}</developerConnection>
    </scm>
</project>
