Description
Methods start() and end() from interface Rule are not executed when running pmd as a mvn pluggin.
SomeCustomRule.java
public class SomeCustomRule extends AbstractJavaRule { public void start(RuleContext ctx) { System.out.println("START"); } public void end(RuleContext ctx) { System.out.println("END"); }
pom.xml
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-pmd-plugin</artifactId> <version>2.4</version> <configuration> <targetJdk>1.6</targetJdk> <rulesets> <ruleset>some_custom_ruleset.xml</ruleset> </rulesets> </configuration> <dependencies> <dependency> <groupId>sandbox</groupId> <artifactId>some_custom_ruleset</artifactId> <version>1.0</version> </dependency> </dependencies> </plugin> </plugins> </build>
some_custom_ruleset.xml
<ruleset> <description>Some custom ruleset.</description> <rule name="SomeCustomRule" message="Testing rule." class="SomeCustomRule"> <description> Testing rule. </description> <priority>3</priority> <example> <![CDATA[ ]]> </example> </rule> </ruleset>