Hi,

Please post on the users list.
This one is for developing Maven core.

Cheers
Le 5 août 2011 22:14, "Oskar S" <[email protected]> a écrit :
> Hello,
>
> We're using the PMD plugin to run both PMD and CPD on our codebase,
however,
> we've come across
> a problem that has led us to disable CPD as a workaround. Specifically, we
> want to run PMD on all our
> code, but run CPD on only production code. The <includeTests>
configuration
> tag appears to allow us to do this,
> however, when running both PMD and CPD, there doesn't seem to be any way
to
> configure them differently.
>
> The problem seems to be that when you add configuration tags within an
> execution, the tags are specific to the goal specified,
> and have no function if the goal doesn't support them, even if that goal
> invokes
> another goal that does support those configuration tags.
>
> For the PMD plugin this means that when the check/cpd-check goals invoke
the
> pmd/cpd goals, the pmd/cpd goals cannot be configured within the
execution.
>
> If another execution configures the pmd/cpd goals, then the goals will
> run twice, once with the specified configuration and once with the default
> configuration.
>
> The only way to configure the pmd/cpd goals when invoked from the
> check/cpd-check goals
> is to add them to a configuration outside the execution.
>
> The problem with this is that the configuration outside the executions
> applies to
> both the pmd and cpd goals, so the pmd and cpd goals cannot be configured
> differently
> (for example running pmd on tests but not cpd).
>
> The best suggestion we have come up with to fix this is for the
> check/cpd-check goals
> to support all the configuration tags of the pmd and cpd goals
respectively,
> and somehow pass them
> to the pmd and cpd goals when the check goals invoke them.
>
> For example configuring the check goal like this currently does not work,
> but ideally it should
> pass the rulesets configuration to the pmd goal that is invoked:
>
> <execution>
> <id>compliance-pmd</id>
> <phase>verify</phase>
> <goals>
> <goal>check</goal>
> </goals>
> <configuration>
> <rulesets>
> <ruleset>rules/pmd-rules.xml</ruleset>
> </rulesets>
> </configuration>
> </execution>
>
> Does anyone have comments on the feasibility of implementing such a
> solution?

Reply via email to