Issue Details (XML | Word | Printable)

Key: MPPMD-19
Type: New Feature New Feature
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Arnaud Heritier
Reporter: Wim Deblauwe
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Maven 1.x PMD Plugin

Java language level not settable through plugin

Created: 25/Aug/05 04:12 AM   Updated: 18/Jun/07 12:24 AM   Resolved: 03/Feb/06 05:14 PM
Return to search
Component/s: None
Affects Version/s: 1.7
Fix Version/s: 1.8

Time Tracking:
Not Specified

Environment: Windows XP
Issue Links:
Duplicate
 


 Description  « Hide

The maven plugin does not allow setting the language level (1.3, 1.4 or 1.5) for PMD. This can be easily fixed by using 'targetjdk' property in the plugin script:

Original plugin.jelly (version 1.7):

<j:choose>
<j:when test="${sourcesPresent == 'true'}">
<pmd rulesetfiles="${maven.pmd.rulesetfiles}">
<formatter type="xml" toFile="${maven.build.dir}/pmd-raw-report.xml"/>
<fileset dir="${pom.build.sourceDirectory}"

Change:

<j:choose>
<j:when test="${sourcesPresent == 'true'}">
<pmd rulesetfiles="${maven.pmd.rulesetfiles}" targetjdk="${maven.pmd.targetjdk}>
<formatter type="xml" toFile="${maven.build.dir}/pmd-raw-report.xml"/>
<fileset dir="${pom.build.sourceDirectory}"

By default 'maven.pmd.targetjdk' can be equal to 'maven.compile.source'

regards,

Wim



Arnaud Heritier made changes - 03/Feb/06 05:14 PM
Field Original Value New Value
Resolution Fixed [ 1 ]
Fix Version/s 1.8 [ 11931 ]
Status Open [ 1 ] Closed [ 6 ]
Assignee Arnaud Heritier [ aheritier ]
Arnaud Heritier made changes - 07/Mar/06 04:47 PM
Link This issue is duplicated by MPPMD-24 [ MPPMD-24 ]
dion gillard added a comment - 18/Jun/07 12:24 AM

This fix causes the PMD report to fail if maven.compile.source is set to '1.2' with the following message:

Caused by: The targetjdk attribute, if used, must be set to either '1.3', '1.4', '1.5', '1.6' or 'jsp'
at net.sourceforge.pmd.ant.PMDTask.validate(PMDTask.java:250)
at net.sourceforge.pmd.ant.PMDTask.execute(PMDTask.java:117)
at org.apache.tools.ant.Task.perform(Task.java:364)
at org.apache.commons.jelly.tags.ant.AntTag.doTag(AntTag.java:195)
at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:250)

The workaround is to either use the previous version of the plugin or to set

maven.pmd.targetjdk=1.3