From 9cfa406506d3be218922595bd2c1b02621e0bceb Mon Sep 17 00:00:00 2001 From: Simon Brandhof Date: Tue, 19 Feb 2013 15:24:51 +0100 Subject: [PATCH] Do not cache file exclusions --- .../scan/filesystem/ExclusionFilters.java | 38 ++++++++----------- 1 file changed, 15 insertions(+), 23 deletions(-) diff --git a/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/ExclusionFilters.java b/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/ExclusionFilters.java index 07f49377bac..7122f7a706f 100644 --- a/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/ExclusionFilters.java +++ b/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/ExclusionFilters.java @@ -32,25 +32,17 @@ import org.sonar.api.scan.filesystem.FileType; import java.io.File; public class ExclusionFilters implements FileSystemFilter, ResourceFilter, BatchComponent { - private final PathPattern[] sourceInclusions; - private final PathPattern[] testInclusions; - private final PathPattern[] sourceExclusions; - private final PathPattern[] testExclusions; + private final FileExclusions exclusionSettings; public ExclusionFilters(FileExclusions exclusions) { - sourceInclusions = PathPattern.create(exclusions.sourceInclusions()); - log("Included sources: ", sourceInclusions); - - sourceExclusions = PathPattern.create(exclusions.sourceExclusions()); - log("Excluded sources: ", sourceExclusions); - - testInclusions = PathPattern.create(exclusions.testInclusions()); - log("Included tests: ", testInclusions); - - testExclusions = PathPattern.create(exclusions.testExclusions()); - log("Excluded tests: ", testExclusions); + this.exclusionSettings = exclusions; + log("Included sources: ", sourceInclusions()); + log("Excluded sources: ", sourceExclusions()); + log("Included tests: ", testInclusions()); + log("Excluded tests: ", testExclusions()); } + private void log(String title, PathPattern[] patterns) { if (patterns.length > 0) { Logger log = LoggerFactory.getLogger(ExclusionFilters.class); @@ -62,7 +54,7 @@ public class ExclusionFilters implements FileSystemFilter, ResourceFilter, Batch } public boolean accept(File file, Context context) { - PathPattern[] inclusionPatterns = (context.type() == FileType.TEST ? testInclusions : sourceInclusions); + PathPattern[] inclusionPatterns = (context.type() == FileType.TEST ? testInclusions() : sourceInclusions()); if (inclusionPatterns.length > 0) { boolean matchInclusion = false; for (PathPattern pattern : inclusionPatterns) { @@ -72,7 +64,7 @@ public class ExclusionFilters implements FileSystemFilter, ResourceFilter, Batch return false; } } - PathPattern[] exclusionPatterns = (context.type() == FileType.TEST ? testExclusions : sourceExclusions); + PathPattern[] exclusionPatterns = (context.type() == FileType.TEST ? testExclusions() : sourceExclusions()); for (PathPattern pattern : exclusionPatterns) { if (pattern.match(context)) { return false; @@ -83,11 +75,11 @@ public class ExclusionFilters implements FileSystemFilter, ResourceFilter, Batch public boolean isIgnored(Resource resource) { if (ResourceUtils.isFile(resource)) { - PathPattern[] inclusionPatterns = (ResourceUtils.isUnitTestClass(resource) ? testInclusions : sourceInclusions); + PathPattern[] inclusionPatterns = (ResourceUtils.isUnitTestClass(resource) ? testInclusions() : sourceInclusions()); if (isIgnoredByInclusions(resource, inclusionPatterns)) { return true; } - PathPattern[] exclusionPatterns = (ResourceUtils.isUnitTestClass(resource) ? testExclusions : sourceExclusions); + PathPattern[] exclusionPatterns = (ResourceUtils.isUnitTestClass(resource) ? testExclusions() : sourceExclusions()); return isIgnoredByExclusions(resource, exclusionPatterns); } return false; @@ -120,18 +112,18 @@ public class ExclusionFilters implements FileSystemFilter, ResourceFilter, Batch } PathPattern[] sourceInclusions() { - return sourceInclusions; + return PathPattern.create(exclusionSettings.sourceInclusions()); } PathPattern[] testInclusions() { - return testInclusions; + return PathPattern.create(exclusionSettings.testInclusions()); } PathPattern[] sourceExclusions() { - return sourceExclusions; + return PathPattern.create(exclusionSettings.sourceExclusions()); } PathPattern[] testExclusions() { - return testExclusions; + return PathPattern.create(exclusionSettings.testExclusions()); } } -- 2.39.5