]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-926 apply inclusions and exclusions to source directories
authorSimon Brandhof <simon.brandhof@gmail.com>
Mon, 17 Mar 2014 18:33:41 +0000 (19:33 +0100)
committerSimon Brandhof <simon.brandhof@gmail.com>
Mon, 17 Mar 2014 19:08:53 +0000 (20:08 +0100)
If sonar.sources is not set (blank), then no files are analyzed

sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/DefaultModuleFileSystem.java
sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/FileIndexer.java

index 1ffaa77bf2979c5a984633b6bd45946b75bfd6a6..2447fa0aaad535f17a2b92993ac26fc8311ab442 100644 (file)
@@ -101,10 +101,6 @@ public class DefaultModuleFileSystem extends DefaultFileSystem implements Module
 
   @Override
   public List<File> sourceDirs() {
-    if (sourceDirs.isEmpty()) {
-      // For backward compatibility with File::fromIOFile(file, sourceDirs) we need to always return something
-      return Arrays.asList(baseDir());
-    }
     return sourceDirs;
   }
 
index eb9b3f0abae89b75dfdb31fc3f1a046ac0226d6b..b4afd35d7d2461652ee15f0c85d665a88c1ff7bc 100644 (file)
@@ -78,9 +78,14 @@ public class FileIndexer implements BatchComponent {
       // Index only provided files
       indexFiles(inputFileBuilder, fileSystem, progress, fileSystem.sourceFiles(), InputFile.Type.MAIN);
       indexFiles(inputFileBuilder, fileSystem, progress, fileSystem.testFiles(), InputFile.Type.TEST);
-    } else if (fileSystem.baseDir() != null) {
-      // index from basedir
-      indexDirectory(inputFileBuilder, fileSystem, progress, fileSystem.baseDir());
+    } else {
+      for (File mainDir : fileSystem.sourceDirs()) {
+        indexDirectory(inputFileBuilder, fileSystem, progress, mainDir, InputFile.Type.MAIN);
+      }
+      for (File testDir : fileSystem.testDirs()) {
+        indexDirectory(inputFileBuilder, fileSystem, progress, testDir, InputFile.Type.TEST);
+      }
+
     }
 
     // Remove files that have been removed since previous indexation
@@ -101,16 +106,13 @@ public class FileIndexer implements BatchComponent {
     }
   }
 
-  private void indexDirectory(InputFileBuilder inputFileBuilder, DefaultModuleFileSystem fileSystem, Progress status, File dirToIndex) {
+  private void indexDirectory(InputFileBuilder inputFileBuilder, DefaultModuleFileSystem fileSystem, Progress status, File dirToIndex, InputFile.Type type) {
     Collection<File> files = FileUtils.listFiles(dirToIndex, FILE_FILTER, DIR_FILTER);
-    for (File sourceFile : files) {
-      DefaultInputFile inputFile = inputFileBuilder.create(sourceFile);
+    for (File file : files) {
+      DefaultInputFile inputFile = inputFileBuilder.create(file);
       if (inputFile != null) {
-        if (exclusionFilters.accept(inputFile, InputFile.Type.MAIN)) {
-          indexFile(inputFileBuilder, fileSystem, status, inputFile, InputFile.Type.MAIN);
-        }
-        if (exclusionFilters.accept(inputFile, InputFile.Type.TEST)) {
-          indexFile(inputFileBuilder, fileSystem, status, inputFile, InputFile.Type.TEST);
+        if (exclusionFilters.accept(inputFile, type)) {
+          indexFile(inputFileBuilder, fileSystem, status, inputFile, type);
         }
       }
     }