How to Add Pmd Reporting to Maven
Before proceeding to this exercise, you may want to try my tutorial on how to setup a maven project to eclipse: http://czetsuya-tech.blogsp...
https://www.czetsuyatech.com/2012/04/maven-install-pmd-reporting.html
Before proceeding to this exercise, you may want to try my tutorial on how to setup a maven project to eclipse:
http://czetsuya-tech.blogspot.com/2012/04/how-to-create-modularized-maven-project.html.
Assuming you have follow the tutorial above, you should have 1 maven project (ipiel) that contains 2 modules (ipiel-models, ipiel-portal), where portal is dependent to models.
Basically we would just add pmd configurations on ipiel-portal's pom.xml. Better take a look at this link:
http://maven.apache.org/plugins/maven-pmd-plugin/index.html
4 Goals from the plugin:
pmd:pmd
pmd:cpd
pmd:check
pmd:cpd-check
Here's my ipiel-portal's new pom.xml, it has comments and it's straightforward so you shouldn't be confuse.
After that, in eclipse create a new Run Configuration->Maven Build as follow,
You might want to add an empty try/catch block in your Runner.java to test if PMD works then run pmd:check. It should generate several files inside target folder.
In my case it gives several error messages, and the build won't continue because I added a build fail statement in pom.xml's build section.
Here's the message:
com/ipiel/portal/Runner.java
Violation Line
Avoid empty try blocks 13 - 15
Avoid empty catch blocks 15 - 17
http://czetsuya-tech.blogspot.com/2012/04/how-to-create-modularized-maven-project.html.
Assuming you have follow the tutorial above, you should have 1 maven project (ipiel) that contains 2 modules (ipiel-models, ipiel-portal), where portal is dependent to models.
Basically we would just add pmd configurations on ipiel-portal's pom.xml. Better take a look at this link:
http://maven.apache.org/plugins/maven-pmd-plugin/index.html
4 Goals from the plugin:
pmd:pmd
pmd:cpd
pmd:check
pmd:cpd-check
Here's my ipiel-portal's new pom.xml, it has comments and it's straightforward so you shouldn't be confuse.
<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>ipiel</artifactId> <groupId>com.ipiel</groupId> <version>0.0.1-SNAPSHOT</version> </parent> <groupId>com.ipiel.portal</groupId> <artifactId>ipiel-portal</artifactId> <version>0.0.1-SNAPSHOT</version> <name>Ipiel Portal</name> <description>Ipiel Portal</description> <dependencies> <dependency> <groupId>com.ipiel.model</groupId> <artifactId>ipiel-models</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency> <dependency> <groupId>pmd</groupId> <artifactId>pmd</artifactId> <version>4.3</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-pmd-plugin</artifactId> <version>2.7.1</version> <executions> <execution> <goals> <!-- build will fail if error found on pmd --> <goal>check</goal> <goal>cpd-check</goal> </goals> </execution> </executions> <configuration> <sourceEncoding>utf-8</sourceEncoding> <minimumTokens>100</minimumTokens> <targetJdk>1.5</targetJdk> </configuration> </plugin> </plugins> </build> <reporting> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-pmd-plugin</artifactId> <version>2.7.1</version> <configuration> <rulesets> <!-- Two rule sets that come bundled with PMD --> <ruleset>/rulesets/braces.xml</ruleset> <ruleset>/rulesets/naming.xml</ruleset> </rulesets> </configuration> <reportSets> <reportSet> <reports> <!-- enable only 1 report --> <report>pmd</report> <!-- <report>cpd</report> --> </reports> </reportSet> </reportSets> </plugin> </plugins> </reporting> </project>
After that, in eclipse create a new Run Configuration->Maven Build as follow,
You might want to add an empty try/catch block in your Runner.java to test if PMD works then run pmd:check. It should generate several files inside target folder.
In my case it gives several error messages, and the build won't continue because I added a build fail statement in pom.xml's build section.
Here's the message:
com/ipiel/portal/Runner.java
Violation Line
Avoid empty try blocks 13 - 15
Avoid empty catch blocks 15 - 17
Post a Comment