diff options
| author | Elena Vilchik | 2018-06-21 11:13:19 +0200 | 
|---|---|---|
| committer | Amaury Levé | 2018-06-21 11:13:19 +0200 | 
| commit | 6472431ad488158bfcf863a7b4a5655e1ecc55e8 (patch) | |
| tree | 34181ef96511a8eb6b09dead1f14e819e19b769a /sonar-css-plugin/src/main/java | |
| parent | c6053785e5f8f01a544cb106afd9109a6ba7d7a1 (diff) | |
| download | sonar-css-6472431ad488158bfcf863a7b4a5655e1ecc55e8.tar.bz2 | |
Generate rules configuration file (#56)
Diffstat (limited to 'sonar-css-plugin/src/main/java')
| -rw-r--r-- | sonar-css-plugin/src/main/java/org/sonar/css/plugin/CssPlugin.java | 2 | ||||
| -rw-r--r-- | sonar-css-plugin/src/main/java/org/sonar/css/plugin/CssRuleSensor.java | 13 | ||||
| -rw-r--r-- | sonar-css-plugin/src/main/java/org/sonar/css/plugin/CssRules.java | 2 | ||||
| -rw-r--r-- | sonar-css-plugin/src/main/java/org/sonar/css/plugin/LinterCommandProvider.java | 1 | ||||
| -rw-r--r-- | sonar-css-plugin/src/main/java/org/sonar/css/plugin/StylelintCommandProvider.java (renamed from sonar-css-plugin/src/main/java/org/sonar/css/plugin/StylelintExecution.java) | 11 | ||||
| -rw-r--r-- | sonar-css-plugin/src/main/java/org/sonar/css/plugin/bundle/BundleHandler.java (renamed from sonar-css-plugin/src/main/java/org/sonar/css/plugin/BundleHandler.java) | 2 | ||||
| -rw-r--r-- | sonar-css-plugin/src/main/java/org/sonar/css/plugin/bundle/CssBundleHandler.java | 1 | 
7 files changed, 26 insertions, 6 deletions
diff --git a/sonar-css-plugin/src/main/java/org/sonar/css/plugin/CssPlugin.java b/sonar-css-plugin/src/main/java/org/sonar/css/plugin/CssPlugin.java index 2835edb..b4f78f7 100644 --- a/sonar-css-plugin/src/main/java/org/sonar/css/plugin/CssPlugin.java +++ b/sonar-css-plugin/src/main/java/org/sonar/css/plugin/CssPlugin.java @@ -41,7 +41,7 @@ public class CssPlugin implements Plugin {        CssRulesDefinition.class,        CssBundleHandler.class,        CssRuleSensor.class, -      StylelintExecution.class, +      StylelintCommandProvider.class,        PropertyDefinition.builder(FILE_SUFFIXES_KEY)          .defaultValue(FILE_SUFFIXES_DEFVALUE) 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 8b6558b..eda2b5d 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 @@ -24,6 +24,9 @@ import java.io.File;  import java.io.IOException;  import java.io.InputStreamReader;  import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.util.Collections;  import org.sonar.api.batch.fs.FileSystem;  import org.sonar.api.batch.fs.InputFile;  import org.sonar.api.batch.rule.CheckFactory; @@ -32,6 +35,8 @@ import org.sonar.api.batch.sensor.SensorContext;  import org.sonar.api.batch.sensor.SensorDescriptor;  import org.sonar.api.batch.sensor.issue.NewIssue;  import org.sonar.api.batch.sensor.issue.NewIssueLocation; +import org.sonar.css.plugin.CssRules.StylelintConfig; +import org.sonar.css.plugin.bundle.BundleHandler;  public class CssRuleSensor implements Sensor { @@ -64,6 +69,7 @@ public class CssRuleSensor implements Sensor {      ProcessBuilder processBuilder = new ProcessBuilder(commandParts);      try { +      createConfig(deployDestination);        Process process = processBuilder.start();        try (InputStreamReader inputStreamReader = new InputStreamReader(process.getInputStream(), StandardCharsets.UTF_8)) { @@ -77,6 +83,13 @@ public class CssRuleSensor implements Sensor {      }    } +  private void createConfig(File deployDestination) throws IOException { +    String configPath = linterCommandProvider.configPath(deployDestination); +    StylelintConfig config = cssRules.getConfig(); +    String configAsJson = new Gson().toJson(config); +    Files.write(Paths.get(configPath), Collections.singletonList(configAsJson), StandardCharsets.UTF_8); +  } +    private static void saveIssues(SensorContext context, CssRules cssRules, IssuesPerFile[] issues) {      FileSystem fileSystem = context.fileSystem(); 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 4ece37e..4fdf3f5 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 @@ -28,8 +28,8 @@ import java.util.Map;  import org.sonar.api.batch.rule.CheckFactory;  import org.sonar.api.batch.rule.Checks;  import org.sonar.api.rule.RuleKey; -import org.sonar.css.plugin.rules.CssRule;  import org.sonar.css.plugin.rules.ColorNoInvalidHex; +import org.sonar.css.plugin.rules.CssRule;  public class CssRules { diff --git a/sonar-css-plugin/src/main/java/org/sonar/css/plugin/LinterCommandProvider.java b/sonar-css-plugin/src/main/java/org/sonar/css/plugin/LinterCommandProvider.java index 6f06c84..142762c 100644 --- a/sonar-css-plugin/src/main/java/org/sonar/css/plugin/LinterCommandProvider.java +++ b/sonar-css-plugin/src/main/java/org/sonar/css/plugin/LinterCommandProvider.java @@ -25,4 +25,5 @@ public interface LinterCommandProvider {    String[] commandParts(File deployDestination, File projectBaseDir); +  String configPath(File deployDestination);  } diff --git a/sonar-css-plugin/src/main/java/org/sonar/css/plugin/StylelintExecution.java b/sonar-css-plugin/src/main/java/org/sonar/css/plugin/StylelintCommandProvider.java index c88a0ac..fe05ad6 100644 --- a/sonar-css-plugin/src/main/java/org/sonar/css/plugin/StylelintExecution.java +++ b/sonar-css-plugin/src/main/java/org/sonar/css/plugin/StylelintCommandProvider.java @@ -23,7 +23,9 @@ import java.io.File;  import org.sonar.api.batch.ScannerSide;  @ScannerSide -public class StylelintExecution implements LinterCommandProvider { +public class StylelintCommandProvider implements LinterCommandProvider { + +  private static final String CONFIG_PATH = "css-bundle/stylelintconfig.json";    @Override    public String[] commandParts(File deployDestination, File projectBaseDir) { @@ -31,8 +33,13 @@ public class StylelintExecution implements LinterCommandProvider {        "node",        new File(deployDestination, "css-bundle/node_modules/stylelint/bin/stylelint").getAbsolutePath(),        projectBaseDir.getAbsolutePath(), -      "--config", new File(deployDestination, "css-bundle/stylelintconfig.json").getAbsolutePath(), +      "--config", new File(deployDestination, CONFIG_PATH).getAbsolutePath(),        "-f", "json"      };    } + +  @Override +  public String configPath(File deployDestination) { +    return new File(deployDestination, CONFIG_PATH).getAbsolutePath(); +  }  } diff --git a/sonar-css-plugin/src/main/java/org/sonar/css/plugin/BundleHandler.java b/sonar-css-plugin/src/main/java/org/sonar/css/plugin/bundle/BundleHandler.java index 79a7d5b..5b9fa35 100644 --- a/sonar-css-plugin/src/main/java/org/sonar/css/plugin/BundleHandler.java +++ b/sonar-css-plugin/src/main/java/org/sonar/css/plugin/bundle/BundleHandler.java @@ -17,7 +17,7 @@   * along with this program; if not, write to the Free Software Foundation,   * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.   */ -package org.sonar.css.plugin; +package org.sonar.css.plugin.bundle;  import java.io.File; diff --git a/sonar-css-plugin/src/main/java/org/sonar/css/plugin/bundle/CssBundleHandler.java b/sonar-css-plugin/src/main/java/org/sonar/css/plugin/bundle/CssBundleHandler.java index acf9245..3140094 100644 --- a/sonar-css-plugin/src/main/java/org/sonar/css/plugin/bundle/CssBundleHandler.java +++ b/sonar-css-plugin/src/main/java/org/sonar/css/plugin/bundle/CssBundleHandler.java @@ -24,7 +24,6 @@ import java.io.InputStream;  import org.sonar.api.batch.ScannerSide;  import org.sonar.api.utils.log.Logger;  import org.sonar.api.utils.log.Loggers; -import org.sonar.css.plugin.BundleHandler;  import org.sonar.css.plugin.Zip;  @ScannerSide  | 
