You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by sj...@apache.org on 2026/04/21 21:40:16 UTC

(maven-pmd-plugin) branch master updated: Warn only once about deprecated rules. (#703)

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

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


The following commit(s) were added to refs/heads/master by this push:
     new 2f90c8d  Warn only once about deprecated rules. (#703)
2f90c8d is described below

commit 2f90c8ddb5f7e162d1600aeb8552ea776994dee8
Author: UncleOwen <gi...@uncleowen.de>
AuthorDate: Tue Apr 21 23:40:11 2026 +0200

    Warn only once about deprecated rules. (#703)
    
    * Warn only once about deprecated rules.
    
    PmdAnalysis.create() already warns about deprecated rules. No need to load them twice, just to trigger the warning.
---
 src/it/MPMD-268-deprecated-rules/verify.groovy                 |  2 +-
 .../java/org/apache/maven/plugins/pmd/exec/PmdExecutor.java    | 10 ----------
 2 files changed, 1 insertion(+), 11 deletions(-)

diff --git a/src/it/MPMD-268-deprecated-rules/verify.groovy b/src/it/MPMD-268-deprecated-rules/verify.groovy
index 71e9b40..48f60ec 100644
--- a/src/it/MPMD-268-deprecated-rules/verify.groovy
+++ b/src/it/MPMD-268-deprecated-rules/verify.groovy
@@ -19,4 +19,4 @@
 
 File buildLog = new File( basedir, 'build.log' )
 assert buildLog.exists()
-assert buildLog.text.contains( "Use Rule name category/java/codestyle.xml/ControlStatementBraces instead of the deprecated Rule name" )
+assert buildLog.text.count( "Use Rule name category/java/codestyle.xml/ControlStatementBraces instead of the deprecated Rule name" ) == 1
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 dacde6e..5d45869 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
@@ -45,8 +45,6 @@ import net.sourceforge.pmd.benchmark.TimingReportRenderer;
 import net.sourceforge.pmd.lang.Language;
 import net.sourceforge.pmd.lang.LanguageVersion;
 import net.sourceforge.pmd.lang.rule.RulePriority;
-import net.sourceforge.pmd.lang.rule.RuleSetLoadException;
-import net.sourceforge.pmd.lang.rule.RuleSetLoader;
 import net.sourceforge.pmd.renderers.CSVRenderer;
 import net.sourceforge.pmd.renderers.HTMLRenderer;
 import net.sourceforge.pmd.renderers.Renderer;
@@ -281,14 +279,6 @@ public class PmdExecutor extends Executor {
     private Report processFilesWithPMD(PMDConfiguration pmdConfiguration, List<File> files)
             throws MavenReportException {
         Report report = null;
-        RuleSetLoader rulesetLoader =
-                RuleSetLoader.fromPmdConfig(pmdConfiguration).warnDeprecated(true);
-        try {
-            // load the ruleset once to log out any deprecated rules as warnings
-            rulesetLoader.loadFromResources(pmdConfiguration.getRuleSetPaths());
-        } catch (RuleSetLoadException e1) {
-            throw new MavenReportException("The ruleset could not be loaded", e1);
-        }
 
         try (PmdAnalysis pmdAnalysis = PmdAnalysis.create(pmdConfiguration)) {
             for (File file : files) {