aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-batch/src/main/java/org/sonar/batch/bootstrap
diff options
context:
space:
mode:
authorsimonbrandhof <simon.brandhof@gmail.com>2011-12-20 20:56:20 +0100
committersimonbrandhof <simon.brandhof@gmail.com>2011-12-20 20:56:20 +0100
commit3abd667d979c3899a4f529a6e0dbf0e0dddb8245 (patch)
tree6c054804a5e0a631ab0ad76a8294cd43b1019b81 /sonar-batch/src/main/java/org/sonar/batch/bootstrap
parent44096503cea425a43632dfa3e58da2cc1d28a35b (diff)
downloadsonarqube-3abd667d979c3899a4f529a6e0dbf0e0dddb8245.tar.gz
sonarqube-3abd667d979c3899a4f529a6e0dbf0e0dddb8245.zip
SONAR-2968 Do not force to add the root project to the property sonar.includedModules
Diffstat (limited to 'sonar-batch/src/main/java/org/sonar/batch/bootstrap')
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/bootstrap/ProjectFilter.java22
1 files changed, 15 insertions, 7 deletions
diff --git a/sonar-batch/src/main/java/org/sonar/batch/bootstrap/ProjectFilter.java b/sonar-batch/src/main/java/org/sonar/batch/bootstrap/ProjectFilter.java
index 5ecf6606dc0..e1e5c4d1fcc 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/bootstrap/ProjectFilter.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/bootstrap/ProjectFilter.java
@@ -21,6 +21,7 @@ package org.sonar.batch.bootstrap;
import org.apache.commons.lang.ArrayUtils;
import org.apache.commons.lang.StringUtils;
+import org.slf4j.LoggerFactory;
import org.sonar.api.config.Settings;
import org.sonar.api.resources.Project;
@@ -40,7 +41,7 @@ public class ProjectFilter {
public boolean isExcluded(Project project) {
Project p = project;
while (p != null) {
- if (isExcluded(getArtifactId(p))) {
+ if (isExcludedModule(getArtifactId(p), p.isRoot())) {
return true;
}
p = p.getParent();
@@ -48,14 +49,21 @@ public class ProjectFilter {
return false;
}
- private boolean isExcluded(String artifactId) {
+ private boolean isExcludedModule(String artifactId, boolean isRoot) {
String[] includedArtifactIds = settings.getStringArray("sonar.includedModules");
-
- if (includedArtifactIds.length > 0) {
- return !ArrayUtils.contains(includedArtifactIds, artifactId);
+ boolean excluded = false;
+ if (!isRoot && includedArtifactIds.length > 0) {
+ excluded = !ArrayUtils.contains(includedArtifactIds, artifactId);
+ }
+ if (!excluded) {
+ String[] excludedArtifactIds = settings.getStringArray("sonar.skippedModules");
+ excluded = ArrayUtils.contains(excludedArtifactIds, artifactId);
+ }
+ if (excluded && isRoot) {
+ LoggerFactory.getLogger(getClass()).warn("The root module can't be excluded: " + artifactId);
+ excluded = false;
}
- String[] excludedArtifactIds = settings.getStringArray("sonar.skippedModules");
- return ArrayUtils.contains(excludedArtifactIds, artifactId);
+ return excluded;
}
// TODO see http://jira.codehaus.org/browse/SONAR-2324