diff options
| author | Elena | 2018-06-26 14:45:24 +0200 |
|---|---|---|
| committer | Amaury Levé | 2018-06-26 15:04:15 +0200 |
| commit | a7cbea9bfccfaaeca25498d4cde75dff7ddb7b76 (patch) | |
| tree | a8f6c935158ab24883fbf861ae9617271eee5638 | |
| parent | d449cd90192074b06b6a040cb82c66051b2bf1fa (diff) | |
| download | sonar-css-a7cbea9bfccfaaeca25498d4cde75dff7ddb7b76.tar.bz2 | |
Do not launch stylelint if no rules enabled
3 files changed, 18 insertions, 0 deletions
diff --git a/sonar-css-plugin/src/main/java/org/sonar/css/plugin/CssRuleSensor.java b/sonar-css-plugin/src/main/java/org/sonar/css/plugin/CssRuleSensor.java index d13038e..da781aa 100644 --- a/sonar-css-plugin/src/main/java/org/sonar/css/plugin/CssRuleSensor.java +++ b/sonar-css-plugin/src/main/java/org/sonar/css/plugin/CssRuleSensor.java @@ -71,6 +71,11 @@ public class CssRuleSensor implements Sensor { @Override public void execute(SensorContext context) { + if (cssRules.isEmpty()) { + LOG.warn("No rules are activated in CSS Quality Profile"); + return; + } + if (!checkCompatibleNodeVersion(context)) { return; } 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 b2f3560..e05461b 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 @@ -101,6 +101,10 @@ public class CssRules { return config; } + public boolean isEmpty() { + return stylelintKeyToRuleKey.isEmpty(); + } + public static class StylelintConfig { Map<String, Boolean> rules = new HashMap<>(); } diff --git a/sonar-css-plugin/src/test/java/org/sonar/css/plugin/CssRuleSensorTest.java b/sonar-css-plugin/src/test/java/org/sonar/css/plugin/CssRuleSensorTest.java index 030a987..0b4acd2 100644 --- a/sonar-css-plugin/src/test/java/org/sonar/css/plugin/CssRuleSensorTest.java +++ b/sonar-css-plugin/src/test/java/org/sonar/css/plugin/CssRuleSensorTest.java @@ -136,6 +136,15 @@ public class CssRuleSensorTest { sensor.execute(context); } + @Test + public void test_not_execute_rules_if_nothing_enabled() throws IOException { + TestLinterCommandProvider commandProvider = new TestLinterCommandProvider().nodeScript("/executables/mockError.js", inputFile.absolutePath()); + CssRuleSensor sensor = new CssRuleSensor(new TestBundleHandler(), new CheckFactory(new TestActiveRules()), commandProvider); + sensor.execute(context); + + assertThat(logTester.logs(LoggerLevel.WARN)).contains("No rules are activated in CSS Quality Profile"); + } + private static DefaultInputFile createInputFile(SensorContextTester sensorContext, String content, String relativePath) { DefaultInputFile inputFile = new TestInputFileBuilder("moduleKey", relativePath) .setModuleBaseDir(sensorContext.fileSystem().baseDirPath()) |
