diff options
author | Jean-Baptiste Lievremont <jean-baptiste.lievremont@sonarsource.com> | 2013-09-09 14:56:23 +0200 |
---|---|---|
committer | Jean-Baptiste Lievremont <jean-baptiste.lievremont@sonarsource.com> | 2013-09-09 14:56:23 +0200 |
commit | 739daf47104b06d6e20754e2ac8b0736f0167b66 (patch) | |
tree | 3529dfe27f3f6f46f0516a1b87cd768019927924 | |
parent | 9180b1be2ef1997834d84aa6bbb4d3433acc862c (diff) | |
download | sonarqube-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.java | 14 |
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) { |