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