[ https://issues.apache.org/jira/browse/MPMD-171?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14572474#comment-14572474 ]
Andreas Dangel commented on MPMD-171: ------------------------------------- Ah, now I see the problem, too. So, there are two ways, to get it working: 1. Move the configuration directly under the plugin. currently you have it under the execution. When "pmd:check" is executed, it calls "pmd:pmd" to actually run pmd, but with an "execution id" of "pmd" - but the configuration is known only as "pmd-check". Moving the configuration above the execution, it applies for both "pmd:pmd" and "pmd:check". {code} <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-pmd-plugin</artifactId> <version>3.4</version> <configuration> <targetJdk>${target.java.version}</targetJdk> <rulesets> <ruleset>${project.basedir}/codecheck/pmd-rules.xml</ruleset> </rulesets> <excludeRoots> <excludeRoot>target/generated-protocol</excludeRoot> <excludeRoot>spread-src</excludeRoot> </excludeRoots> <failOnViolation>false</failOnViolation> <verbose>true</verbose> </configuration> <executions> <execution> <id>pmd-check</id> <phase>validate</phase> <goals> <goal>check</goal> <goal>cpd-check</goal> </goals> </execution> </executions> </plugin> {code} 2. Alternatively change the execution id from "pmd-check" to simply "pmd". {code} <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-pmd-plugin</artifactId> <version>3.4</version> <executions> <execution> <id>pmd</id> <phase>validate</phase> <configuration> <targetJdk>${target.java.version}</targetJdk> <rulesets> <ruleset>${project.basedir}/codecheck/pmd-rules.xml</ruleset> </rulesets> <excludeRoots> <excludeRoot>target/generated-protocol</excludeRoot> <excludeRoot>spread-src</excludeRoot> </excludeRoots> <failOnViolation>false</failOnViolation> <verbose>true</verbose> </configuration> <goals> <goal>check</goal> <goal>cpd-check</goal> </goals> </execution> </executions> </plugin> {code} Hope this works :) > Rule properties are ignored when run under MPMD > ----------------------------------------------- > > Key: MPMD-171 > URL: https://issues.apache.org/jira/browse/MPMD-171 > Project: Maven PMD Plugin > Issue Type: Bug > Components: PMD > Affects Versions: 3.0.1 > Environment: Linux > Reporter: Johannes Wienke > Assignee: Michael Osipov > Fix For: 3.3, 3.4 > > > For our project I have defined a custom ruleset for PMD in an XML file [1]. > This ruleset defines properties for some of the standard PMD rules using this > syntax: > {noformat} > <rule ref="rulesets/java/naming.xml/LongVariable"> > <properties> > <property name="minimum" value="25"/> > </properties> > </rule> > {noformat} > When I execute PMD using a parallel ant file we maintain, these custom > properties are respected correctly. However, when executing PMD through > maven, the properties are completely ignored. > The pom.xml we are using is available at [2]. > [1] > https://code.cor-lab.org/projects/rsb/repository/rsb-java/revisions/7e71d4d3e6d57c8529111a7f7143edeb48ddec59/entry/codecheck/pmd-rules.xml > [2] > https://code.cor-lab.org/projects/rsb/repository/rsb-java/revisions/ff17c0dd008697f70dad27bd0319f4475ab87712/entry/pom.xml -- This message was sent by Atlassian JIRA (v6.3.4#6332)