[prev in list] [next in list] [prev in thread] [next in thread]
List: maven-dev
Subject: svn commit: r939832 - in
From: hboutemy () apache ! org
Date: 2010-04-30 21:42:59
Message-ID: 20100430214259.7180723889CB () eris ! apache ! org
[Download RAW message or body]
Author: hboutemy
Date: Fri Apr 30 21:42:59 2010
New Revision: 939832
URL: http://svn.apache.org/viewvc?rev=939832&view=rev
Log:
[MPMD-99] calculate PMD.VERSION by runtime reflection to avoid compiler inlining the \
constant value base on a patch submitted by: Henri Tremblay
Modified:
maven/plugins/trunk/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/AbstractPmdReport.java
maven/plugins/trunk/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/CpdReportGenerator.java
maven/plugins/trunk/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/PmdReportListener.java
Modified: maven/plugins/trunk/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/AbstractPmdReport.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-pmd-plugin/src/main/java/o \
rg/apache/maven/plugin/pmd/AbstractPmdReport.java?rev=939832&r1=939831&r2=939832&view=diff
==============================================================================
--- maven/plugins/trunk/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/AbstractPmdReport.java \
(original)
+++ maven/plugins/trunk/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/AbstractPmdReport.java \
Fri Apr 30 21:42:59 2010 @@ -32,6 +32,8 @@ import java.util.List;
import java.util.Map;
import java.util.TreeMap;
+import net.sourceforge.pmd.PMD;
+
import org.apache.maven.doxia.siterenderer.Renderer;
import org.apache.maven.model.ReportPlugin;
import org.apache.maven.project.MavenProject;
@@ -447,4 +449,20 @@ public abstract class AbstractPmdReport
{
return ( outputEncoding != null ) ? outputEncoding : ReaderFactory.UTF_8;
}
+
+ static String getPmdVersion()
+ {
+ try
+ {
+ return (String) PMD.class.getField( "VERSION" ).get( null );
+ }
+ catch ( IllegalAccessException e )
+ {
+ throw new RuntimeException( "PMD VERSION field not accessible", e );
+ }
+ catch ( NoSuchFieldException e )
+ {
+ throw new RuntimeException( "PMD VERSION field not found", e );
+ }
+ }
}
Modified: maven/plugins/trunk/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/CpdReportGenerator.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-pmd-plugin/src/main/java/o \
rg/apache/maven/plugin/pmd/CpdReportGenerator.java?rev=939832&r1=939831&r2=939832&view=diff
==============================================================================
--- maven/plugins/trunk/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/CpdReportGenerator.java \
(original)
+++ maven/plugins/trunk/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/CpdReportGenerator.java \
Fri Apr 30 21:42:59 2010 @@ -24,7 +24,6 @@ import java.util.Iterator;
import java.util.Map;
import java.util.ResourceBundle;
-import net.sourceforge.pmd.PMD;
import net.sourceforge.pmd.cpd.Match;
import org.apache.maven.doxia.sink.Sink;
@@ -88,7 +87,7 @@ public class CpdReportGenerator
sink.link( "http://pmd.sourceforge.net/cpd.html" );
sink.text( "CPD" );
sink.link_();
- sink.text( " " + PMD.VERSION + "." );
+ sink.text( " " + AbstractPmdReport.getPmdVersion() + "." );
sink.paragraph_();
sink.section1_();
Modified: maven/plugins/trunk/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/PmdReportListener.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-pmd-plugin/src/main/java/o \
rg/apache/maven/plugin/pmd/PmdReportListener.java?rev=939832&r1=939831&r2=939832&view=diff
==============================================================================
--- maven/plugins/trunk/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/PmdReportListener.java \
(original)
+++ maven/plugins/trunk/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/PmdReportListener.java \
Fri Apr 30 21:42:59 2010 @@ -28,7 +28,6 @@ import java.util.List;
import java.util.ResourceBundle;
import net.sourceforge.pmd.IRuleViolation;
-import net.sourceforge.pmd.PMD;
import net.sourceforge.pmd.ReportListener;
import net.sourceforge.pmd.stat.Metric;
@@ -189,7 +188,7 @@ public class PmdReportListener
sink.link( "http://pmd.sourceforge.net/" );
sink.text( "PMD" );
sink.link_();
- sink.text( " " + PMD.VERSION + "." );
+ sink.text( " " + AbstractPmdReport.getPmdVersion() + "." );
sink.paragraph_();
sink.section1_();
@@ -305,5 +304,4 @@ public class PmdReportListener
sink.close();
}
-
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic