diff options
| author | Elena Vilchik | 2018-06-25 09:23:17 +0200 | 
|---|---|---|
| committer | GitHub | 2018-06-25 09:23:17 +0200 | 
| commit | fe28c13adda562ba53fbdd90bc072ceb1585cd73 (patch) | |
| tree | 9b6d3a9ac1be827386b270e5a4c7ea2083f44b36 /sonar-css-plugin/src/main/java | |
| parent | 88cc2bbfbda30d8ba8148dd4a7d0392a3171fe50 (diff) | |
| download | sonar-css-fe28c13adda562ba53fbdd90bc072ceb1585cd73.tar.bz2 | |
Cut stylelint key from message (#66)
Diffstat (limited to 'sonar-css-plugin/src/main/java')
| -rw-r--r-- | sonar-css-plugin/src/main/java/org/sonar/css/plugin/CssRuleSensor.java | 15 | 
1 files changed, 14 insertions, 1 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 4664921..c669b30 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 @@ -28,6 +28,8 @@ import java.nio.charset.StandardCharsets;  import java.nio.file.Files;  import java.nio.file.Paths;  import java.util.Collections; +import java.util.regex.Matcher; +import java.util.regex.Pattern;  import org.sonar.api.batch.fs.FileSystem;  import org.sonar.api.batch.fs.InputFile;  import org.sonar.api.batch.rule.CheckFactory; @@ -94,6 +96,17 @@ public class CssRuleSensor implements Sensor {      Files.write(Paths.get(configPath), Collections.singletonList(configAsJson), StandardCharsets.UTF_8);    } +  private static String normalizeMessage(String message) { +    // stylelint messages have format "message (rulekey)" +    Pattern pattern = Pattern.compile("(.+)\\([a-z\\-]+\\)"); +    Matcher matcher = pattern.matcher(message); +    if (matcher.matches()) { +      return matcher.group(1); +    } else { +      return message; +    } +  } +    private static void saveIssues(SensorContext context, CssRules cssRules, IssuesPerFile[] issues) {      FileSystem fileSystem = context.fileSystem(); @@ -107,7 +120,7 @@ public class CssRuleSensor implements Sensor {            NewIssueLocation location = sonarIssue.newLocation()              .on(inputFile)              .at(inputFile.selectLine(issue.line)) -            .message(issue.text); +            .message(normalizeMessage(issue.text));            RuleKey ruleKey = cssRules.getActiveSonarKey(issue.rule);            if (ruleKey == null) {  | 
