diff options
| author | Elena Vilchik | 2019-06-11 13:00:18 +0200 |
|---|---|---|
| committer | GitHub | 2019-06-11 13:00:18 +0200 |
| commit | 1410b857a28a37feb6268c27fd3b075b691a234f (patch) | |
| tree | 5e56b7fe098261f3075f7231c774750e58cc1253 /sonar-css-plugin | |
| parent | 45c1d35f0a132b257c8aa419eb981d0b9198bd2f (diff) | |
| download | sonar-css-1410b857a28a37feb6268c27fd3b075b691a234f.tar.bz2 | |
Add warning when old NodeJS property is used (#175)
Diffstat (limited to 'sonar-css-plugin')
3 files changed, 27 insertions, 13 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 82e6306..a21f2a0 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 @@ -88,7 +88,13 @@ public class CssRuleSensor implements Sensor { @Override public void execute(SensorContext context) { - // fixme add log and UI warn when old property is provided + if (context.config().hasKey(CssPlugin.FORMER_NODE_EXECUTABLE)) { + String msg = "Property '" + CssPlugin.FORMER_NODE_EXECUTABLE + "' is ignored, 'sonar.nodejs.executable' should be used instead"; + LOG.warn(msg); + if (analysisWarnings != null) { + analysisWarnings.addUnique(msg); + } + } if (cssRules.isEmpty()) { LOG.warn("No rules are activated in CSS Quality Profile"); diff --git a/sonar-css-plugin/src/main/java/org/sonar/css/plugin/StylelintCommandProvider.java b/sonar-css-plugin/src/main/java/org/sonar/css/plugin/StylelintCommandProvider.java index 90d3ae8..26541bd 100644 --- a/sonar-css-plugin/src/main/java/org/sonar/css/plugin/StylelintCommandProvider.java +++ b/sonar-css-plugin/src/main/java/org/sonar/css/plugin/StylelintCommandProvider.java @@ -25,7 +25,6 @@ import java.util.function.Consumer; import org.sonar.api.batch.ScannerSide; import org.sonar.api.batch.sensor.SensorContext; import org.sonarsource.nodejs.NodeCommand; -import org.sonarsource.nodejs.NodeCommandException; @ScannerSide public class StylelintCommandProvider implements LinterCommandProvider { @@ -47,17 +46,13 @@ public class StylelintCommandProvider implements LinterCommandProvider { "-f", "json" }; - try { - return NodeCommand.builder() - .outputConsumer(output) - .errorConsumer(error) - .minNodeVersion(6) - .configuration(context.config()) - .nodeJsArgs(args) - .build(); - } catch (IllegalArgumentException e) { - throw new NodeCommandException(e.getMessage(), e); - } + return NodeCommand.builder() + .outputConsumer(output) + .errorConsumer(error) + .minNodeVersion(6) + .configuration(context.config()) + .nodeJsArgs(args) + .build(); } @Override 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 f7f0d31..cf33d50 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 @@ -107,6 +107,19 @@ public class CssRuleSensorTest { } @Test + public void test_old_property_is_provided() { + TestLinterCommandProvider commandProvider = getCommandProvider(); + CssRuleSensor sensor = createCssRuleSensor(commandProvider, analysisWarnings); + context.settings().setProperty(CssPlugin.FORMER_NODE_EXECUTABLE, "foo"); + sensor.execute(context); + + assertThat(logTester.logs(LoggerLevel.WARN)).contains("Property 'sonar.css.node' is ignored, 'sonar.nodejs.executable' should be used instead"); + verify(analysisWarnings).addUnique(eq("Property 'sonar.css.node' is ignored, 'sonar.nodejs.executable' should be used instead")); + + assertThat(context.allIssues()).hasSize(1); + } + + @Test public void test_invalid_node() { InvalidCommandProvider commandProvider = new InvalidCommandProvider(); CssRuleSensor sensor = createCssRuleSensor(commandProvider); |
