aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sonar-css-plugin/src/main/java/org/sonar/css/plugin/CssRuleSensor.java5
-rw-r--r--sonar-css-plugin/src/main/java/org/sonar/css/plugin/CssRules.java4
-rw-r--r--sonar-css-plugin/src/test/java/org/sonar/css/plugin/CssRuleSensorTest.java9
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())