<project>
    <properties>
        <maven-pmd-plugin.version>3.15.0</maven-pmd-plugin.version>
        <pmd.version>6.39.0</pmd.version>
        <kemitix-pmd-ruleset.version>1.2.2</kemitix-pmd-ruleset.version>
    </properties>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-pmd-plugin</artifactId>
                <version>${maven-pmd-plugin.version}</version>
                <dependencies>
                    <dependency>
                        <groupId>net.sourceforge.pmd</groupId>
                        <artifactId>pmd-core</artifactId>
                        <version>${pmd.version}</version>
                    </dependency>
                    <dependency>
                        <groupId>net.sourceforge.pmd</groupId>
                        <artifactId>pmd-java</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>
                    <dependency>
                        <groupId>net.kemitix</groupId>
                        <artifactId>kemitix-pmd-ruleset</artifactId>
                        <version>${kemitix-pmd-ruleset.version}</version>
                    </dependency>
                </dependencies>
                <configuration>
                    <failOnViolation>true</failOnViolation>
                    <printFailingErrors>true</printFailingErrors>
                    <skipEmptyReport>false</skipEmptyReport>
                    <analysisCache>true</analysisCache>
                    <analysisCacheLocation>${project.build.directory}/pmd/pmd.cache</analysisCacheLocation>
                    <rulesets>
                        <ruleset>net/kemitix/pmd/java.xml</ruleset>
                    </rulesets>
                </configuration>
                <executions>
                    <execution>
                        <id>pmd</id>
                        <phase>test</phase>
                        <goals>
                            <goal>pmd</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>cpd</id>
                        <phase>test</phase>
                        <goals>
                            <goal>cpd</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin><!-- maven-pmd-plugin -->
        </plugins>
    </build>
    <reporting>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-pmd-plugin</artifactId>
                <version>${maven-pmd-plugin.version}</version>
                <configuration>
                    <linkXRef>true</linkXRef>
                </configuration>
            </plugin><!-- maven-pmd-plugin -->
        </plugins>
    </reporting>
</project>
