<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

  <!--
      TIPS:

      - use "mvn versions:display-dependency-updates" to see what dependencies
        have updates available.

      - use "mvn versions:display-plugin-updates" to see what plugins have
        updates available.
  -->
  <modelVersion>4.0.0</modelVersion>

  <!-- Used for making releases. -->
  <parent>
    <artifactId>oss-parent</artifactId>
    <groupId>org.sonatype.oss</groupId>
    <version>9</version>
  </parent>

  <groupId>com.puppycrawl.tools</groupId>
  <artifactId>checkstyle</artifactId>
  <version>8.5-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>checkstyle</name>
  <description>
    Checkstyle is a development tool to help programmers write Java code that adheres to a coding standard
  </description>
  <url>http://checkstyle.sourceforge.net/</url>
  <inceptionYear>2001</inceptionYear>
  <licenses>
    <license>
      <name>LGPL-2.1+</name>
      <url>http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt</url>
    </license>
  </licenses>

  <developers>
    <developer>
      <id>romani</id>
      <name>Roman Ivanov</name>
      <roles>
        <role>project admin, lead developer</role>
      </roles>
    </developer>
    <developer>
      <id>rnveach</id>
      <name>Richard Veach</name>
      <roles>
        <role>project admin, developer</role>
      </roles>
    </developer>
    <developer>
      <id>sabaka</id>
      <name>Ilja Dubinin</name>
      <roles>
        <role>developer</role>
      </roles>
    </developer>
    <developer>
      <id>MEZk</id>
      <name>Andrei Selkin</name>
      <roles>
        <role>developer</role>
      </roles>
    </developer>
    <developer>
      <id>Vladlis</id>
      <name>Vladislav Lisetskii</name>
      <roles>
        <role>developer</role>
      </roles>
    </developer>
    <developer>
      <id>oburn</id>
      <name>Oliver Burn</name>
      <roles>
        <role>founder (retired)</role>
      </roles>
    </developer>
    <developer>
      <id>mkordas</id>
      <name>Michał Kordas</name>
      <roles>
        <role>former developer</role>
      </roles>
    </developer>
    <developer>
      <id>rdiachenko</id>
      <name>Ruslan Diachenko</name>
      <roles>
        <role>former developer</role>
      </roles>
    </developer>
    <developer>
      <id>baratali</id>
      <name>Baratali Izmailov</name>
      <roles>
        <role>former developer</role>
      </roles>
    </developer>
    <developer>
      <id>daniilyar</id>
      <name>Daniil Yaroslavtsev</name>
      <roles>
        <role>former developer</role>
      </roles>
    </developer>
    <developer>
      <id>moradan</id>
      <name>Ivan Sopov</name>
      <roles>
        <role>former developer</role>
      </roles>
    </developer>
    <developer>
      <id>lkuehne</id>
      <name>Lars Kühne</name>
      <roles>
        <role>former developer</role>
      </roles>
    </developer>
    <developer>
      <id>rickgiles</id>
      <name>Rick Giles</name>
      <roles>
        <role>former developer</role>
      </roles>
    </developer>
    <developer>
      <id>o_sukhodolsky</id>
      <name>Oleg Sukhodolsky</name>
      <roles>
        <role>former developer</role>
      </roles>
    </developer>
    <developer>
      <id>mstudman</id>
      <name>Michael Studman</name>
      <roles>
        <role>former developer</role>
      </roles>
    </developer>
    <developer>
      <id>tschneeberger</id>
      <name>Travis Schneeberger</name>
      <roles>
        <role>former developer</role>
      </roles>
    </developer>
  </developers>
  <contributors>
    <contributor>
      <url>https://github.com/checkstyle/checkstyle/graphs/contributors</url>
    </contributor>
  </contributors>

  <mailingLists>
    <mailingList>
      <name>checkstyle-announce</name>
      <archive>https://groups.google.com/forum/#!forum/checkstyle-announce</archive>
      <subscribe>mailto:checkstyle-announce%2Bsubscribe@googlegroups.com</subscribe>
      <unsubscribe>mailto:checkstyle-announce%2Bunsubscribe@googlegroups.com</unsubscribe>
      <post>privilege of admins</post>
    </mailingList>
    <mailingList>
      <name>checkstyle</name>
      <archive>https://groups.google.com/forum/#!forum/checkstyle</archive>
      <subscribe>mailto:checkstyle%2Bsubscribe@googlegroups.com</subscribe>
      <unsubscribe>mailto:checkstyle%2Bunsubscribe@googlegroups.com</unsubscribe>
      <post>mailto:checkstyle@googlegroups.com</post>
    </mailingList>
    <mailingList>
      <name>checkstyle-devel</name>
      <archive>https://groups.google.com/forum/#!forum/checkstyle-devel</archive>
      <subscribe>mailto:checkstyle-devel%2Bsubscribe@googlegroups.com</subscribe>
      <unsubscribe>mailto:checkstyle-devel%2Bunsubscribe@googlegroups.com</unsubscribe>
      <post>mailto:checkstyle-devel@googlegroups.com</post>
    </mailingList>
  </mailingLists>

  <prerequisites>
    <maven>3.0.1</maven>
  </prerequisites>

  <scm>
    <connection>scm:git:git@github.com:checkstyle/checkstyle.git</connection>
    <developerConnection>scm:git:git@github.com:checkstyle/checkstyle.git</developerConnection>
    <url>https://github.com/checkstyle/checkstyle</url>
  </scm>
  <issueManagement>
    <system>GitHub Issues</system>
    <url>https://github.com/checkstyle/checkstyle/issues</url>
  </issueManagement>
  <ciManagement>
    <system>travis</system>
    <url>https://travis-ci.org/checkstyle/checkstyle</url>
  </ciManagement>
  <distributionManagement>
    <site>
      <id>sourceforge-new-site</id>
      <name>New Site</name>
      <url>scp://shell.sourceforge.net/home/project-web/checkstyle/htdocs/new-site</url>
    </site>
  </distributionManagement>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <projectVersion>${project.version}</projectVersion>
    <antlr4.version>4.7</antlr4.version>
    <maven.site.plugin.version>3.6</maven.site.plugin.version>
    <maven.findbugs.plugin.version>3.0.5</maven.findbugs.plugin.version>
    <maven.spotbugs.plugin.version>3.0.6</maven.spotbugs.plugin.version>
    <maven.pmd.plugin.version>3.8</maven.pmd.plugin.version>
    <pmd.version>5.8.1</pmd.version>
    <maven.jacoco.plugin.version>0.7.9</maven.jacoco.plugin.version>
    <saxon.version>9.8.0-5</saxon.version>
    <maven.checkstyle.plugin.version>2.17</maven.checkstyle.plugin.version>
    <maven.sevntu.checkstyle.plugin.version>1.24.2</maven.sevntu.checkstyle.plugin.version>
    <maven.sevntu-checkstyle-check.checkstyle.version>8.4</maven.sevntu-checkstyle-check.checkstyle.version>
    <maven.versions.plugin.version>2.5</maven.versions.plugin.version>
    <java.version>1.8</java.version>
    <tools.jar.version>${java.version}.0</tools.jar.version>
    <tools.jar.path>${java.home}/../lib/tools.jar</tools.jar.path>
    <pitest.plugin.version>1.2.4</pitest.plugin.version>
    <pitest.plugin.timeout.factor>10</pitest.plugin.timeout.factor>
    <pitest.plugin.timeout.constant>50000</pitest.plugin.timeout.constant>
    <pitest.plugin.threads>4</pitest.plugin.threads>
    <sonar.test.exclusions>**/test/resources/**/*,**/it/resources/**/*</sonar.test.exclusions>
  </properties>

  <!-- that repositories are required for testing plugin's snapshot version -->
  <pluginRepositories>
    <pluginRepository>
      <id>nexus-codehaus-snapshot</id>
      <name>Codehaus Snapshots</name>
      <url>https://oss.sonatype.org/content/repositories/codehaus-snapshots/</url>
    </pluginRepository>
    <pluginRepository>
      <id>sevntu-maven</id>
      <name>sevntu-maven</name>
      <url>http://sevntu-checkstyle.github.io/sevntu.checkstyle/maven2</url>
    </pluginRepository>
  </pluginRepositories>

  <dependencies>
    <dependency>
      <groupId>antlr</groupId>
      <artifactId>antlr</artifactId>
      <version>2.7.7</version>
    </dependency>
    <dependency>
      <groupId>org.antlr</groupId>
      <artifactId>antlr4-runtime</artifactId>
      <version>${antlr4.version}</version>
    </dependency>
    <dependency>
      <groupId>commons-beanutils</groupId>
      <artifactId>commons-beanutils</artifactId>
      <version>1.9.3</version>
    </dependency>
    <dependency>
      <groupId>commons-cli</groupId>
      <artifactId>commons-cli</artifactId>
      <version>1.4</version>
    </dependency>
    <dependency>
      <groupId>com.google.guava</groupId>
      <artifactId>guava</artifactId>
      <version>23.2-jre</version>
    </dependency>
    <dependency>
      <groupId>org.apache.ant</groupId>
      <artifactId>ant</artifactId>
      <version>1.10.1</version>
      <scope>provided</scope>
    </dependency>

    <!-- test scope stuff -->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>com.github.stefanbirkner</groupId>
      <artifactId>system-rules</artifactId>
      <version>1.16.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>nl.jqno.equalsverifier</groupId>
      <artifactId>equalsverifier</artifactId>
      <version>2.3.3</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.powermock</groupId>
      <artifactId>powermock-api-mockito</artifactId>
      <version>1.7.3</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.powermock</groupId>
      <artifactId>powermock-module-junit4</artifactId>
      <version>1.7.3</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>commons-io</groupId>
      <artifactId>commons-io</artifactId>
      <version>2.5</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.eclipse.jgit</groupId>
      <artifactId>org.eclipse.jgit</artifactId>
      <version>4.9.0.201710071750-r</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-simple</artifactId>
      <version>1.7.25</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.jacoco</groupId>
      <artifactId>org.jacoco.agent</artifactId>
      <version>${maven.jacoco.plugin.version}</version>
      <scope>test</scope>
      <classifier>runtime</classifier>
    </dependency>
    <dependency>
      <groupId>net.sf.saxon</groupId>
      <artifactId>Saxon-HE</artifactId>
      <version>${saxon.version}</version>
    </dependency>
  </dependencies>

  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-javadoc-plugin</artifactId>
          <version>2.10.4</version>
          <configuration>
            <source>${java.version}</source>
            <failOnError>true</failOnError>
            <linksource>true</linksource>
            <tags>
              <tag>
                <name>noinspection</name>
                <placement>X</placement>
              </tag>
            </tags>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-pmd-plugin</artifactId>
          <version>${maven.pmd.plugin.version}</version>
          <configuration>
            <targetJdk>${java.version}</targetJdk>
            <minimumTokens>20</minimumTokens>
            <skipEmptyReport>false</skipEmptyReport>
            <failOnViolation>true</failOnViolation>
            <printFailingErrors>true</printFailingErrors>
            <includeTests>true</includeTests>
            <rulesets>
              <ruleset>config/pmd-main.xml</ruleset>
              <ruleset>config/pmd-test.xml</ruleset>
            </rulesets>
            <excludeRoots>
              <excludeRoot>src/it/resources</excludeRoot>
              <excludeRoot>src/test/resources</excludeRoot>
              <excludeRoot>target/generated-sources/antlr</excludeRoot>
              <excludeRoot>target/generated-sources/antlr/com/puppycrawl/tools/checkstyle/grammars/javadoc</excludeRoot>
            </excludeRoots>
          </configuration>
          <dependencies>
            <dependency>
              <groupId>net.sourceforge.pmd</groupId>
              <artifactId>pmd-java</artifactId>
              <version>${pmd.version}</version>
            </dependency>
            <dependency>
              <groupId>net.sourceforge.pmd</groupId>
              <artifactId>pmd-core</artifactId>
              <version>${pmd.version}</version>
            </dependency>
            <dependency>
              <groupId>net.sourceforge.pmd</groupId>
              <artifactId>pmd-javascript</artifactId>
              <version>${pmd.version}</version>
            </dependency>
            <dependency>
              <groupId>net.sourceforge.pmd</groupId>
              <artifactId>pmd-jsp</artifactId>
              <version>${pmd.version}</version>
            </dependency>
          </dependencies>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>findbugs-maven-plugin</artifactId>
          <version>${maven.findbugs.plugin.version}</version>
          <configuration>
            <effort>Max</effort>
            <threshold>Low</threshold>
            <excludeFilterFile>config/findbugs-exclude.xml</excludeFilterFile>
          </configuration>
        </plugin>

        <plugin>
          <groupId>com.github.hazendaz.spotbugs</groupId>
          <artifactId>spotbugs-maven-plugin</artifactId>
          <version>${maven.spotbugs.plugin.version}</version>
          <configuration>
            <effort>Max</effort>
            <threshold>Low</threshold>
            <excludeFilterFile>config/findbugs-exclude.xml</excludeFilterFile>
            <findbugsXmlOutputDirectory>target/spotbugsreports</findbugsXmlOutputDirectory>
          </configuration>
        </plugin>

        <!-- This plugin's configuration is used to store Eclipse
             m2e settings only. It has no influence on the Maven build itself.
        -->
        <plugin>
          <groupId>org.eclipse.m2e</groupId>
          <artifactId>lifecycle-mapping</artifactId>
          <version>1.0.0</version>
          <configuration>
            <lifecycleMappingMetadata>
              <pluginExecutions>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-antrun-plugin</artifactId>
                    <versionRange>[1.0,)</versionRange>
                    <goals>
                      <goal>run</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <execute />
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>antlr-maven-plugin</artifactId>
                    <versionRange>[1.0,)</versionRange>
                    <goals>
                      <goal>generate</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <execute />
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.antlr</groupId>
                    <artifactId>antlr4-maven-plugin</artifactId>
                    <versionRange>[4.2,)</versionRange>
                    <goals>
                      <goal>antlr4</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <execute>
                      <runOnIncremental>true</runOnIncremental>
                    </execute>
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-enforcer-plugin</artifactId>
                    <versionRange>[1.2,)</versionRange>
                    <goals>
                      <goal>enforce</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore />
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>tidy-maven-plugin</artifactId>
                    <versionRange>1.0-beta-1</versionRange>
                    <goals>
                      <goal>check</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <execute />
                  </action>
                </pluginExecution>
              </pluginExecutions>
            </lifecycleMappingMetadata>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
    <plugins>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <version>${maven.checkstyle.plugin.version}</version>
        <dependencies>
          <dependency>
            <groupId>com.github.sevntu-checkstyle</groupId>
            <artifactId>sevntu-checkstyle-maven-plugin</artifactId>
            <version>${maven.sevntu.checkstyle.plugin.version}</version>
          </dependency>
          <dependency>
            <groupId>com.puppycrawl.tools</groupId>
            <artifactId>checkstyle</artifactId>
            <version>${maven.sevntu-checkstyle-check.checkstyle.version}</version>
          </dependency>
        </dependencies>
        <!-- Specifying configuration here will take effect on the execution of "mvn checkstyle:checkstyle",
             but will not take effect on the execution of "mvn site"  -->
        <executions>
          <execution>
            <id>sevntu-checkstyle-check</id>
            <phase>verify</phase>
            <configuration>
              <configLocation>${project.basedir}/config/checkstyle_sevntu_checks.xml</configLocation>
              <failOnViolation>true</failOnViolation>
              <includeResources>false</includeResources>
              <includeTestResources>false</includeTestResources>
              <logViolationsToConsole>true</logViolationsToConsole>
              <maxAllowedViolations>0</maxAllowedViolations>
              <violationSeverity>error</violationSeverity>
              <propertyExpansion>project.basedir=${project.basedir}</propertyExpansion>
              <sourceDirectory>${project.basedir}/src</sourceDirectory>
              <excludes>**/it/resources/**/*,**/test/resources/**/*,**/test/resources-noncompilable/**/*</excludes>
            </configuration>
            <goals>
              <goal>check</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-clean-plugin</artifactId>
        <version>3.0.0</version>
      </plugin>

      <!-- It brakes linkcheck plugin report.
           It works when linkcheck.forceSite=false, but
           at this case linkcheck report is full of false-positives

      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>tidy-maven-plugin</artifactId>
        <version>1.0-beta-1</version>
        <executions>
          <execution>
            <id>validate</id>
            <phase>validate</phase>
            <goals>
              <goal>check</goal>
            </goals>
          </execution>
        </executions>
      </plugin> -->

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-resources-plugin</artifactId>
        <version>3.0.2</version>
        <executions>
          <execution>
            <id>copy-resources</id>
            <phase>pre-site</phase>
            <goals>
              <goal>copy-resources</goal>
            </goals>
            <configuration>
              <outputDirectory>${basedir}/target/site/dtds</outputDirectory>
              <resources>
                <resource>
                  <directory>src/main/resources/com/puppycrawl/tools/checkstyle</directory>
                  <includes>
                    <include>*.dtd</include>
                  </includes>
                </resource>
                <resource>
                  <directory>src/main/resources/com/puppycrawl/tools/checkstyle/checks/imports</directory>
                  <includes>
                    <include>*.dtd</include>
                  </includes>
                </resource>
              </resources>
            </configuration>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.7.0</version>
        <configuration>
          <source>${java.version}</source>
          <target>${java.version}</target>
        </configuration>
        <!-- till https://github.com/checkstyle/checkstyle/issues/2160
        <executions>
          <execution>
            <id>compile-without-error-prone</id>
            <goals>
              <goal>testCompile</goal>
            </goals>
            <configuration>
              <testIncludes>
                <testInclude>**/Input*.java</testInclude>
              </testIncludes>
            </configuration>
          </execution>
          <execution>
            <id>compile-with-error-prone</id>
            <goals>
              <goal>testCompile</goal>
            </goals>
            <configuration>
              <compilerId>javac-with-errorprone</compilerId>
              <forceJavacCompilerUse>true</forceJavacCompilerUse>
              <testExcludes>
                <testExclude>**/*Input*.java</testExclude>
              </testExcludes>
            </configuration>
          </execution>
        </executions>
        <dependencies>
          <dependency>
            <groupId>org.codehaus.plexus</groupId>
            <artifactId>plexus-compiler-javac-errorprone</artifactId>
            <version>2.6</version>
          </dependency>
          <dependency>
            <groupId>com.google.errorprone</groupId>
            <artifactId>error_prone_core</artifactId>
            <version>2.0.5</version>
          </dependency>
        </dependencies>
        -->
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-install-plugin</artifactId>
        <version>2.5.2</version>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-deploy-plugin</artifactId>
        <version>2.8.2</version>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>versions-maven-plugin</artifactId>
        <version>${maven.versions.plugin.version}</version>
        <configuration>
          <generateBackupPoms>false</generateBackupPoms>
        </configuration>
      </plugin>
      <plugin>
          <groupId>org.sonatype.plugins</groupId>
          <artifactId>nexus-staging-maven-plugin</artifactId>
          <version>1.6.8</version>
          <extensions>true</extensions>
          <configuration>
              <!-- serverId is ID of a <server> section from Maven's settings.xml
                   to pick authentication information from
              -->
              <serverId>sonatype-nexus-staging</serverId>
              <nexusUrl>https://oss.sonatype.org/</nexusUrl>
              <autoReleaseAfterClose>true</autoReleaseAfterClose>
          </configuration>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-site-plugin</artifactId>
        <version>${maven.site.plugin.version}</version>
        <configuration>
          <xdocDirectory>${basedir}/src/xdocs</xdocDirectory>
          <!-- false till https://issues.apache.org/jira/browse/MSITE-774 -->
          <validate>false</validate>
        </configuration>
        <dependencies>
          <dependency>
            <!-- add support for ssh/scp -->
            <groupId>org.apache.maven.wagon</groupId>
            <artifactId>wagon-ssh</artifactId>
            <version>3.0.0</version>
          </dependency>
        </dependencies>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-enforcer-plugin</artifactId>
        <version>1.4.1</version>
        <executions>
          <execution>
            <id>enforce-versions</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <requireJavaVersion>
                  <version>1.6</version>
                </requireJavaVersion>
                <!-- we can not use this as it require
                compilation on 1.6 only, due to dependency to 'tools'
                <enforceBytecodeVersion>
                  <maxJdkVersion>1.6</maxJdkVersion>
                </enforceBytecodeVersion>
                -->
              </rules>
            </configuration>
          </execution>
        </executions>
        <!-- we can not use this as it require
        compilation on 1.6 only, due to dependency to 'tool'
        <dependencies>
          <dependency>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>extra-enforcer-rules</artifactId>
            <version>1.0-beta-2</version>
            <scope>compile</scope>
          </dependency>
        </dependencies>
        -->
      </plugin>

      <!-- Generate the ANTLRv2 grammar -->
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>antlr-maven-plugin</artifactId>
        <version>2.2</version>
        <configuration>
          <sourceDirectory>${basedir}/src/main/resources/com/puppycrawl/tools/checkstyle/grammars</sourceDirectory>
          <grammars>java.g</grammars>
        </configuration>
        <executions>
          <execution>
            <goals>
              <goal>generate</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

      <!-- Generate the ANTLRv4 grammar -->
      <plugin>
        <groupId>org.antlr</groupId>
        <artifactId>antlr4-maven-plugin</artifactId>
        <version>${antlr4.version}</version>
        <configuration>
          <visitor>false</visitor>
          <listener>false</listener>
          <sourceDirectory>${basedir}/src/main/resources/</sourceDirectory>
          <outputDirectory>${project.build.directory}/generated-sources/antlr/</outputDirectory>
          <includes>
            <include>com/puppycrawl/tools/checkstyle/grammars/javadoc/*.g4</include>
          </includes>
        </configuration>
        <executions>
          <execution>
            <goals>
              <goal>antlr4</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <version>3.0.0</version>
        <executions>
          <execution>
            <id>add-source</id>
            <phase>generate-sources</phase>
            <goals>
              <goal>add-source</goal>
            </goals>
            <configuration>
              <sources>
                <source>${project.build.directory}/generated-sources/antlr/</source>
              </sources>
            </configuration>
          </execution>
          <execution>
            <id>add-test-source</id>
            <phase>process-resources</phase>
            <goals>
              <goal>add-test-source</goal>
            </goals>
            <configuration>
              <sources>
                <source>src/test/resources</source>
              </sources>
            </configuration>
          </execution>
          <execution>
            <id>add-it-test-source</id>
            <phase>process-resources</phase>
            <goals>
              <goal>add-test-source</goal>
            </goals>
            <configuration>
              <sources>
                <source>src/it/java</source>
              </sources>
            </configuration>
          </execution>
          <execution>
            <id>add-it-test-resource</id>
            <phase>process-resources</phase>
            <goals>
              <goal>add-test-source</goal>
            </goals>
            <configuration>
              <sources>
                <source>src/it/resources</source>
              </sources>
            </configuration>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-failsafe-plugin</artifactId>
        <version>2.20.1</version>
        <configuration>
          <includes>
            <include>com/google/**/*.java</include>
          </includes>
        </configuration>
        <executions>
          <execution>
            <id>integration-test</id>
            <goals>
              <goal>integration-test</goal>
            </goals>
          </execution>
          <execution>
            <id>verify</id>
            <goals>
              <goal>verify</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

      <!-- Used to set custom properties -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.20.1</version>
        <configuration>
          <systemPropertyVariables>
            <jacoco-agent.destfile>${project.build.directory}/jacoco/jacoco.exec</jacoco-agent.destfile>
          </systemPropertyVariables>
          <additionalClasspathElements>
            <additionalClasspathElement>src/test/resources-noncompilable</additionalClasspathElement>
          </additionalClasspathElements>
          <includes>
            <include>com/puppycrawl/**/*.java</include>
          </includes>
        </configuration>
      </plugin>

      <!-- Generate checkstylecompilation.properties -->

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-antrun-plugin</artifactId>
        <version>1.8</version>
        <executions>
          <execution>
            <id>ant-phase-compile</id>
            <phase>compile</phase>
            <goals>
              <goal>run</goal>
            </goals>
            <configuration>
              <target>
                <property name="mvn.project.build.outputDirectory" value="${project.build.outputDirectory}" />
                <property name="mvn.project.version" value="${project.version}" />
                <property name="mvn.compile_classpath" refid="maven.compile.classpath" />
                <ant antfile="config/ant-phase-compile.xml" />
              </target>
            </configuration>
          </execution>
          <execution>
            <id>ant-phase-verify</id>
            <phase>verify</phase>
            <goals>
              <goal>run</goal>
            </goals>
            <configuration>
              <target>
                <property name="mvn.project.build.directory" value="${project.build.directory}" />
                <property name="mvn.project.version" value="${project.version}" />
                <property name="mvn.runtime_classpath" refid="maven.runtime.classpath" />
                <property name="project.basedir" value="${project.basedir}" />
                <ant antfile="config/ant-phase-verify.xml" />
              </target>
            </configuration>
          </execution>
        </executions>
        <dependencies>
          <dependency>
            <groupId>org.apache.ant</groupId>
            <artifactId>ant-nodeps</artifactId>
            <version>1.8.1</version>
          </dependency>
        </dependencies>
      </plugin>

      <!-- Ensure the manifest has all the gory details -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <version>3.0.2</version>
        <configuration>
          <archive>
            <manifest>
              <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
              <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
            </manifest>
          </archive>
        </configuration>
        <executions>
          <execution>
            <goals>
              <goal>test-jar</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-eclipse-plugin</artifactId>
        <version>2.10</version>
        <configuration>
          <downloadSources>true</downloadSources>
          <downloadJavadocs>true</downloadJavadocs>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-pmd-plugin</artifactId>
        <executions>
          <execution>
            <phase>verify</phase>
            <goals>
              <goal>check</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>findbugs-maven-plugin</artifactId>
        <executions>
          <execution>
            <goals>
              <goal>check</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>com.github.hazendaz.spotbugs</groupId>
        <artifactId>spotbugs-maven-plugin</artifactId>
        <version>${maven.spotbugs.plugin.version}</version>
        <executions>
          <execution>
            <goals>
              <goal>check</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>xml-maven-plugin</artifactId>
        <version>1.0.1</version>
        <executions>
          <execution>
            <goals>
              <goal>validate</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <validationSets>
            <validationSet>
              <dir>config</dir>
              <excludes>
                <exclude>java.header</exclude>
                <exclude>java_regexp.header</exclude>
                <exclude>org.eclipse.jdt.core.prefs</exclude>
                <exclude>intellij-idea-inspections.properties</exclude>
              </excludes>
            </validationSet>
            <validationSet>
              <dir>src/site/resources/files</dir>
              <systemId>src/main/resources/com/puppycrawl/tools/checkstyle/suppressions_1_0.dtd</systemId>
            </validationSet>
            <validationSet>
              <dir>src/site</dir>
              <includes>
                <include>site.xml</include>
              </includes>
              <systemId>http://maven.apache.org/xsd/decoration-1.0.0.xsd</systemId>
            </validationSet>
            <validationSet>
              <dir>src/test/resources</dir>
              <includes>
                <include>com/puppycrawl/tools/checkstyle/packagenamesloader/InputPackageNamesLoaderFile.xml</include>
                <include>com/puppycrawl/tools/checkstyle/treewalker/InputTreeWalkerNotJava.xml</include>
              </includes>
              <systemId>src/main/resources/com/puppycrawl/tools/checkstyle/packages_1_0.dtd</systemId>
            </validationSet>
            <validationSet>
              <dir>src/main/resources</dir>
              <includes>
                <include>google_checks.xml</include>
                <include>sun_checks.xml</include>
              </includes>
              <systemId>src/main/resources/com/puppycrawl/tools/checkstyle/configuration_1_3.dtd</systemId>
            </validationSet>
          </validationSets>
          <catalogs>
            <catalog>config/catalog.xml</catalog>
          </catalogs>
        </configuration>
      </plugin>
      <plugin>
      <groupId>de.thetaphi</groupId>
      <artifactId>forbiddenapis</artifactId>
      <version>2.4.1</version>
      <configuration>
        <targetVersion>${java.version}</targetVersion>
        <failOnUnsupportedJava>false</failOnUnsupportedJava>
        <bundledSignatures>
          <bundledSignature>jdk-unsafe</bundledSignature>
          <bundledSignature>jdk-deprecated</bundledSignature>
          <bundledSignature>jdk-system-out</bundledSignature>
          <bundledSignature>jdk-non-portable</bundledSignature>
        </bundledSignatures>
        <excludes>
          <!-- system-out is ok there, that is CLI -->
          <exclude>**/Main.class</exclude>
          <!-- generated classes, unfortunately use problematic api -->
          <exclude>**/GeneratedJavaLexer.class</exclude>
          <exclude>**/JavadocParser.class</exclude>
          <!-- excluded till https://github.com/policeman-tools/forbidden-apis/issues/108-->
          <exclude>**/checks/annotation/annotationlocation/InputAnnotationLocationDeprecatedAndCustom*</exclude>
        </excludes>
      </configuration>
      <executions>
        <execution>
          <goals>
            <goal>check</goal>
            <goal>testCheck</goal>
          </goals>
        </execution>
      </executions>
    </plugin>
      <plugin>
        <groupId>edu.illinois</groupId>
        <artifactId>nondex-maven-plugin</artifactId>
        <version>1.1.1</version>
      </plugin>
    </plugins>
  </build>

  <reporting>
    <plugins>
      <plugin>
        <artifactId>maven-project-info-reports-plugin</artifactId>
        <version>2.9</version>
      </plugin>

      <plugin>
        <artifactId>maven-javadoc-plugin</artifactId>
        <reportSets>
          <reportSet>
            <id>default</id>
            <reports>
              <report>javadoc</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>

      <!--
       dsm-maven plugin does not support Java 1.8
       Deactivated until https://github.com/sevntu-checkstyle/dsm-maven-plugin/issues/31
       -->
      <!--<plugin>-->
        <!--<groupId>com.github.sevntu-checkstyle</groupId>-->
        <!--<artifactId>dsm-maven-plugin</artifactId>-->
        <!--<version>2.1.4</version>-->
        <!--<configuration>-->
          <!--<obfuscatePackageNames>true</obfuscatePackageNames>-->
        <!--</configuration>-->
      <!--</plugin>-->

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-report-plugin</artifactId>
        <version>2.20.1</version>
      </plugin>

      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>cobertura-maven-plugin</artifactId>
        <version>2.7</version>
        <reportSets>
          <reportSet>
            <reports>
              <report>cobertura</report>
            </reports>
          </reportSet>
        </reportSets>
        <configuration>
          <quiet>true</quiet>
          <formats>
            <format>xml</format>
            <format>html</format>
          </formats>
          <check />
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.jacoco</groupId>
        <artifactId>jacoco-maven-plugin</artifactId>
        <version>${maven.jacoco.plugin.version}</version>
        <configuration>
          <dataFile>${project.build.directory}/jacoco/jacoco.exec</dataFile>
          <excludes>
            <exclude>com/puppycrawl/tools/checkstyle/ant/CheckstyleAntTask*.class</exclude>
            <exclude>com/puppycrawl/tools/checkstyle/grammars/*.class</exclude>
            <exclude>com/puppycrawl/tools/checkstyle/grammars/javadoc/*.class</exclude>
            <exclude>com/puppycrawl/tools/checkstyle/gui/*.class</exclude>
          </excludes>
        </configuration>
        <reportSets>
          <reportSet>
            <reports>
              <report>report</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jxr-plugin</artifactId>
        <version>2.5</version>
      </plugin>

      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>jdepend-maven-plugin</artifactId>
        <version>2.0</version>
      </plugin>

      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>taglist-maven-plugin</artifactId>
        <version>2.4</version>
        <configuration>
          <!-- skip till http://jira.codehaus.org/browse/MTAGLIST-71 -->
          <skipTestSources>true</skipTestSources>
          <tagListOptions>
            <tagClasses>
              <tagClass>
                <displayName>Todo Work</displayName>
                <tags>
                  <tag>
                    <matchString>todo</matchString>
                    <matchType>ignoreCase</matchType>
                  </tag>
                  <tag>
                    <matchString>FIXME</matchString>
                    <matchType>exact</matchType>
                  </tag>
                </tags>
              </tagClass>
            </tagClasses>
          </tagListOptions>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.codehaus.sonar-plugins</groupId>
        <artifactId>maven-report</artifactId>
        <version>0.1</version>
        <configuration>
          <sonarHostURL>https://sonarqube.com</sonarHostURL>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-pmd-plugin</artifactId>
        <version>${maven.pmd.plugin.version}</version>
        <reportSets>
          <reportSet>
            <reports>
              <report>pmd</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>

      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>findbugs-maven-plugin</artifactId>
        <version>${maven.findbugs.plugin.version}</version>
      </plugin>

      <plugin>
        <groupId>com.github.hazendaz.spotbugs</groupId>
        <artifactId>spotbugs-maven-plugin</artifactId>
        <version>${maven.spotbugs.plugin.version}</version>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-linkcheck-plugin</artifactId>
        <version>1.2</version>
        <configuration>
          <httpMethod>GET</httpMethod>
          <timeout>6000</timeout>
          <httpFollowRedirect>false</httpFollowRedirect>
          <forceSite>true</forceSite>
          <excludedPages>
            <excludedPage>dependencies.html</excludedPage>
            <excludedPage>cobertura/**</excludedPage>
            <excludedPage>dsm/**</excludedPage>
            <excludedPage>xref/**</excludedPage>
            <excludedPage>xref-test/**</excludedPage>
            <excludedPage>pmd.html</excludedPage>
            <excludedPage>findbugs.html</excludedPage>
            <excludedPage>surefire-report.html</excludedPage>
            <!-- Excluded due to checkstyle's issue #549 until http://jira.codehaus.org/browse/MTAGLIST-69 will be fixed -->
            <excludedPage>taglist.html</excludedPage>
          </excludedPages>
          <excludedHttpStatusErrors>
            <excludedHttpStatusError>401</excludedHttpStatusError>
          </excludedHttpStatusErrors>
          <excludedLinks>
            <excludedLink>reports/google-style/guava</excludedLink>
            <excludedLink>reports/javadoc/openjdk8</excludedLink>
            <!-- temporal suppress till javadoc tool starts generating links to https -->
            <excludedLink>http://docs.oracle.com/javase</excludedLink>
            <!-- SSL -->
            <excludedLink>https://travis-ci.org/</excludedLink>
            <excludedLink>https://travis-ci.org/checkstyle/checkstyle</excludedLink>
            <excludedLink>https://coveralls.io/r/checkstyle/checkstyle</excludedLink>

            <!-- we did too much requests to github, now github reject all requests "429 Too Many Requests"
                 https://codeship.com/projects/124310/builds/12027213  -->
            <excludedLink>https://github.com/*</excludedLink>
            <excludedLink>http://search.maven.org/*</excludedLink>
            <!-- codehaus does not exists anymore -->
            <excludedLink>http://sonar-plugins.codehaus.org/maven-report</excludedLink>
            <!-- this plugin does not have site at all -->
            <excludedLink>http://hazendaz.github.io/findbugs-maven-plugin/</excludedLink>
            <!-- SSLHandshakeException but page is opening -->
            <excludedLink>http://www.sickboy.cz/checkstyle/</excludedLink>
            <!-- Excluded due to Maven Enforcer Plugin's issue #234: https://issues.apache.org/jira/browse/MENFORCER-234-->
            <excludedLink>http://maven.apache.org/enforcer/maven-enforcer-plugin</excludedLink>
            <!-- Excluded due to Maven Codehaus Plugin's issue #4: https://github.com/mojohaus/mojohaus.github.io/issues/4-->
            <excludedLink>http://mojo.codehaus.org/antlr-maven-plugin</excludedLink>
            <!-- Excluded due to Maven Build Helper Plugin's issue #3: https://github.com/mojohaus/build-helper-maven-plugin/issues/3-->
            <excludedLink>http://mojo.codehaus.org/build-helper-maven-plugin</excludedLink>
            <!-- Excluded due to Maven Cobertura Plugin's issue #5: https://github.com/mojohaus/cobertura-maven-plugin/issues/5-->
            <excludedLink>http://mojo.codehaus.org/cobertura-maven-plugin/</excludedLink>
            <!-- Excluded due to Maven JDepend Plugin's issue #2: https://github.com/mojohaus/jdepend-maven-plugin/issues/2-->
            <excludedLink>http://mojo.codehaus.org/jdepend-maven-plugin</excludedLink>
            <!-- Excluded due to Maven Taglist Plugin's issue #3: https://github.com/mojohaus/taglist-maven-plugin/issues/3-->
            <excludedLink>http://mojo.codehaus.org/taglist-maven-plugin</excludedLink>
            <!-- Excluded due to Maven XML Plugin's issue #1: https://github.com/mojohaus/xml-maven-plugin/issues/1-->
            <excludedLink>http://mojo.codehaus.org/xml-maven-plugin</excludedLink>
            <!-- Excluded due to Maven ANTLR4 Plugin's issue #978: https://github.com/antlr/antlr4/issues/978-->
            <excludedLink>http://www.antlr.org/antlr4-maven-plugin</excludedLink>
            <!-- Excluded due to Maven Release Plugin's issue #919: https://issues.apache.org/jira/browse/MRELEASE-919-->
            <excludedLink>http://maven.apache.org/plugins/maven-release-plugin/</excludedLink>
            <!-- Excluded till https://issues.sonatype.org/browse/NEXUS-9643 -->
            <excludedLink>http://www.sonatype.com/public-parent/nexus-maven-plugins/nexus-staging/nexus-staging-maven-plugin/</excludedLink>
            <!-- This link exists, but it has too much content and github has problems with rendering it quickly, so to avoid ocasional "Read timed out" we exclude it -->
            <excludedLink>https://github.com/checkstyle/checkstyle/issues/1555</excludedLink>
            <!-- Excluded, because the link is generated by sonar's maven report plugin and we
            can not correct the link while it will not be changed in effective pom.xml of the plugin
            by sonar's developers. It is not allowed to open issue against sonar's maven report plugin
            at sonar's issue tracker: http://jira.codehaus.org/browse/MSONAR
            Sonar's mailing lists: http://www.mojohaus.org/sonar-maven-plugin/mail-lists.html-->
            <excludedLink>https://sonarqube.com/project/index/com.puppycrawl.tools:checkstyle</excludedLink>
            <!-- SSL error, skip validating released "-all" jar on sourceforge as it is uploaded after site generation-->
            <excludedLink>http://downloads.sourceforge.net/project/checkstyle/checkstyle/*/checkstyle-*-all.jar</excludedLink>

            <!-- Excluded due to linkcheck's issue #22: https://issues.apache.org/jira/browse/MLINKCHECK-22-->
            <excludedLink>https://twitter.com/checkstyle_java/</excludedLink>
            <!-- Excluded due to linkcheck's issue #23: https://issues.apache.org/jira/browse/MLINKCHECK-23-->
            <excludedLink>http://www.kclee.com/clemens/java/javancss</excludedLink>
            <!-- It is not a strict link, no needt ovalidate, github gives "429 Too Many Requests" for it -->
            <excludedLink>https://github.com/search*</excludedLink>
            <!-- till https://github.com/apache/maven-plugins/pull/81 -->
            <excludedLink>http://git-scm.com*</excludedLink>

            <!-- reason described at https://github.com/checkstyle/checkstyle/issues/3080 -->
            <excludedLink>https://gratipay.com/checkstyle/</excludedLink>
            <excludedLink>https://www.scm-manager.org/</excludedLink>
            <!-- linkcheck plugin can not resolve &amps; inside url -->
            <excludedLink>https://flattr.com/submit/</excludedLink>
            <!-- Too unstable sites to keep validate them -->
            <excludedLink>http://tide.olympe.in/*</excludedLink>
            <excludedLink>http://dl.acm.org/*</excludedLink>
            <!-- permanent SSLHandshakeException -->
            <excludedLink>https://www.codacy.com/</excludedLink>
            <!-- permanent SSLHandshakeException https://issues.apache.org/jira/browse/MLINKCHECK-28 -->
            <excludedLink>https://sourceforge.net/p/checkstyle/news/feed</excludedLink>
            <!-- permanent SSLHandshakeException https://issues.apache.org/jira/browse/MLINKCHECK-28 -->
            <excludedLink>https://sourceforge.net/projects/checkstyle/</excludedLink>
            <!-- permanent SSLHandshakeException https://issues.apache.org/jira/browse/MLINKCHECK-28 -->
            <excludedLink>https://sourceforge.net/projects/checkstyle/files/checkstyle/</excludedLink>
            <!-- permanent SSLHandshakeException -->
            <excludedLink>https://vim.sourceforge.io/</excludedLink>
            <excludedLink>https://vim.sourceforge.io/scripts/script.php?script_id=448</excludedLink>
            <!-- permanent SSLException -->
            <excludedLink>https://button.flattr.com/flattr-badge-large.png</excludedLink>
            <!-- permanent SSLException -->
            <excludedLink>https://git-scm.com</excludedLink>
            <!-- till https://github.com/gleclaire/findbugs-maven-plugin/pull/69 merged and released -->
            <excludedLink>http://gleclaire.github.io/findbugs-maven-plugin/</excludedLink>
            <!-- I do not know how to resolve this "302 Found" responce -->
            <excludedLink>https://plus.google.com/+CheckstyleJava</excludedLink>
            <!-- it permanently gives 404, but image is opening in browser without problems -->
            <excludedLink>https://www.ej-technologies.com/images/product_banners/jprofiler_medium.png</excludedLink>
            <!-- permanent SSLHandshakeException -->
            <excludedLink>https://www.ej-technologies.com/products/jprofiler/overview.html</excludedLink>
            <!-- permanent java.net.SocketException : Connection reset -->
            <excludedLink>https://www.jarchitect.com</excludedLink>
            <!-- permanent: avax.net.ssl.SSLException : Received fatal alert: internal_error -->
            <excludedLink>https://salt.bountysource.com/teams/checkstyle</excludedLink>
            <excludedLink>https://www.bountysource.com/teams/checkstyle/issues</excludedLink>
          </excludedLinks>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>versions-maven-plugin</artifactId>
        <version>${maven.versions.plugin.version}</version>
        <reportSets>
          <reportSet>
            <reports>
              <report>dependency-updates-report</report>
              <report>plugin-updates-report</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>

    </plugins>
  </reporting>

  <profiles>

    <!-- Bring in tools.jar for platforms which provide it
    that is required for javadoc doclets that are in use -->
    <profile>
      <id>default-tools.jar-oracle</id>
      <activation>
        <property>
          <name>java.vendor</name>
          <value>Oracle Corporation</value>
        </property>
        <jdk>[,1.9)</jdk>
      </activation>
      <dependencies>
        <dependency>
          <groupId>com.sun</groupId>
          <artifactId>tools</artifactId>
          <version>${tools.jar.version}</version>
          <scope>system</scope>
          <systemPath>${tools.jar.path}</systemPath>
        </dependency>
      </dependencies>
    </profile>

    <profile>
      <!-- To be used during development. Run the command-->
      <!-- mvn -Pno-validations site -->
      <id>no-validations</id>
      <properties>
        <skipTests>true</skipTests>
        <checkstyle.ant.skip>true</checkstyle.ant.skip>
        <checkstyle.skip>true</checkstyle.skip>
        <pmd.skip>true</pmd.skip>
        <findbugs.skip>true</findbugs.skip>
        <xml.skip>true</xml.skip>
        <forbiddenapis.skip>true</forbiddenapis.skip>
        <cobertura.skip>true</cobertura.skip>
        <maven.javadoc.skip>true</maven.javadoc.skip>
        <linkcheck.skip>true</linkcheck.skip>
      </properties>
    </profile>

    <profile>
      <!-- To be used during development. Run the command-->
      <!-- mvn -Passembly package -->
      <id>assembly</id>
      <properties>
        <skipTests>true</skipTests>
        <checkstyle.ant.skip>true</checkstyle.ant.skip>
        <checkstyle.skip>true</checkstyle.skip>
        <pmd.skip>true</pmd.skip>
        <findbugs.skip>true</findbugs.skip>
        <xml.skip>true</xml.skip>
        <forbiddenapis.skip>true</forbiddenapis.skip>
        <cobertura.skip>true</cobertura.skip>
        <maven.javadoc.skip>true</maven.javadoc.skip>
        <linkcheck.skip>true</linkcheck.skip>
        <!-- difference from "no-validations" -->
        <maven.site.skip>true</maven.site.skip>
      </properties>

      <build>
        <plugins>
          <!-- Generates the site, which is required for assembly -->
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-site-plugin</artifactId>
            <version>${maven.site.plugin.version}</version>
            <executions>
              <execution>
                <id>gen-site</id>
                <phase>prepare-package</phase>
                <goals>
                  <goal>site</goal>
                </goals>
              </execution>
            </executions>
          </plugin>

          <!-- Creates the all inclusive uber jar -->
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-shade-plugin</artifactId>
            <version>3.1.0</version>
            <executions>
              <execution>
                <phase>package</phase>
                <goals>
                  <goal>shade</goal>
                </goals>
                <configuration>
                  <filters>
                    <filter>
                      <artifact>*:*</artifact>
                      <excludes>
                        <exclude>META-INF/*.SF</exclude>
                        <exclude>META-INF/*.DSA</exclude>
                        <exclude>META-INF/*.RSA</exclude>
                      </excludes>
                    </filter>
                  </filters>
                  <shadedArtifactAttached>true</shadedArtifactAttached>
                  <shadedClassifierName>all</shadedClassifierName>
                  <transformers>
                    <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                      <mainClass>com.puppycrawl.tools.checkstyle.Main</mainClass>
                    </transformer>
                  </transformers>
                </configuration>
              </execution>
            </executions>
          </plugin>

          <!-- Creates the binary and source distributions -->
          <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>3.1.0</version>
            <configuration>
              <descriptors>
                <descriptor>config/assembly-bin.xml</descriptor>
                <descriptor>config/assembly-src.xml</descriptor>
              </descriptors>
              <tarLongFileMode>gnu</tarLongFileMode>
            </configuration>
            <executions>
              <execution>
                <id>make-bundle</id>
                <phase>package</phase>
                <goals>
                  <goal>single</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>

    </profile>

    <profile>
      <id>sonar</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>sonar-maven-plugin</artifactId>
            <version>3.3.0.603</version>
          </plugin>
        </plugins>
      </build>
    </profile>

    <profile>
      <id>cobertura-check</id>
      <activation>
        <jdk>[1.8,)</jdk>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>cobertura-maven-plugin</artifactId>
            <version>2.7</version>
            <configuration>
              <quiet>true</quiet>
              <formats>
                <format>xml</format>
                <format>html</format>
              </formats>
              <check>
                <haltOnFailure>true</haltOnFailure>
                <branchRate>100</branchRate>
                <lineRate>100</lineRate>
                <totalBranchRate>84</totalBranchRate>
                <totalLineRate>89</totalLineRate>
                <regexes>
                  <regex>
                    <pattern>com.puppycrawl.tools.checkstyle.grammars.GeneratedJavaRecognizer</pattern>
                    <branchRate>72</branchRate>
                    <lineRate>96</lineRate>
                  </regex>
                  <regex>
                    <pattern>com.puppycrawl.tools.checkstyle.grammars.GeneratedJavaLexer</pattern>
                    <branchRate>79</branchRate>
                    <lineRate>96</lineRate>
                  </regex>
                  <regex>
                    <pattern>com.puppycrawl.tools.checkstyle.grammars.javadoc.JavadocParser</pattern>
                    <branchRate>42</branchRate>
                    <lineRate>53</lineRate>
                  </regex>
                  <regex>
                    <pattern>com.puppycrawl.tools.checkstyle.grammars.javadoc.JavadocLexer</pattern>
                    <branchRate>64</branchRate>
                    <lineRate>84</lineRate>
                  </regex>
                </regexes>
              </check>
              <instrumentation>
                <excludes>
                  <!-- Terence Parr, The Definitive ANTLR 4 Reference, 2.4 Building Language Applications Using Parse Trees:
                       "To better support access to the elements within specific nodes, ANTLR generates
                       a RuleNode subclass for each rule. ... Given this description of the concrete types, we could write
                       code by hand to perform a depth-first walk of the tree. We could perform whatever actions we
                       wanted as we discovered and finished nodes. Typical operations are things such as
                       computing results, updating data structures, or generating output."
                       We don't need these classes as we use only ParseTree methods for walking. -->
                  <exclude>com/puppycrawl/tools/checkstyle/grammars/javadoc/JavadocParser$*.class</exclude>
                  <!-- Swing related classes -->
                  <exclude>com/puppycrawl/tools/checkstyle/gui/BaseCellEditor*.class</exclude>
                  <exclude>com/puppycrawl/tools/checkstyle/gui/CodeSelector.class</exclude>
                  <exclude>com/puppycrawl/tools/checkstyle/gui/TreeTable*.class</exclude>
                  <exclude>com/puppycrawl/tools/checkstyle/gui/ListToTreeSelectionModelWrapper*.class</exclude>
                  <exclude>com/puppycrawl/tools/checkstyle/gui/Main*.class</exclude>
                  <exclude>com/puppycrawl/tools/checkstyle/gui/MainFrame*.class</exclude>
                  <exclude>com/puppycrawl/tools/checkstyle/gui/ParseTreeTableModel*.class</exclude>
                  <exclude>com/puppycrawl/tools/checkstyle/gui/TreeTableCellRenderer*.class</exclude>
                  <exclude>com/puppycrawl/tools/checkstyle/gui/TreeTableModelAdapter*.class</exclude>
                  <!-- deprecated classes -->
                  <exclude>com/puppycrawl/tools/checkstyle/checks/naming/AbstractTypeParameterNameCheck.class</exclude>
                </excludes>
              </instrumentation>
            </configuration>
            <executions>
              <execution>
                <goals>
                  <goal>check</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>

    <profile>
      <id>pitest-checks-misc</id>
      <properties>
        <skipTests>true</skipTests>
      </properties>
      <build>
        <plugins>
          <plugin>
            <groupId>org.pitest</groupId>
            <artifactId>pitest-maven</artifactId>
            <version>${pitest.plugin.version}</version>
            <configuration>
              <targetClasses>
                <param>com.puppycrawl.tools.checkstyle.checks.ArrayTypeStyleCheck</param>
                <param>com.puppycrawl.tools.checkstyle.checks.AvoidEscapedUnicodeCharactersCheck</param>
                <param>com.puppycrawl.tools.checkstyle.checks.DescendantTokenCheck</param>
                <param>com.puppycrawl.tools.checkstyle.checks.FileSetCheckLifecycle</param>
                <param>com.puppycrawl.tools.checkstyle.checks.FinalParametersCheck</param>
                <param>com.puppycrawl.tools.checkstyle.checks.NewlineAtEndOfFileCheck</param>
                <param>com.puppycrawl.tools.checkstyle.checks.OuterTypeFilenameCheck</param>
                <!-- this class will be rewritten in future releases -->
                <!--<param>com.puppycrawl.tools.checkstyle.checks.SuppressWarningsHolder</param>-->
                <param>com.puppycrawl.tools.checkstyle.checks.TodoCommentCheck</param>
                <param>com.puppycrawl.tools.checkstyle.checks.TrailingCommentCheck</param>
                <param>com.puppycrawl.tools.checkstyle.checks.TranslationCheck</param>
                <param>com.puppycrawl.tools.checkstyle.checks.UncommentedMainCheck</param>
                <param>com.puppycrawl.tools.checkstyle.checks.UniquePropertiesCheck</param>
                <param>com.puppycrawl.tools.checkstyle.checks.UpperEllCheck</param>
              </targetClasses>
              <targetTests>
                <param>com.puppycrawl.tools.checkstyle.checks.ArrayTypeStyleCheckTest</param>
                <param>com.puppycrawl.tools.checkstyle.checks.AvoidEscapedUnicodeCharactersCheckTest</param>
                <param>com.puppycrawl.tools.checkstyle.checks.DescendantTokenCheckTest</param>
                <param>com.puppycrawl.tools.checkstyle.checks.FinalParametersCheckTest</param>
                <param>com.puppycrawl.tools.checkstyle.checks.NewlineAtEndOfFileCheckTest</param>
                <param>com.puppycrawl.tools.checkstyle.checks.OuterTypeFilenameCheckTest</param>
                <param>com.puppycrawl.tools.checkstyle.checks.SuppressWarningsHolderTest</param>
                <param>com.puppycrawl.tools.checkstyle.checks.TodoCommentCheckTest</param>
                <param>com.puppycrawl.tools.checkstyle.checks.TrailingCommentCheckTest</param>
                <param>com.puppycrawl.tools.checkstyle.checks.TranslationCheckTest</param>
                <param>com.puppycrawl.tools.checkstyle.checks.UncommentedMainCheckTest</param>
                <param>com.puppycrawl.tools.checkstyle.checks.UniquePropertiesCheckTest</param>
                <param>com.puppycrawl.tools.checkstyle.checks.UpperEllCheckTest</param>
              </targetTests>
              <mutationThreshold>99</mutationThreshold>
              <timeoutFactor>${pitest.plugin.timeout.factor}</timeoutFactor>
              <timeoutConstant>${pitest.plugin.timeout.constant}</timeoutConstant>
              <threads>${pitest.plugin.threads}</threads>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>pitest-checks-annotation</id>
      <properties>
        <skipTests>true</skipTests>
      </properties>
      <build>
        <plugins>
          <plugin>
            <groupId>org.pitest</groupId>
            <artifactId>pitest-maven</artifactId>
            <version>${pitest.plugin.version}</version>
            <configuration>
              <targetClasses>
                <param>com.puppycrawl.tools.checkstyle.checks.annotation.AnnotationLocationCheck</param>
                <param>com.puppycrawl.tools.checkstyle.checks.annotation.AnnotationOnSameLineCheck</param>
                <param>com.puppycrawl.tools.checkstyle.checks.annotation.AnnotationUseStyleCheck</param>
                <param>com.puppycrawl.tools.checkstyle.checks.annotation.MissingDeprecatedCheck</param>
                <param>com.puppycrawl.tools.checkstyle.checks.annotation.MissingOverrideCheck</param>
                <param>com.puppycrawl.tools.checkstyle.checks.annotation.PackageAnnotationCheck</param>
                <param>com.puppycrawl.tools.checkstyle.checks.annotation.SuppressWarningsCheck</param>
              </targetClasses>
              <targetTests>
                <param>com.puppycrawl.tools.checkstyle.checks.annotation.AnnotationLocationCheckTest</param>
                <param>com.puppycrawl.tools.checkstyle.checks.annotation.AnnotationOnSameLineCheckTest</param>
                <param>com.puppycrawl.tools.checkstyle.checks.annotation.AnnotationUseStyleCheckTest</param>
                <param>com.puppycrawl.tools.checkstyle.checks.annotation.MissingDeprecatedCheckTest</param>
                <param>com.puppycrawl.tools.checkstyle.checks.annotation.MissingOverrideCheckTest</param>
                <param>com.puppycrawl.tools.checkstyle.checks.annotation.PackageAnnotationCheckTest</param>
                <param>com.puppycrawl.tools.checkstyle.checks.annotation.SuppressWarningsCheckTest</param>
              </targetTests>
              <mutationThreshold>100</mutationThreshold>
              <timeoutFactor>${pitest.plugin.timeout.factor}</timeoutFactor>
              <timeoutConstant>${pitest.plugin.timeout.constant}</timeoutConstant>
              <threads>${pitest.plugin.threads}</threads>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>pitest-checks-blocks</id>
      <properties>
        <skipTests>true</skipTests>
      </properties>
      <build>
        <plugins>
          <plugin>
            <groupId>org.pitest</groupId>
            <artifactId>pitest-maven</artifactId>
            <version>${pitest.plugin.version}</version>
            <configuration>
              <targetClasses>
                <param>com.puppycrawl.tools.checkstyle.checks.blocks.*</param>
              </targetClasses>
              <targetTests>
                <param>com.puppycrawl.tools.checkstyle.checks.blocks.*</param>
              </targetTests>
              <mutationThreshold>97</mutationThreshold>
              <timeoutFactor>${pitest.plugin.timeout.factor}</timeoutFactor>
              <timeoutConstant>${pitest.plugin.timeout.constant}</timeoutConstant>
              <threads>${pitest.plugin.threads}</threads>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>pitest-checks-coding</id>
      <properties>
        <skipTests>true</skipTests>
      </properties>
      <build>
        <plugins>
          <plugin>
            <groupId>org.pitest</groupId>
            <artifactId>pitest-maven</artifactId>
            <version>${pitest.plugin.version}</version>
            <configuration>
              <targetClasses>
                <param>com.puppycrawl.tools.checkstyle.checks.coding.*</param>
              </targetClasses>
              <targetTests>
                <param>com.puppycrawl.tools.checkstyle.checks.coding.*</param>
              </targetTests>
              <mutationThreshold>97</mutationThreshold>
              <timeoutFactor>${pitest.plugin.timeout.factor}</timeoutFactor>
              <timeoutConstant>${pitest.plugin.timeout.constant}</timeoutConstant>
              <threads>${pitest.plugin.threads}</threads>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>pitest-checks-design</id>
      <properties>
        <skipTests>true</skipTests>
      </properties>
      <build>
        <plugins>
          <plugin>
            <groupId>org.pitest</groupId>
            <artifactId>pitest-maven</artifactId>
            <version>${pitest.plugin.version}</version>
            <configuration>
              <targetClasses>
                <param>com.puppycrawl.tools.checkstyle.checks.design.*</param>
              </targetClasses>
              <targetTests>
                <param>com.puppycrawl.tools.checkstyle.checks.design.*</param>
              </targetTests>
              <mutationThreshold>100</mutationThreshold>
              <timeoutFactor>${pitest.plugin.timeout.factor}</timeoutFactor>
              <timeoutConstant>${pitest.plugin.timeout.constant}</timeoutConstant>
              <threads>${pitest.plugin.threads}</threads>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>pitest-checks-header</id>
      <properties>
        <skipTests>true</skipTests>
      </properties>
      <build>
        <plugins>
          <plugin>
            <groupId>org.pitest</groupId>
            <artifactId>pitest-maven</artifactId>
            <version>${pitest.plugin.version}</version>
            <configuration>
              <targetClasses>
                <param>com.puppycrawl.tools.checkstyle.checks.header.*</param>
              </targetClasses>
              <targetTests>
                <param>com.puppycrawl.tools.checkstyle.checks.header.*</param>
              </targetTests>
              <mutationThreshold>100</mutationThreshold>
              <timeoutFactor>${pitest.plugin.timeout.factor}</timeoutFactor>
              <timeoutConstant>${pitest.plugin.timeout.constant}</timeoutConstant>
              <threads>${pitest.plugin.threads}</threads>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>pitest-checks-imports</id>
      <properties>
        <skipTests>true</skipTests>
      </properties>
      <build>
        <plugins>
          <plugin>
            <groupId>org.pitest</groupId>
            <artifactId>pitest-maven</artifactId>
            <version>${pitest.plugin.version}</version>
            <configuration>
              <targetClasses>
                <param>com.puppycrawl.tools.checkstyle.checks.imports.*</param>
              </targetClasses>
              <targetTests>
                <param>com.puppycrawl.tools.checkstyle.checks.imports.*</param>
              </targetTests>
              <mutationThreshold>96</mutationThreshold>
              <timeoutFactor>${pitest.plugin.timeout.factor}</timeoutFactor>
              <timeoutConstant>${pitest.plugin.timeout.constant}</timeoutConstant>
              <threads>${pitest.plugin.threads}</threads>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>pitest-checks-indentation</id>
      <properties>
        <skipTests>true</skipTests>
      </properties>
      <build>
        <plugins>
          <plugin>
            <groupId>org.pitest</groupId>
            <artifactId>pitest-maven</artifactId>
            <version>${pitest.plugin.version}</version>
            <configuration>
              <targetClasses>
                <param>com.puppycrawl.tools.checkstyle.checks.indentation.*</param>
              </targetClasses>
              <targetTests>
                <param>com.puppycrawl.tools.checkstyle.checks.indentation.*</param>
              </targetTests>
              <mutationThreshold>94</mutationThreshold>
              <timeoutFactor>${pitest.plugin.timeout.factor}</timeoutFactor>
              <timeoutConstant>${pitest.plugin.timeout.constant}</timeoutConstant>
              <threads>${pitest.plugin.threads}</threads>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>pitest-checks-javadoc</id>
      <properties>
        <skipTests>true</skipTests>
      </properties>
      <build>
        <plugins>
          <plugin>
            <groupId>org.pitest</groupId>
            <artifactId>pitest-maven</artifactId>
            <version>${pitest.plugin.version}</version>
            <configuration>
              <targetClasses>
                <param>com.puppycrawl.tools.checkstyle.checks.javadoc.*</param>
              </targetClasses>
              <targetTests>
                <param>com.puppycrawl.tools.checkstyle.checks.javadoc.*</param>
              </targetTests>
              <mutationThreshold>95</mutationThreshold>
              <timeoutFactor>${pitest.plugin.timeout.factor}</timeoutFactor>
              <timeoutConstant>${pitest.plugin.timeout.constant}</timeoutConstant>
              <threads>${pitest.plugin.threads}</threads>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>pitest-checks-metrics</id>
      <properties>
        <skipTests>true</skipTests>
      </properties>
      <build>
        <plugins>
          <plugin>
            <groupId>org.pitest</groupId>
            <artifactId>pitest-maven</artifactId>
            <version>${pitest.plugin.version}</version>
            <configuration>
              <targetClasses>
                <param>com.puppycrawl.tools.checkstyle.checks.metrics.*</param>
              </targetClasses>
              <targetTests>
                <param>com.puppycrawl.tools.checkstyle.checks.metrics.*</param>
              </targetTests>
              <mutationThreshold>97</mutationThreshold>
              <timeoutFactor>${pitest.plugin.timeout.factor}</timeoutFactor>
              <timeoutConstant>${pitest.plugin.timeout.constant}</timeoutConstant>
              <threads>${pitest.plugin.threads}</threads>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>pitest-checks-modifier</id>
      <properties>
        <skipTests>true</skipTests>
      </properties>
      <build>
        <plugins>
          <plugin>
            <groupId>org.pitest</groupId>
            <artifactId>pitest-maven</artifactId>
            <version>${pitest.plugin.version}</version>
            <configuration>
              <targetClasses>
                <param>com.puppycrawl.tools.checkstyle.checks.modifier.*</param>
              </targetClasses>
              <targetTests>
                <param>com.puppycrawl.tools.checkstyle.checks.modifier.*</param>
              </targetTests>
              <mutationThreshold>100</mutationThreshold>
              <timeoutFactor>${pitest.plugin.timeout.factor}</timeoutFactor>
              <timeoutConstant>${pitest.plugin.timeout.constant}</timeoutConstant>
              <threads>${pitest.plugin.threads}</threads>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>pitest-checks-naming</id>
      <properties>
        <skipTests>true</skipTests>
      </properties>
      <build>
        <plugins>
          <plugin>
            <groupId>org.pitest</groupId>
            <artifactId>pitest-maven</artifactId>
            <version>${pitest.plugin.version}</version>
            <configuration>
              <targetClasses>
                <param>com.puppycrawl.tools.checkstyle.checks.naming.*</param>
              </targetClasses>
              <targetTests>
                <param>com.puppycrawl.tools.checkstyle.checks.naming.*</param>
              </targetTests>
              <excludedClasses>
                <!-- deprecated class -->
                <param>com.puppycrawl.tools.checkstyle.checks.naming.AbstractTypeParameterNameCheck</param>
              </excludedClasses>
              <mutationThreshold>100</mutationThreshold>
              <timeoutFactor>${pitest.plugin.timeout.factor}</timeoutFactor>
              <timeoutConstant>${pitest.plugin.timeout.constant}</timeoutConstant>
              <threads>${pitest.plugin.threads}</threads>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>pitest-checks-regexp</id>
      <properties>
        <skipTests>true</skipTests>
      </properties>
      <build>
        <plugins>
          <plugin>
            <groupId>org.pitest</groupId>
            <artifactId>pitest-maven</artifactId>
            <version>${pitest.plugin.version}</version>
            <configuration>
              <targetClasses>
                <param>com.puppycrawl.tools.checkstyle.checks.regexp.*</param>
              </targetClasses>
              <targetTests>
                <param>com.puppycrawl.tools.checkstyle.checks.regexp.*</param>
              </targetTests>
              <mutationThreshold>100</mutationThreshold>
              <timeoutFactor>${pitest.plugin.timeout.factor}</timeoutFactor>
              <timeoutConstant>${pitest.plugin.timeout.constant}</timeoutConstant>
              <threads>${pitest.plugin.threads}</threads>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>pitest-checks-sizes</id>
      <properties>
        <skipTests>true</skipTests>
      </properties>
      <build>
        <plugins>
          <plugin>
            <groupId>org.pitest</groupId>
            <artifactId>pitest-maven</artifactId>
            <version>${pitest.plugin.version}</version>
            <configuration>
              <targetClasses>
                <param>com.puppycrawl.tools.checkstyle.checks.sizes.*</param>
              </targetClasses>
              <targetTests>
                <param>com.puppycrawl.tools.checkstyle.checks.sizes.*</param>
              </targetTests>
              <mutationThreshold>100</mutationThreshold>
              <timeoutFactor>${pitest.plugin.timeout.factor}</timeoutFactor>
              <timeoutConstant>${pitest.plugin.timeout.constant}</timeoutConstant>
              <threads>${pitest.plugin.threads}</threads>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>pitest-checks-whitespace</id>
      <properties>
        <skipTests>true</skipTests>
      </properties>
      <build>
        <plugins>
          <plugin>
            <groupId>org.pitest</groupId>
            <artifactId>pitest-maven</artifactId>
            <version>${pitest.plugin.version}</version>
            <configuration>
              <targetClasses>
                <param>com.puppycrawl.tools.checkstyle.checks.whitespace.*</param>
              </targetClasses>
              <targetTests>
                <param>com.puppycrawl.tools.checkstyle.checks.whitespace.*</param>
              </targetTests>
              <mutationThreshold>99</mutationThreshold>
              <timeoutFactor>${pitest.plugin.timeout.factor}</timeoutFactor>
              <timeoutConstant>${pitest.plugin.timeout.constant}</timeoutConstant>
              <threads>${pitest.plugin.threads}</threads>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
   <!-- Non-checks code profiles -->
    <profile>
      <id>pitest-checkstyle-common</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.pitest</groupId>
            <artifactId>pitest-maven</artifactId>
            <version>${pitest.plugin.version}</version>
            <configuration>
              <targetClasses>
                <param>com.puppycrawl.tools.checkstyle.AuditEventDefaultFormatter</param>
                <param>com.puppycrawl.tools.checkstyle.ConfigurationLoader*</param>
                <param>com.puppycrawl.tools.checkstyle.PackageNamesLoader</param>
                <param>com.puppycrawl.tools.checkstyle.DefaultConfiguration</param>
                <param>com.puppycrawl.tools.checkstyle.DefaultContext</param>
                <param>com.puppycrawl.tools.checkstyle.DefaultLogger</param>
                <param>com.puppycrawl.tools.checkstyle.Definitions</param>
                <param>com.puppycrawl.tools.checkstyle.XMLLogger</param>
                <param>com.puppycrawl.tools.checkstyle.PackageObjectFactory</param>
                <param>com.puppycrawl.tools.checkstyle.PropertiesExpander</param>
                <param>com.puppycrawl.tools.checkstyle.PropertyCacheFile</param>
                <param>com.puppycrawl.tools.checkstyle.Checker</param>
                <param>com.puppycrawl.tools.checkstyle.ant.*</param>
                <param>com.puppycrawl.tools.checkstyle.doclets.*</param>
                <param>com.puppycrawl.tools.checkstyle.ThreadModeSettings</param>
              </targetClasses>
              <targetTests>
                <param>com.puppycrawl.tools.checkstyle.AuditEventDefaultFormatterTest</param>
                <param>com.puppycrawl.tools.checkstyle.ConfigurationLoaderTest</param>
                <param>com.puppycrawl.tools.checkstyle.PackageNamesLoaderTest</param>
                <param>com.puppycrawl.tools.checkstyle.DefaultConfigurationTest</param>
                <param>com.puppycrawl.tools.checkstyle.DefaultLoggerTest</param>
                <param>com.puppycrawl.tools.checkstyle.DefinitionsTest</param>
                <param>com.puppycrawl.tools.checkstyle.XMLLoggerTest</param>
                <param>com.puppycrawl.tools.checkstyle.PackageObjectFactoryTest</param>
                <param>com.puppycrawl.tools.checkstyle.PropertiesExpanderTest</param>
                <param>com.puppycrawl.tools.checkstyle.PropertyCacheFileTest</param>
                <param>com.puppycrawl.tools.checkstyle.CheckerTest</param>
                <param>com.puppycrawl.tools.checkstyle.ant.*</param>
                <param>com.puppycrawl.tools.checkstyle.doclets.*</param>
                <param>com.puppycrawl.tools.checkstyle.ThreadModeSettingsTest</param>
              </targetTests>
              <mutationThreshold>100</mutationThreshold>
              <timeoutFactor>${pitest.plugin.timeout.factor}</timeoutFactor>
              <timeoutConstant>${pitest.plugin.timeout.constant}</timeoutConstant>
              <threads>${pitest.plugin.threads}</threads>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>pitest-checkstyle-main</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.pitest</groupId>
            <artifactId>pitest-maven</artifactId>
            <version>${pitest.plugin.version}</version>
            <configuration>
              <targetClasses>
                <param>com.puppycrawl.tools.checkstyle.Main</param>
              </targetClasses>
              <targetTests>
                <param>com.puppycrawl.tools.checkstyle.MainTest</param>
              </targetTests>
              <mutationThreshold>100</mutationThreshold>
              <timeoutFactor>${pitest.plugin.timeout.factor}</timeoutFactor>
              <timeoutConstant>${pitest.plugin.timeout.constant}</timeoutConstant>
              <threads>${pitest.plugin.threads}</threads>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>pitest-checkstyle-tree-walker</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.pitest</groupId>
            <artifactId>pitest-maven</artifactId>
            <version>${pitest.plugin.version}</version>
            <configuration>
              <targetClasses>
                <param>com.puppycrawl.tools.checkstyle.JavadocDetailNodeParser</param>
                <param>com.puppycrawl.tools.checkstyle.DetailNodeTreeStringPrinter</param>
                <param>com.puppycrawl.tools.checkstyle.AstTreeStringPrinter</param>
                <param>com.puppycrawl.tools.checkstyle.TreeWalker</param>
              </targetClasses>
              <targetTests>
                <param>com.puppycrawl.tools.checkstyle.DetailNodeTreeStringPrinterTest</param>
                <param>com.puppycrawl.tools.checkstyle.AstTreeStringPrinterTest</param>
                <param>com.puppycrawl.tools.checkstyle.TreeWalkerTest</param>
                <param>com.puppycrawl.tools.checkstyle.checks.coding.PackageDeclarationCheckTest</param>
                <param>com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest</param>
                <param>com.puppycrawl.tools.checkstyle.checks.indentation.IndentationCheckTest</param>
                <param>com.puppycrawl.tools.checkstyle.checks.javadoc.*</param>
                <param>com.puppycrawl.tools.checkstyle.checks.metrics.ClassDataAbstractionCouplingCheckTest</param>
                <param>com.puppycrawl.tools.checkstyle.checks.naming.TypeNameCheckTest</param>
                <param>com.puppycrawl.tools.checkstyle.checks.regexp.RegexpSinglelineJavaCheckTest</param>
                <param>com.puppycrawl.tools.checkstyle.checks.sizes.MethodCountCheckTest</param>
                <param>com.puppycrawl.tools.checkstyle.checks.whitespace.SingleSpaceSeparatorCheckTest</param>
                <param>com.puppycrawl.tools.checkstyle.checks.whitespace.EmptyLineSeparatorCheckTest</param>
              </targetTests>
              <excludedMethods>
                <!-- destroy in TreeWalker was added in case module had to free up resources before ending,
                but currently it does nothing, so we cannot check it. If we remove this destroy we would have
                to remove all of them as they are chained together, so we just exclude it from pitest check. -->
                <param>destroy</param>
              </excludedMethods>
              <mutationThreshold>100</mutationThreshold>
              <timeoutFactor>${pitest.plugin.timeout.factor}</timeoutFactor>
              <timeoutConstant>${pitest.plugin.timeout.constant}</timeoutConstant>
              <threads>${pitest.plugin.threads}</threads>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>pitest-checkstyle-api</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.pitest</groupId>
            <artifactId>pitest-maven</artifactId>
            <version>${pitest.plugin.version}</version>
            <configuration>
              <targetClasses>
                <param>com.puppycrawl.tools.checkstyle.api.*</param>
              </targetClasses>
              <targetTests>
                <param>com.puppycrawl.tools.checkstyle.api.*</param>
                <param>com.puppycrawl.tools.checkstyle.grammars.comments.CommentsTest</param>
                <param>com.puppycrawl.tools.checkstyle.filefilters.*</param>
                <param>com.puppycrawl.tools.checkstyle.filters.*</param>
                <param>com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocMethodCheckTest</param>
                <param>com.puppycrawl.tools.checkstyle.checks.imports.ImportControlCheckTest</param>
                <param>com.puppycrawl.tools.checkstyle.checks.javadoc.WriteTagCheckTest</param>
                <param>com.puppycrawl.tools.checkstyle.checks.naming.ParameterNameCheckTest</param>
                <param>com.puppycrawl.tools.checkstyle.ConfigurationLoaderTest</param>
                <param>com.puppycrawl.tools.checkstyle.checks.TranslationCheckTest</param>
              </targetTests>
              <excludedMethods>
                <!--cause of https://github.com/checkstyle/checkstyle/issues/3605-->
                <param>addFeaturesForVerySecureJavaInstallations</param>
              </excludedMethods>
              <avoidCallsTo>
                <!--cause of https://github.com/checkstyle/checkstyle/issues/3605-->
                <avoidCallsTo>com.puppycrawl.tools.checkstyle.api.AbstractLoader$FeaturesForVerySecureJavaInstallations</avoidCallsTo>
              </avoidCallsTo>
              <mutationThreshold>100</mutationThreshold>
              <timeoutFactor>${pitest.plugin.timeout.factor}</timeoutFactor>
              <timeoutConstant>${pitest.plugin.timeout.constant}</timeoutConstant>
              <threads>${pitest.plugin.threads}</threads>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>pitest-checkstyle-filters</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.pitest</groupId>
            <artifactId>pitest-maven</artifactId>
            <version>${pitest.plugin.version}</version>
            <configuration>
              <targetClasses>
                <param>com.puppycrawl.tools.checkstyle.filefilters.*</param>
                <param>com.puppycrawl.tools.checkstyle.filters.*</param>
              </targetClasses>
              <targetTests>
                <param>com.puppycrawl.tools.checkstyle.filefilters.*</param>
                <param>com.puppycrawl.tools.checkstyle.filters.*</param>
              </targetTests>
              <mutationThreshold>100</mutationThreshold>
              <timeoutFactor>${pitest.plugin.timeout.factor}</timeoutFactor>
              <timeoutConstant>${pitest.plugin.timeout.constant}</timeoutConstant>
              <threads>${pitest.plugin.threads}</threads>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>pitest-checkstyle-utils</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.pitest</groupId>
            <artifactId>pitest-maven</artifactId>
            <version>${pitest.plugin.version}</version>
            <configuration>
              <targetClasses>
                <param>com.puppycrawl.tools.checkstyle.utils.*</param>
              </targetClasses>
              <targetTests>
                <param>com.puppycrawl.tools.checkstyle.utils.*</param>
                <param>com.puppycrawl.tools.checkstyle.checks.coding.*</param>
                <param>com.puppycrawl.tools.checkstyle.AstTreeStringPrinterTest</param>
                <param>com.puppycrawl.tools.checkstyle.ConfigurationLoaderTest</param>
                <param>com.puppycrawl.tools.checkstyle.DetailNodeTreeStringPrinterTest</param>
                <param>com.puppycrawl.tools.checkstyle.PackageObjectFactoryTest</param>
                <param>com.puppycrawl.tools.checkstyle.checks.FinalParametersCheckTest</param>
                <param>com.puppycrawl.tools.checkstyle.checks.TranslationCheckTest</param>
                <param>com.puppycrawl.tools.checkstyle.checks.blocks.RightCurlyCheckTest</param>
                <param>com.puppycrawl.tools.checkstyle.checks.coding.MultipleVariableDeclarationsCheckTest</param>
                <param>com.puppycrawl.tools.checkstyle.checks.design.FinalClassCheckTest</param>
                <param>com.puppycrawl.tools.checkstyle.checks.javadoc.*</param>
                <param>com.puppycrawl.tools.checkstyle.checks.regexp.RegexpOnFilenameCheckTest</param>
                <param>com.puppycrawl.tools.checkstyle.checks.whitespace.*</param>
                <param>com.puppycrawl.tools.checkstyle.filters.SuppressionCommentFilter</param>
                <param>com.puppycrawl.tools.checkstyle.filters.SuppressWithNearbyCommentFilterTest</param>
                <param>com.puppycrawl.tools.checkstyle.internal.AllChecksTest</param>
              </targetTests>
              <mutationThreshold>100</mutationThreshold>
              <timeoutFactor>${pitest.plugin.timeout.factor}</timeoutFactor>
              <timeoutConstant>${pitest.plugin.timeout.constant}</timeoutConstant>
              <threads>${pitest.plugin.threads}</threads>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>pitest-checkstyle-gui</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.pitest</groupId>
            <artifactId>pitest-maven</artifactId>
            <version>${pitest.plugin.version}</version>
            <configuration>
              <targetClasses>
                <param>com.puppycrawl.tools.checkstyle.gui.*</param>
              </targetClasses>
              <targetTests>
                <param>com.puppycrawl.tools.checkstyle.gui.*</param>
              </targetTests>
              <mutationThreshold>30</mutationThreshold>
              <timeoutFactor>${pitest.plugin.timeout.factor}</timeoutFactor>
              <timeoutConstant>${pitest.plugin.timeout.constant}</timeoutConstant>
              <threads>${pitest.plugin.threads}</threads>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>eclipse-compiler</id>
      <dependencies>
        <dependency>
            <groupId>org.eclipse.jdt</groupId>
            <artifactId>org.eclipse.jdt.annotation</artifactId>
            <version>2.1.0</version>
        </dependency>
      </dependencies>
      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <version>1.6.0</version>
            <configuration>
              <executable>.ci/eclipse-compiler-javac.sh</executable>
              <classpathScope>test</classpathScope>
              <arguments>
                <classpath />
              </arguments>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>pitest-checkstyle-xpath</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.pitest</groupId>
            <artifactId>pitest-maven</artifactId>
            <version>${pitest.plugin.version}</version>
            <configuration>
              <targetClasses>
                <param>com.puppycrawl.tools.checkstyle.xpath.*</param>
              </targetClasses>
              <targetTests>
                <param>com.puppycrawl.tools.checkstyle.xpath.*</param>
              </targetTests>
              <mutationThreshold>100</mutationThreshold>
              <timeoutFactor>${pitest.plugin.timeout.factor}</timeoutFactor>
              <timeoutConstant>${pitest.plugin.timeout.constant}</timeoutConstant>
              <threads>${pitest.plugin.threads}</threads>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>
