| <?xml version='1.0' encoding='UTF-8'?> |
| |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, |
| software distributed under the License is distributed on an |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations |
| under the License. |
| --> |
| |
| <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
| <modelVersion>4.0.0</modelVersion> |
| |
| <parent> |
| <artifactId>maven-plugins</artifactId> |
| <groupId>org.apache.maven.plugins</groupId> |
| <version>30</version> |
| <relativePath>../../pom/maven/maven-plugins/pom.xml</relativePath> |
| </parent> |
| |
| <artifactId>maven-pmd-plugin</artifactId> |
| <version>3.9.0-SNAPSHOT</version> |
| <packaging>maven-plugin</packaging> |
| |
| <name>Apache Maven PMD Plugin</name> |
| <description> |
| A Maven plugin for the PMD toolkit, that produces a report on both code rule violations and detected copy and paste |
| fragments, |
| as well as being able to fail the build based on these metrics. |
| </description> |
| <inceptionYear>2005</inceptionYear> |
| |
| <contributors> |
| <contributor> |
| <name>John Allen</name> |
| </contributor> |
| <contributor> |
| <name>Ryan Heinen</name> |
| </contributor> |
| <contributor> |
| <name>Andreas Dangel</name> |
| </contributor> |
| <contributor> |
| <name>Andrey Utis</name> |
| </contributor> |
| <contributor> |
| <name>Mirko Friedenhagen</name> |
| </contributor> |
| </contributors> |
| |
| <prerequisites> |
| <maven>${mavenVersion}</maven> |
| </prerequisites> |
| |
| <scm> |
| <connection>scm:svn:http://svn.apache.org/repos/asf/maven/plugins/trunk/maven-pmd-plugin/</connection> |
| <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/plugins/trunk/maven-pmd-plugin/</developerConnection> |
| <url>http://svn.apache.org/viewvc/maven/plugins/trunk/maven-pmd-plugin/</url> |
| </scm> |
| <issueManagement> |
| <system>JIRA</system> |
| <url>https://issues.apache.org/jira/browse/MPMD</url> |
| </issueManagement> |
| <distributionManagement> |
| <site> |
| <id>apache.website</id> |
| <url>scm:svn:https://svn.apache.org/repos/infra/websites/production/maven/components/${maven.site.path}</url> |
| </site> |
| </distributionManagement> |
| |
| <properties> |
| <mavenVersion>3.0</mavenVersion> |
| <doxiaVersion>1.7</doxiaVersion> |
| <!-- Because PMD 5.4+ requires Java 7 --> |
| <javaVersion>1.7</javaVersion> |
| <maven.compiler.source>${javaVersion}</maven.compiler.source> |
| <maven.compiler.target>${javaVersion}</maven.compiler.target> |
| <pmdVersion>5.6.1</pmdVersion> |
| <sitePluginVersion>3.4</sitePluginVersion> |
| <projectInfoReportsPluginVersion>2.8</projectInfoReportsPluginVersion> |
| </properties> |
| |
| <dependencies> |
| <!-- maven --> |
| <dependency> |
| <groupId>org.apache.maven</groupId> |
| <artifactId>maven-artifact</artifactId> |
| <version>${mavenVersion}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven</groupId> |
| <artifactId>maven-model</artifactId> |
| <version>${mavenVersion}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven</groupId> |
| <artifactId>maven-plugin-api</artifactId> |
| <version>${mavenVersion}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven.plugin-tools</groupId> |
| <artifactId>maven-plugin-annotations</artifactId> |
| <scope>provided</scope> |
| </dependency> |
| |
| <!-- pmd --> |
| <dependency> |
| <groupId>net.sourceforge.pmd</groupId> |
| <artifactId>pmd-core</artifactId> |
| <version>${pmdVersion}</version> |
| </dependency> |
| <dependency> |
| <groupId>net.sourceforge.pmd</groupId> |
| <artifactId>pmd-java</artifactId> |
| <version>${pmdVersion}</version> |
| </dependency> |
| <dependency> |
| <groupId>net.sourceforge.pmd</groupId> |
| <artifactId>pmd-javascript</artifactId> |
| <version>${pmdVersion}</version> |
| </dependency> |
| <dependency> |
| <groupId>net.sourceforge.pmd</groupId> |
| <artifactId>pmd-jsp</artifactId> |
| <version>${pmdVersion}</version> |
| </dependency> |
| |
| <!-- doxia --> |
| <dependency> |
| <groupId>org.apache.maven.doxia</groupId> |
| <artifactId>doxia-sink-api</artifactId> |
| <version>${doxiaVersion}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven.doxia</groupId> |
| <artifactId>doxia-decoration-model</artifactId> |
| <version>${doxiaVersion}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven.doxia</groupId> |
| <artifactId>doxia-site-renderer</artifactId> |
| <version>${doxiaVersion}</version> |
| <!-- |
| Note: doxia-site-renderer needs to be defined AFTER pmd: |
| doxia-site-renderer requires transitively dom4j 1.1 which provides a very old version of jaxen (same jar). |
| PMD requires a newer version of jaxen, which is not compatible. |
| --> |
| </dependency> |
| |
| <!-- shared --> |
| <dependency> |
| <groupId>org.apache.maven.reporting</groupId> |
| <artifactId>maven-reporting-api</artifactId> |
| <version>3.0</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven.reporting</groupId> |
| <artifactId>maven-reporting-impl</artifactId> |
| <version>3.0.0</version> |
| </dependency> |
| |
| <!-- plexus --> |
| <dependency> |
| <groupId>org.codehaus.plexus</groupId> |
| <artifactId>plexus-resources</artifactId> |
| <version>1.0.1</version> |
| </dependency> |
| <dependency> |
| <groupId>org.codehaus.plexus</groupId> |
| <artifactId>plexus-utils</artifactId> |
| <version>3.0.24</version> |
| </dependency> |
| |
| <!-- test --> |
| <dependency> |
| <groupId>org.apache.maven</groupId> |
| <artifactId>maven-compat</artifactId> |
| <version>${mavenVersion}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.maven.plugin-testing</groupId> |
| <artifactId>maven-plugin-testing-harness</artifactId> |
| <version>2.1</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>com.github.tomakehurst</groupId> |
| <artifactId>wiremock</artifactId> |
| <version>2.9.0</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency><!-- wiremock requires 4.5.3 but Doxia brings 4.0.2 and httpcore 4.0.1 --> |
| <groupId>org.apache.httpcomponents</groupId> |
| <artifactId>httpclient</artifactId> |
| <version>4.5.3</version> |
| <!-- scope>test</scope> Required by Doxia transitively. --> |
| </dependency> |
| <dependency> |
| <groupId>commons-io</groupId> |
| <artifactId>commons-io</artifactId> |
| <version>2.5</version> |
| <!-- scope>test</scope> Required by PMD transitively. --> |
| </dependency> |
| </dependencies> |
| |
| <build> |
| <pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.rat</groupId> |
| <artifactId>apache-rat-plugin</artifactId> |
| <configuration> |
| <excludes combine.children="append"> |
| <exclude>.pmd</exclude> |
| <exclude>.checkstyle</exclude> |
| </excludes> |
| </configuration> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| <plugins> |
| <!-- Override the Java version inherited from maven-parent --> |
| <plugin> |
| <artifactId>maven-enforcer-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>enforce-bytecode-version</id> |
| <goals> |
| <goal>enforce</goal> |
| </goals> |
| <configuration> |
| <rules> |
| <enforceBytecodeVersion> |
| <maxJdkVersion>${javaVersion}</maxJdkVersion> |
| </enforceBytecodeVersion> |
| </rules> |
| <fail>true</fail> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.codehaus.modello</groupId> |
| <artifactId>modello-maven-plugin</artifactId> |
| <configuration> |
| <useJava5>true</useJava5> |
| <models> |
| <model>src/main/mdo/pmd.mdo</model> |
| <model>src/main/mdo/cpd.mdo</model> |
| </models> |
| <version>1.0</version> |
| </configuration> |
| <executions> |
| <execution> |
| <phase>generate-sources</phase> |
| <goals> |
| <goal>java</goal> |
| <goal>xpp3-reader</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>animal-sniffer-maven-plugin</artifactId> |
| <version>1.12</version> |
| <configuration> |
| <signature> |
| <groupId>org.codehaus.mojo.signature</groupId> |
| <artifactId>java17</artifactId> |
| <version>1.0</version> |
| </signature> |
| </configuration> |
| <executions> |
| <execution> |
| <id>check-java-1.7-compat</id> |
| <phase>process-classes</phase> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| |
| <profiles> |
| <profile> |
| <id>run-its</id> |
| <build> |
| <plugins> |
| <plugin> |
| <artifactId>maven-invoker-plugin</artifactId> |
| <configuration> |
| <localRepositoryPath>${project.build.directory}/local-repo</localRepositoryPath> |
| <goals> |
| <goal>clean</goal> |
| <goal>site</goal> |
| </goals> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| <profile> |
| <id>reporting</id> |
| <reporting> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-pmd-plugin</artifactId> |
| <!-- |
| Use the current version to generate sample with the last features/fixes of the plugin. |
| It implies that the current version is already deployed to generate the site. |
| --> |
| <version>${project.version}</version> |
| <!-- Override the Java version inherited from maven-parent --> |
| <configuration> |
| <targetJdk>${javaVersion}</targetJdk> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>l10n-maven-plugin</artifactId> |
| <version>1.0-alpha-2</version> |
| <configuration> |
| <locales> |
| <locale>de</locale> |
| <locale>fr</locale> |
| <locale>it</locale> |
| <locale>nl</locale> |
| <locale>pt_BR</locale> |
| <locale>sv</locale> |
| </locales> |
| </configuration> |
| </plugin> |
| </plugins> |
| </reporting> |
| </profile> |
| </profiles> |
| </project> |