diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md index 4eaf065181..c81aca19e1 100644 --- a/docs/pages/release_notes.md +++ b/docs/pages/release_notes.md @@ -18,6 +18,8 @@ This is a {{ site.pmd.release_type }} release. * apex * [#2092](https://github.com/pmd/pmd/issues/2092): \[apex] ApexLexer logs visible when Apex is the selected language upon starting the designer +* core + * [#2096](https://github.com/pmd/pmd/issues/2096): \[core] Referencing category errorprone.xml produces deprecation warnings for InvalidSlf4jMessageFormat ### API Changes diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/RuleSetFactory.java b/pmd-core/src/main/java/net/sourceforge/pmd/RuleSetFactory.java index 4063640877..47e535d6ff 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/RuleSetFactory.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/RuleSetFactory.java @@ -639,6 +639,10 @@ public class RuleSetFactory { && containsRule(ruleSetReferenceId, otherRuleSetReferenceId.getRuleName())) { otherRuleSetReferenceId = new RuleSetReferenceId(ref, ruleSetReferenceId); isSameRuleSet = true; + } else if (otherRuleSetReferenceId.isExternal() + && otherRuleSetReferenceId.getRuleSetFileName().equals(ruleSetReferenceId.getRuleSetFileName())) { + otherRuleSetReferenceId = new RuleSetReferenceId(otherRuleSetReferenceId.getRuleName(), ruleSetReferenceId); + isSameRuleSet = true; } // do not ignore deprecated rule references Rule referencedRule = ruleSetFactory.createRule(otherRuleSetReferenceId, true); diff --git a/pmd-core/src/test/resources/rulesets/dummy/basic.xml b/pmd-core/src/test/resources/rulesets/dummy/basic.xml index f0a9dba6bd..3644f408d1 100644 --- a/pmd-core/src/test/resources/rulesets/dummy/basic.xml +++ b/pmd-core/src/test/resources/rulesets/dummy/basic.xml @@ -18,7 +18,11 @@ Just for test + + + diff --git a/pmd-dist/src/test/java/net/sourceforge/pmd/it/AllRulesIT.java b/pmd-dist/src/test/java/net/sourceforge/pmd/it/AllRulesIT.java index c7387014fc..778f0381de 100644 --- a/pmd-dist/src/test/java/net/sourceforge/pmd/it/AllRulesIT.java +++ b/pmd-dist/src/test/java/net/sourceforge/pmd/it/AllRulesIT.java @@ -40,6 +40,7 @@ public class AllRulesIT extends AbstractBinaryDistributionTest { result.assertNoError("Exception applying rule"); result.assertNoError("Ruleset not found"); result.assertNoError("Use of deprecated attribute"); + result.assertNoError("instead of the deprecated"); // rule deprecations result.assertNoErrorInReport("Error while processing"); result.assertNoErrorInReport("Error while parsing");