You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ad...@apache.org on 2023/01/17 18:33:17 UTC

[maven-pmd-plugin] 01/08: Upgrade to PMD 7

This is an automated email from the ASF dual-hosted git repository.

adangel pushed a commit to branch pmd7
in repository https://gitbox.apache.org/repos/asf/maven-pmd-plugin.git

commit 98539a1975b471882c02a29043635e2f7c2befaa
Author: Andreas Dangel <ad...@apache.org>
AuthorDate: Thu Jun 9 18:50:10 2022 +0200

    Upgrade to PMD 7
---
 pom.xml                                            | 14 +++++++++--
 .../maven/plugins/pmd/PmdCollectingRenderer.java   | 28 +++++-----------------
 .../apache/maven/plugins/pmd/exec/PmdExecutor.java |  2 +-
 .../apache/maven/plugins/pmd/PmdReportTest.java    | 12 ++++------
 .../def/configuration/App.java                     |  2 +-
 .../def/configuration/AppSample.java               |  2 +-
 6 files changed, 26 insertions(+), 34 deletions(-)

diff --git a/pom.xml b/pom.xml
index f0f7a11..56d0640 100644
--- a/pom.xml
+++ b/pom.xml
@@ -30,7 +30,7 @@ under the License.
   </parent>
 
   <artifactId>maven-pmd-plugin</artifactId>
-  <version>3.20.1-SNAPSHOT</version>
+  <version>3.20.1-pmd-7-SNAPSHOT</version>
   <packaging>maven-plugin</packaging>
 
   <name>Apache Maven PMD Plugin</name>
@@ -89,7 +89,7 @@ under the License.
     <doxiaVersion>1.11.1</doxiaVersion>
     <doxiaSitetoolsVersion>1.11.1</doxiaSitetoolsVersion>
     <javaVersion>8</javaVersion><!-- Because PMD 6.35.0+ requires Java 8 -->
-    <pmdVersion>6.53.0</pmdVersion>
+    <pmdVersion>7.0.0-SNAPSHOT</pmdVersion>
     <slf4jVersion>1.7.36</slf4jVersion>
     <aetherVersion>1.0.0.v20140518</aetherVersion>
     <sitePluginVersion>3.12.1</sitePluginVersion>
@@ -304,6 +304,16 @@ under the License.
     </dependency>
   </dependencies>
 
+  <repositories>
+    <repository>
+      <id>ossrh</id>
+      <releases>
+        <enabled>false</enabled>
+      </releases>
+      <url>https://oss.sonatype.org/content/repositories/snapshots</url>
+    </repository>
+  </repositories>
+
   <build>
     <pluginManagement>
       <plugins>
diff --git a/src/main/java/org/apache/maven/plugins/pmd/PmdCollectingRenderer.java b/src/main/java/org/apache/maven/plugins/pmd/PmdCollectingRenderer.java
index d95f54c..2f712cd 100644
--- a/src/main/java/org/apache/maven/plugins/pmd/PmdCollectingRenderer.java
+++ b/src/main/java/org/apache/maven/plugins/pmd/PmdCollectingRenderer.java
@@ -19,21 +19,18 @@ package org.apache.maven.plugins.pmd;
  * under the License.
  */
 
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.codehaus.plexus.util.StringUtils;
-
 import net.sourceforge.pmd.Report;
 import net.sourceforge.pmd.Report.ProcessingError;
 import net.sourceforge.pmd.Report.SuppressedViolation;
 import net.sourceforge.pmd.RuleViolation;
 import net.sourceforge.pmd.renderers.AbstractRenderer;
 import net.sourceforge.pmd.util.datasource.DataSource;
+import org.codehaus.plexus.util.StringUtils;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
 
 
 /**
@@ -136,19 +133,6 @@ public class PmdCollectingRenderer extends AbstractRenderer
         {
             report.addError( e );
         }
-        Map<Integer, String> suppressedLines = new HashMap<Integer, String>();
-        for ( SuppressedViolation s : suppressed )
-        {
-            if ( s.suppressedByNOPMD() )
-            {
-                suppressedLines.put( s.getRuleViolation().getBeginLine(), s.getUserMessage() );
-            }
-        }
-        report.suppress( suppressedLines );
-        for ( SuppressedViolation s : suppressed )
-        {
-            report.addRuleViolation( s.getRuleViolation() );
-        }
         return report;
     }
 
diff --git a/src/main/java/org/apache/maven/plugins/pmd/exec/PmdExecutor.java b/src/main/java/org/apache/maven/plugins/pmd/exec/PmdExecutor.java
index cc25c80..2c036bd 100644
--- a/src/main/java/org/apache/maven/plugins/pmd/exec/PmdExecutor.java
+++ b/src/main/java/org/apache/maven/plugins/pmd/exec/PmdExecutor.java
@@ -31,6 +31,7 @@ import java.io.Writer;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Objects;
+import java.util.function.Predicate;
 
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugins.pmd.ExcludeViolationsFromFile;
@@ -58,7 +59,6 @@ import net.sourceforge.pmd.renderers.HTMLRenderer;
 import net.sourceforge.pmd.renderers.Renderer;
 import net.sourceforge.pmd.renderers.TextRenderer;
 import net.sourceforge.pmd.renderers.XMLRenderer;
-import net.sourceforge.pmd.util.Predicate;
 
 /**
  * Executes PMD with the configuration provided via {@link PmdRequest}.
diff --git a/src/test/java/org/apache/maven/plugins/pmd/PmdReportTest.java b/src/test/java/org/apache/maven/plugins/pmd/PmdReportTest.java
index d53ba48..159da40 100644
--- a/src/test/java/org/apache/maven/plugins/pmd/PmdReportTest.java
+++ b/src/test/java/org/apache/maven/plugins/pmd/PmdReportTest.java
@@ -468,7 +468,7 @@ public class PmdReportTest
         // check that there is no violation reported for "unusedVar2" - as it is suppressed
         assertFalse( str.contains( "Avoid unused private fields such as 'unusedVar2'.\n </violation>" ) );
         // but it appears as suppressed
-        assertTrue( str.contains( "suppressiontype=\"nopmd\" msg=\"Avoid unused private fields such as 'unusedVar2'.\"" ));
+        assertTrue( str.contains( "suppressiontype=\"//nopmd\" msg=\"Avoid unused private fields such as 'unusedVar2'.\"" ));
 
         // check if there's a link to the JXR files
         str = readFile( generatedReport );
@@ -493,7 +493,7 @@ public class PmdReportTest
         // check that there is no violation reported for "unusedVar2" - as it is suppressed
         assertFalse( str.contains( "Avoid unused private fields such as 'unusedVar2'.\n </violation>" ) );
         // but it appears as suppressed
-        assertTrue( str.contains( "suppressiontype=\"nopmd\" msg=\"Avoid unused private fields such as 'unusedVar2'.\"" ));
+        assertTrue( str.contains( "suppressiontype=\"//nopmd\" msg=\"Avoid unused private fields such as 'unusedVar2'.\"" ));
 
         // check if there's a link to the JXR files
         str = readFile( generatedReport );
@@ -558,13 +558,12 @@ public class PmdReportTest
         File generatedFile = new File( getBasedir(), "target/test/unit/parse-error/target/pmd.xml" );
         assertTrue( FileUtils.fileExists( generatedFile.getAbsolutePath() ) );
         String str = readFile( generatedFile );
-        assertTrue( str.contains( "Error while parsing" ) );
         // The parse exception must be in the XML report
-        assertTrue( str.contains( "ParseException: Encountered \"\" at line 23, column 5." ) );
+        assertTrue( str.contains( "ParseException: Encountered  at line 23, column 5." ) );
 
         str = readFile( generatedReport );
         // The parse exception must also be in the HTML report
-        assertTrue( str.contains( "ParseException: Encountered \"\" at line 23, column 5." ) );
+        assertTrue( str.contains( "ParseException: Encountered  at line 23, column 5." ) );
     }
 
     public void testPMDProcessingErrorWithDetailsNoReport()
@@ -579,9 +578,8 @@ public class PmdReportTest
         File generatedFile = new File( getBasedir(), "target/test/unit/parse-error/target/pmd.xml" );
         assertTrue( FileUtils.fileExists( generatedFile.getAbsolutePath() ) );
         String str = readFile( generatedFile );
-        assertTrue( str.contains( "Error while parsing" ) );
         // The parse exception must be in the XML report
-        assertTrue( str.contains( "ParseException: Encountered \"\" at line 23, column 5." ) );
+        assertTrue( str.contains( "ParseException: Encountered  at line 23, column 5." ) );
 
         str = readFile( generatedReport );
         // The parse exception must NOT be in the HTML report, since reportProcessingErrors is false
diff --git a/src/test/resources/unit/default-configuration/def/configuration/App.java b/src/test/resources/unit/default-configuration/def/configuration/App.java
index da53df0..04025d5 100644
--- a/src/test/resources/unit/default-configuration/def/configuration/App.java
+++ b/src/test/resources/unit/default-configuration/def/configuration/App.java
@@ -77,7 +77,7 @@ public class App
 
         for( int i = 0; i < str.length(); i++ )
         {
-            if ( i != ( str.length() -1 ) )
+            if ( i != ( ( str.length() -1 ) ) )
             {
                 tmp = tmp + str.substring( i, i + 1);
             }
diff --git a/src/test/resources/unit/default-configuration/def/configuration/AppSample.java b/src/test/resources/unit/default-configuration/def/configuration/AppSample.java
index 201bf19..6d67d27 100644
--- a/src/test/resources/unit/default-configuration/def/configuration/AppSample.java
+++ b/src/test/resources/unit/default-configuration/def/configuration/AppSample.java
@@ -55,7 +55,7 @@ public class AppSample
 
         for( int i = 0; i < str.length(); i++ )
         {
-            if ( i != ( str.length() -1 ) )
+            if ( i != ( ( str.length() -1 ) ) )
             {
                 tmp = tmp + str.substring( i, i + 1);
             }