aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean-Baptiste Lievremont <jean-baptiste.lievremont@sonarsource.com>2013-09-09 14:56:23 +0200
committerJean-Baptiste Lievremont <jean-baptiste.lievremont@sonarsource.com>2013-09-09 14:56:23 +0200
commit739daf47104b06d6e20754e2ac8b0736f0167b66 (patch)
tree3529dfe27f3f6f46f0516a1b87cd768019927924
parent9180b1be2ef1997834d84aa6bbb4d3433acc862c (diff)
downloadsonarqube-739daf47104b06d6e20754e2ac8b0736f0167b66.tar.gz
sonarqube-739daf47104b06d6e20754e2ac8b0736f0167b66.zip
SONAR-3644 Fix component resolution on non-Java files
-rw-r--r--plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/issue/ignore/scanner/SourceScanner.java14
1 files changed, 5 insertions, 9 deletions
diff --git a/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/issue/ignore/scanner/SourceScanner.java b/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/issue/ignore/scanner/SourceScanner.java
index cc721a15693..9c78f6ee2f1 100644
--- a/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/issue/ignore/scanner/SourceScanner.java
+++ b/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/issue/ignore/scanner/SourceScanner.java
@@ -80,7 +80,7 @@ public final class SourceScanner implements Sensor {
for (File inputFile : files) {
try {
- String componentKey = resolveComponent(inputFile, fileSystem, project, isTest);
+ String componentKey = resolveComponent(inputFile, dirs, project, isTest);
if (componentKey != null) {
String relativePath = pathResolver.relativePath(dirs, inputFile).path();
patternsInitializer.configurePatternsForComponent(componentKey, relativePath);
@@ -98,18 +98,14 @@ public final class SourceScanner implements Sensor {
/*
* This method is necessary because Java resources are not treated as every other resource...
*/
- private String resolveComponent(File inputFile, ModuleFileSystem fileSystem, Project project, boolean isTest) {
+ private String resolveComponent(File inputFile, List<File> sourceDirs, Project project, boolean isTest) {
Resource<?> resource = null;
+
if (Java.KEY.equals(project.getLanguageKey()) && Java.isJavaFile(inputFile)) {
- List<File> sourceDirs = null;
- if (isTest) {
- sourceDirs = fileSystem.testDirs();
- } else {
- sourceDirs = fileSystem.sourceDirs();
- }
+
resource = JavaFile.fromIOFile(inputFile, sourceDirs, isTest);
} else {
- resource = new org.sonar.api.resources.File(inputFile.getPath());
+ resource = new org.sonar.api.resources.File(pathResolver.relativePath(sourceDirs, inputFile).path());
}
if (resource == null) {