aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-css-plugin/src/main/java/org/sonar
diff options
context:
space:
mode:
authorElena Vilchik2018-06-25 09:23:17 +0200
committerGitHub2018-06-25 09:23:17 +0200
commitfe28c13adda562ba53fbdd90bc072ceb1585cd73 (patch)
tree9b6d3a9ac1be827386b270e5a4c7ea2083f44b36 /sonar-css-plugin/src/main/java/org/sonar
parent88cc2bbfbda30d8ba8148dd4a7d0392a3171fe50 (diff)
downloadsonar-css-fe28c13adda562ba53fbdd90bc072ceb1585cd73.tar.bz2
Cut stylelint key from message (#66)
Diffstat (limited to 'sonar-css-plugin/src/main/java/org/sonar')
-rw-r--r--sonar-css-plugin/src/main/java/org/sonar/css/plugin/CssRuleSensor.java15
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) {