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 /sonar-css-plugin/src | |
| parent | d449cd90192074b06b6a040cb82c66051b2bf1fa (diff) | |
| download | sonar-css-a7cbea9bfccfaaeca25498d4cde75dff7ddb7b76.tar.bz2 | |
Do not launch stylelint if no rules enabled
Diffstat (limited to 'sonar-css-plugin/src')
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()) | 
