diff options
8 files changed, 57 insertions, 5 deletions
| diff --git a/its/plugin/projects/issues-project/src/empty1.css b/its/plugin/projects/issues-project/src/empty1.css new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/its/plugin/projects/issues-project/src/empty1.css diff --git a/its/plugin/projects/issues-project/src/empty2.less b/its/plugin/projects/issues-project/src/empty2.less new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/its/plugin/projects/issues-project/src/empty2.less diff --git a/its/plugin/projects/issues-project/src/empty3.scss b/its/plugin/projects/issues-project/src/empty3.scss new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/its/plugin/projects/issues-project/src/empty3.scss 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 d9037cb..9e3a3b2 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 @@ -22,9 +22,10 @@ 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.CommentNoEmpty;  import org.sonar.css.plugin.rules.CssRule; +import org.sonar.css.plugin.rules.NoEmptySource; +import org.sonar.css.plugin.rules.ColorNoInvalidHex;  import org.sonar.css.plugin.rules.StringNoNewline;  import org.sonar.css.plugin.rules.UnitNoUnknown; @@ -54,9 +55,10 @@ public class CssRules {    public static List<Class> getRuleClasses() {      return Collections.unmodifiableList(Arrays.asList(          ColorNoInvalidHex.class, -        CommentNoEmpty.class,        -            StringNoNewline.class, -            UnitNoUnknown.class +        CommentNoEmpty.class, +        NoEmptySource.class, +        StringNoNewline.class, +        UnitNoUnknown.class      ));    } diff --git a/sonar-css-plugin/src/main/java/org/sonar/css/plugin/rules/NoEmptySource.java b/sonar-css-plugin/src/main/java/org/sonar/css/plugin/rules/NoEmptySource.java new file mode 100644 index 0000000..023f5c9 --- /dev/null +++ b/sonar-css-plugin/src/main/java/org/sonar/css/plugin/rules/NoEmptySource.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 = "S4667") +public class NoEmptySource implements CssRule { + +  @Override +  public String stylelintKey() { +    return "no-empty-source"; +  } +} diff --git a/sonar-css-plugin/src/main/resources/org/sonar/l10n/css/rules/css/S4667.html b/sonar-css-plugin/src/main/resources/org/sonar/l10n/css/rules/css/S4667.html new file mode 100644 index 0000000..0f155a4 --- /dev/null +++ b/sonar-css-plugin/src/main/resources/org/sonar/l10n/css/rules/css/S4667.html @@ -0,0 +1,2 @@ +<p>This rule raises an issue when a CSS file is empty (ie: containing only spaces).</p> +
 diff --git a/sonar-css-plugin/src/main/resources/org/sonar/l10n/css/rules/css/S4667.json b/sonar-css-plugin/src/main/resources/org/sonar/l10n/css/rules/css/S4667.json new file mode 100644 index 0000000..df0c425 --- /dev/null +++ b/sonar-css-plugin/src/main/resources/org/sonar/l10n/css/rules/css/S4667.json @@ -0,0 +1,16 @@ +{ +  "title": "CSS files should not be empty", +  "type": "CODE_SMELL", +  "status": "ready", +  "remediation": { +    "func": "Constant\/Issue", +    "constantCost": "1min" +  }, +  "tags": [ +     +  ], +  "defaultSeverity": "Major", +  "ruleSpecification": "RSPEC-4667", +  "sqKey": "S4667", +  "scope": "All" +}
 diff --git a/sonar-css-plugin/src/main/resources/org/sonar/l10n/css/rules/css/Sonar_way_profile.json b/sonar-css-plugin/src/main/resources/org/sonar/l10n/css/rules/css/Sonar_way_profile.json index 68da351..613e33f 100644 --- a/sonar-css-plugin/src/main/resources/org/sonar/l10n/css/rules/css/Sonar_way_profile.json +++ b/sonar-css-plugin/src/main/resources/org/sonar/l10n/css/rules/css/Sonar_way_profile.json @@ -4,6 +4,7 @@      "S4647",      "S4652",      "S4653", -    "S4663" +    "S4663", +    "S4667"    ]  }
 | 
