<?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"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.codehaus.sonar</groupId> <artifactId>sonar</artifactId> <version>3.3-RC1</version> <relativePath>../..</relativePath> </parent> <groupId>org.codehaus.sonar.plugins</groupId> <artifactId>sonar-pmd-plugin</artifactId> <packaging>sonar-plugin</packaging> <name>Sonar :: Plugins :: PMD</name> <description>PMD is a tool that looks for potential problems like possible bugs, dead code, suboptimal code, overcomplicated expressions or duplicate code.</description> <properties> <pmd.version>4.3</pmd.version> </properties> <dependencies> <dependency> <groupId>org.codehaus.sonar</groupId> <artifactId>sonar-java-api</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>org.codehaus.sonar</groupId> <artifactId>sonar-plugin-api</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>pmd</groupId> <artifactId>pmd</artifactId> <version>${pmd.version}</version> <exclusions> <exclusion> <groupId>junit</groupId> <artifactId>junit</artifactId> </exclusion> <exclusion> <!-- optimization for JAR size --> <groupId>ant</groupId> <artifactId>ant</artifactId> </exclusion> <exclusion> <groupId>xom</groupId> <artifactId>xom</artifactId> </exclusion> </exclusions> </dependency> <!-- TODO http://jira.codehaus.org/browse/SONAR-2011 We need following dependency, otherwise we will receive java.lang.NoClassDefFoundError: org/apache/maven/project/MavenProject during call mock(org.sonar.api.resources.Project.class) --> <dependency> <groupId>org.apache.maven</groupId> <artifactId>maven-project</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.codehaus.sonar</groupId> <artifactId>sonar-testing-harness</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.codehaus.sonar.plugins</groupId> <artifactId>sonar-l10n-en-plugin</artifactId> <version>${project.version}</version> <scope>test</scope> </dependency> </dependencies> <build> <resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> </resource> </resources> <testResources> <testResource> <directory>${basedir}/src/main/resources</directory> </testResource> <testResource> <directory>${basedir}/src/test/resources</directory> </testResource> </testResources> <plugins> <plugin> <groupId>org.codehaus.sonar</groupId> <artifactId>sonar-packaging-maven-plugin</artifactId> <configuration> <pluginKey>pmd</pluginKey> <pluginName>PMD</pluginName> <pluginDescription><![CDATA[Analyze Java code with <a href="http://pmd.sourceforge.net/">PMD</a> ${pmd.version}.]]></pluginDescription> <pluginClass>org.sonar.plugins.pmd.PmdPlugin</pluginClass> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-enforcer-plugin</artifactId> <executions> <execution> <id>enforce-plugin-size</id> <goals> <goal>enforce</goal> </goals> <phase>verify</phase> <configuration> <rules> <requireFilesSize> <maxsize>1600000</maxsize> <minsize>1400000</minsize> <files> <file>${project.build.directory}/${project.build.finalName}.jar</file> </files> </requireFilesSize> </rules> </configuration> </execution> </executions> </plugin> </plugins> </build> </project>