From: Simon Brandhof Date: Mon, 17 Mar 2014 18:33:41 +0000 (+0100) Subject: SONAR-926 apply inclusions and exclusions to source directories X-Git-Tag: 4.3~387 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=a568fb063bc7f87d473ede426dd719caf8014365;p=sonarqube.git SONAR-926 apply inclusions and exclusions to source directories If sonar.sources is not set (blank), then no files are analyzed --- diff --git a/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/DefaultModuleFileSystem.java b/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/DefaultModuleFileSystem.java index 1ffaa77bf29..2447fa0aaad 100644 --- a/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/DefaultModuleFileSystem.java +++ b/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/DefaultModuleFileSystem.java @@ -101,10 +101,6 @@ public class DefaultModuleFileSystem extends DefaultFileSystem implements Module @Override public List sourceDirs() { - if (sourceDirs.isEmpty()) { - // For backward compatibility with File::fromIOFile(file, sourceDirs) we need to always return something - return Arrays.asList(baseDir()); - } return sourceDirs; } diff --git a/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/FileIndexer.java b/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/FileIndexer.java index eb9b3f0abae..b4afd35d7d2 100644 --- a/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/FileIndexer.java +++ b/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/FileIndexer.java @@ -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 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); } } }