You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by br...@apache.org on 2005/09/29 07:35:33 UTC
svn commit: r292390 -
/maven/components/trunk/maven-plugins/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/PmdReport.java
Author: brett
Date: Wed Sep 28 22:35:26 2005
New Revision: 292390
URL: http://svn.apache.org/viewcvs?rev=292390&view=rev
Log:
PR: MNG-1043
Submitted by: Ken Weiner
Reviewed by: Brett Porter
configure the target JDK in PMD report plugin
Modified:
maven/components/trunk/maven-plugins/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/PmdReport.java
Modified: maven/components/trunk/maven-plugins/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/PmdReport.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugins/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/PmdReport.java?rev=292390&r1=292389&r2=292390&view=diff
==============================================================================
--- maven/components/trunk/maven-plugins/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/PmdReport.java (original)
+++ maven/components/trunk/maven-plugins/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/PmdReport.java Wed Sep 28 22:35:26 2005
@@ -22,7 +22,9 @@
import net.sourceforge.pmd.RuleContext;
import net.sourceforge.pmd.RuleSet;
import net.sourceforge.pmd.RuleSetFactory;
-
+import net.sourceforge.pmd.TargetJDK1_3;
+import net.sourceforge.pmd.TargetJDK1_4;
+import net.sourceforge.pmd.TargetJDK1_5;
import org.apache.maven.project.MavenProject;
import org.apache.maven.reporting.AbstractMavenReport;
import org.apache.maven.reporting.MavenReportException;
@@ -45,11 +47,10 @@
/**
* Implement the PMD report.
*
- * @goal pmd
- *
- * @todo needs to support the multiple source roots
* @author Brett Porter
* @version $Id: PmdReport.java,v 1.3 2005/02/23 00:08:53 brett Exp $
+ * @goal pmd
+ * @todo needs to support the multiple source roots
*/
public class PmdReport
extends AbstractMavenReport
@@ -75,6 +76,11 @@
private MavenProject project;
/**
+ * @parameter expression="${targetJdk}
+ */
+ private String targetJdk;
+
+ /**
* @see org.apache.maven.reporting.MavenReport#getName(java.util.Locale)
*/
public String getName( Locale locale )
@@ -122,7 +128,7 @@
{
Sink sink = getSink();
- PMD pmd = new PMD();
+ PMD pmd = getPMD();
RuleContext ruleContext = new RuleContext();
Report report = new Report();
// TODO: use source roots instead
@@ -194,6 +200,34 @@
}
/**
+ * Constructs the PMD class, passing it an argument
+ * that configures the target JDK.
+ *
+ * @return the resulting PMD
+ */
+ public PMD getPMD()
+ {
+ PMD pmd;
+ if ( "1.5".equals( targetJdk ) )
+ {
+ pmd = new PMD( new TargetJDK1_5() );
+ }
+ else if ( "1.4".equals( targetJdk ) )
+ {
+ pmd = new PMD( new TargetJDK1_4() );
+ }
+ else if ( "1.3".equals( targetJdk ) )
+ {
+ pmd = new PMD( new TargetJDK1_3() );
+ }
+ else
+ {
+ pmd = new PMD();
+ }
+ return pmd;
+ }
+
+ /**
* @see org.apache.maven.reporting.MavenReport#getOutputName()
*/
public String getOutputName()
@@ -229,6 +263,6 @@
private static ResourceBundle getBundle( Locale locale )
{
- return ResourceBundle.getBundle("pmd-report", locale, PmdReport.class.getClassLoader() );
+ return ResourceBundle.getBundle( "pmd-report", locale, PmdReport.class.getClassLoader() );
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org