From ba32ed572b8368bb300fa0d53c75542de3bc8a05 Mon Sep 17 00:00:00 2001 From: Andreas Dangel Date: Fri, 11 Aug 2017 20:17:37 +0200 Subject: [PATCH] [core] Take deprecated flag into account when loading rulesets/rules --- .../src/main/java/net/sourceforge/pmd/RuleSetFactory.java | 4 ++++ .../src/test/java/net/sourceforge/pmd/RuleSetFactoryTest.java | 1 + 2 files changed, 5 insertions(+) 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 79026d54a75..599957bc3b1 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/RuleSetFactory.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/RuleSetFactory.java @@ -567,6 +567,10 @@ private void parseSingleRuleNode(RuleSetReferenceId ruleSetReferenceId, RuleSetB rule.setRuleSetName(ruleSetBuilder.getName()); rule.setExternalInfoUrl(ruleElement.getAttribute(EXTERNAL_INFO_URL)); + if (hasAttributeSetTrue(ruleElement, "deprecated")) { + rule.setDeprecated(true); + } + if (hasAttributeSetTrue(ruleElement, "dfa")) { rule.setUsesDFA(); } diff --git a/pmd-core/src/test/java/net/sourceforge/pmd/RuleSetFactoryTest.java b/pmd-core/src/test/java/net/sourceforge/pmd/RuleSetFactoryTest.java index 3623e0137be..4d2452a2f66 100644 --- a/pmd-core/src/test/java/net/sourceforge/pmd/RuleSetFactoryTest.java +++ b/pmd-core/src/test/java/net/sourceforge/pmd/RuleSetFactoryTest.java @@ -431,6 +431,7 @@ public void testInvertedMinimumMaximumLanugageVersions() throws RuleSetNotFoundE public void testDirectDeprecatedRule() throws RuleSetNotFoundException { Rule r = loadFirstRule(DIRECT_DEPRECATED_RULE); assertNotNull("Direct Deprecated Rule", r); + assertTrue(r.isDeprecated()); } @Test