diff options
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); | 
