aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-css-plugin/src/main/java
diff options
context:
space:
mode:
authorAmaury Levé2018-06-21 14:55:09 +0200
committerGitHub2018-06-21 14:55:09 +0200
commit9bcc46b342cfb888f16c180cb0b3103335def5f1 (patch)
tree6b85805bbedef51c974b6984cb42b53052f9b375 /sonar-css-plugin/src/main/java
parent913028fc4c913fec3bbc1800c00e526413040e01 (diff)
downloadsonar-css-9bcc46b342cfb888f16c180cb0b3103335def5f1.tar.bz2
Rule S4653: Units should be valid (#50)
Diffstat (limited to 'sonar-css-plugin/src/main/java')
-rw-r--r--sonar-css-plugin/src/main/java/org/sonar/css/plugin/CssRules.java18
-rw-r--r--sonar-css-plugin/src/main/java/org/sonar/css/plugin/CssRulesDefinition.java4
-rw-r--r--sonar-css-plugin/src/main/java/org/sonar/css/plugin/rules/UnitNoUnknown.java31
3 files changed, 43 insertions, 10 deletions
diff --git a/sonar-css-plugin/src/main/java/org/sonar/css/plugin/CssRules.java b/sonar-css-plugin/src/main/java/org/sonar/css/plugin/CssRules.java
index 4fdf3f5..1dac08c 100644
--- a/sonar-css-plugin/src/main/java/org/sonar/css/plugin/CssRules.java
+++ b/sonar-css-plugin/src/main/java/org/sonar/css/plugin/CssRules.java
@@ -19,17 +19,19 @@
*/
package org.sonar.css.plugin;
+import org.sonar.api.batch.rule.CheckFactory;
+import org.sonar.api.batch.rule.Checks;
+import org.sonar.api.rule.RuleKey;
+import org.sonar.css.plugin.rules.ColorNoInvalidHex;
+import org.sonar.css.plugin.rules.CssRule;
+import org.sonar.css.plugin.rules.UnitNoUnknown;
+
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import org.sonar.api.batch.rule.CheckFactory;
-import org.sonar.api.batch.rule.Checks;
-import org.sonar.api.rule.RuleKey;
-import org.sonar.css.plugin.rules.ColorNoInvalidHex;
-import org.sonar.css.plugin.rules.CssRule;
public class CssRules {
@@ -37,7 +39,8 @@ public class CssRules {
private final StylelintConfig config = new StylelintConfig();
public CssRules(CheckFactory checkFactory) {
- Checks<CssRule> checks = checkFactory.<CssRule>create(CssRulesDefinition.REPOSITORY_KEY).addAnnotatedChecks((Iterable) getRuleClasses());
+ Checks<CssRule> checks = checkFactory.<CssRule>create(CssRulesDefinition.REPOSITORY_KEY)
+ .addAnnotatedChecks((Iterable) getRuleClasses());
Collection<CssRule> enabledRules = checks.all();
stylelintKeyToRuleKey = new HashMap<>();
for (CssRule rule : enabledRules) {
@@ -48,7 +51,8 @@ public class CssRules {
public static List<Class> getRuleClasses() {
return Collections.unmodifiableList(Arrays.asList(
- ColorNoInvalidHex.class
+ ColorNoInvalidHex.class,
+ UnitNoUnknown.class
));
}
diff --git a/sonar-css-plugin/src/main/java/org/sonar/css/plugin/CssRulesDefinition.java b/sonar-css-plugin/src/main/java/org/sonar/css/plugin/CssRulesDefinition.java
index 196252f..a338d7f 100644
--- a/sonar-css-plugin/src/main/java/org/sonar/css/plugin/CssRulesDefinition.java
+++ b/sonar-css-plugin/src/main/java/org/sonar/css/plugin/CssRulesDefinition.java
@@ -19,9 +19,7 @@
*/
package org.sonar.css.plugin;
-import java.util.Collections;
import org.sonar.api.server.rule.RulesDefinition;
-import org.sonar.css.plugin.rules.ColorNoInvalidHex;
import org.sonarsource.analyzer.commons.RuleMetadataLoader;
import static org.sonar.css.plugin.SonarWayProfile.PROFILE_PATH;
@@ -40,7 +38,7 @@ public class CssRulesDefinition implements RulesDefinition {
.setName(RULE_REPOSITORY_NAME);
RuleMetadataLoader ruleMetadataLoader = new RuleMetadataLoader(RESOURCE_FOLDER, PROFILE_PATH);
- ruleMetadataLoader.addRulesByAnnotatedClass(repository, Collections.singletonList(ColorNoInvalidHex.class));
+ ruleMetadataLoader.addRulesByAnnotatedClass(repository, CssRules.getRuleClasses());
repository.done();
}
}
diff --git a/sonar-css-plugin/src/main/java/org/sonar/css/plugin/rules/UnitNoUnknown.java b/sonar-css-plugin/src/main/java/org/sonar/css/plugin/rules/UnitNoUnknown.java
new file mode 100644
index 0000000..eee43db
--- /dev/null
+++ b/sonar-css-plugin/src/main/java/org/sonar/css/plugin/rules/UnitNoUnknown.java
@@ -0,0 +1,31 @@
+/*
+ * SonarCSS
+ * Copyright (C) 2018-2018 SonarSource SA
+ * mailto:info AT sonarsource DOT com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+package org.sonar.css.plugin.rules;
+
+import org.sonar.check.Rule;
+
+@Rule(key = "S4653")
+public class UnitNoUnknown implements CssRule {
+
+ @Override
+ public String stylelintKey() {
+ return "unit-no-unknown";
+ }
+}