Skip to content

Commit 14fda49

Browse files
committed
Make the groovy rule key to ecoCode standard for EC5001 and improve CodeNarc to understand it
1 parent 3423061 commit 14fda49

File tree

4 files changed

+11
-3
lines changed

4 files changed

+11
-3
lines changed
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
ruleKey;remediationFunction;remediationFactor
2-
org.codenarc.rule.ecocode.EC5001;linear;1h
2+
EC5001;linear;1h
33
org.codenarc.rule.ecocode.SupportedVersionRangeRule;linear;10min
44
org.codenarc.rule.ecocode.DisableObfuscationRule;linear;10min
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
org.codenarc.rule.ecocode.EC5001
1+
EC5001
22
org.codenarc.rule.ecocode.SupportedVersionRangeRule
33
org.codenarc.rule.ecocode.DisableObfuscationRule

android-plugin/src/main/resources/org/sonar/plugins/groovy/rules.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
<!-- since 2.2.1 -->
66
<rule>
7-
<key>org.codenarc.rule.ecocode.EC5001</key>
7+
<key>EC5001</key>
88
<severity>MINOR</severity>
99
<name><![CDATA[Fat App]]></name>
1010
<internalKey><![CDATA[EC5001]]></internalKey>

codenarc-converter/CodeNarc/src/main/groovy/org/codenarc/ruleset/XmlReaderRuleSet.groovy

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,10 @@ class XmlReaderRuleSet implements RuleSet {
3737

3838
private static final Namespace NS = new Namespace('http://codenarc.org/ruleset/1.0')
3939
private static final String RULESET_SCHEMA_FILE = 'ruleset-schema.xsd'
40+
41+
private static final String ECOCODE_RULE_PREFIX = "EC";
42+
private static final String ECOCODE_RULE_PACKAGE = "org.codenarc.rule.ecocode."
43+
4044
private final List rules = []
4145

4246
/**
@@ -99,6 +103,10 @@ class XmlReaderRuleSet implements RuleSet {
99103
private void loadRuleElements(Node ruleset) {
100104
ruleset[NS.rule].each { ruleNode ->
101105
def ruleClassName = ruleNode.attribute('class')
106+
if (ruleClassName.startsWith(ECOCODE_RULE_PREFIX)) {
107+
// ecoCode rules does not have their package in the "class" entry
108+
ruleClassName = ECOCODE_RULE_PACKAGE + ruleClassName.toString()
109+
}
102110
def ruleClass = getClass().classLoader.loadClass(ruleClassName.toString())
103111
RuleSetUtil.assertClassImplementsRuleInterface(ruleClass)
104112
def rule = ruleClass.newInstance()

0 commit comments

Comments
 (0)