summaryrefslogtreecommitdiffstats
path: root/sonar-batch
diff options
context:
space:
mode:
authorsimonbrandhof <simon.brandhof@gmail.com>2010-09-26 21:46:58 +0000
committersimonbrandhof <simon.brandhof@gmail.com>2010-09-26 21:46:58 +0000
commit36e81898a5a6e2b2029a2279a257d2ac06345f73 (patch)
treeb52bf836e5698b1e4f2df79b2d144ad8e23ea64e /sonar-batch
parent1723690eeb56a709c9ba87c0be94117186cead2a (diff)
downloadsonarqube-36e81898a5a6e2b2029a2279a257d2ac06345f73.tar.gz
sonarqube-36e81898a5a6e2b2029a2279a257d2ac06345f73.zip
SONAR-1711 Allow to exclude sources from code analysis based on cutoff date
Diffstat (limited to 'sonar-batch')
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/MavenProjectBuilder.java (renamed from sonar-batch/src/main/java/org/sonar/batch/ProjectBuilder.java)4
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/ProjectBatch.java14
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/ProjectTree.java6
-rw-r--r--sonar-batch/src/test/java/org/sonar/batch/MavenProjectBuilderTest.java (renamed from sonar-batch/src/test/java/org/sonar/batch/ProjectBuilderTest.java)6
-rw-r--r--sonar-batch/src/test/java/org/sonar/batch/ProjectTreeTest.java4
-rw-r--r--sonar-batch/src/test/resources/org/sonar/batch/MavenProjectBuilderTest/isLatestAnalysis.xml (renamed from sonar-batch/src/test/resources/org/sonar/batch/ProjectBuilderTest/isLatestAnalysis.xml)0
-rw-r--r--sonar-batch/src/test/resources/org/sonar/batch/MavenProjectBuilderTest/isLatestAnalysisIfNeverAnalysed.xml (renamed from sonar-batch/src/test/resources/org/sonar/batch/ProjectBuilderTest/isLatestAnalysisIfNeverAnalysed.xml)0
-rw-r--r--sonar-batch/src/test/resources/org/sonar/batch/MavenProjectBuilderTest/isNotLatestAnalysis.xml (renamed from sonar-batch/src/test/resources/org/sonar/batch/ProjectBuilderTest/isNotLatestAnalysis.xml)0
8 files changed, 22 insertions, 12 deletions
diff --git a/sonar-batch/src/main/java/org/sonar/batch/ProjectBuilder.java b/sonar-batch/src/main/java/org/sonar/batch/MavenProjectBuilder.java
index 3389db5e268..3feb2258463 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/ProjectBuilder.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/MavenProjectBuilder.java
@@ -36,11 +36,11 @@ import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
-public class ProjectBuilder {
+public class MavenProjectBuilder {
private DatabaseSession databaseSession;
- public ProjectBuilder(DatabaseSession databaseSession) {
+ public MavenProjectBuilder(DatabaseSession databaseSession) {
this.databaseSession = databaseSession;
}
diff --git a/sonar-batch/src/main/java/org/sonar/batch/ProjectBatch.java b/sonar-batch/src/main/java/org/sonar/batch/ProjectBatch.java
index fbe69040a35..eb0f9b18db8 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/ProjectBatch.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/ProjectBatch.java
@@ -22,13 +22,14 @@ package org.sonar.batch;
import org.picocontainer.Characteristics;
import org.picocontainer.MutablePicoContainer;
import org.sonar.api.batch.BatchExtensionDictionnary;
+import org.sonar.api.batch.FileFilter;
import org.sonar.api.batch.ProjectClasspath;
-import org.sonar.api.batch.ResourceCreationLock;
import org.sonar.api.batch.SensorContext;
import org.sonar.api.database.DatabaseSession;
import org.sonar.api.measures.CoreMetrics;
import org.sonar.api.measures.Metric;
import org.sonar.api.measures.Metrics;
+import org.sonar.api.resources.DefaultProjectFileSystem;
import org.sonar.api.resources.Languages;
import org.sonar.api.resources.Project;
import org.sonar.api.rules.DefaultRulesManager;
@@ -38,6 +39,8 @@ import org.sonar.core.qualitymodel.DefaultModelFinder;
import org.sonar.core.rule.DefaultRuleFinder;
import org.sonar.jpa.dao.*;
+import java.util.List;
+
public class ProjectBatch {
private MutablePicoContainer globalContainer;
@@ -98,8 +101,15 @@ public class ProjectBatch {
batchContainer.start();
// post-initializations
+ prepareProject(project, index);
+ }
+
+ private void prepareProject(Project project, DefaultSonarIndex index) {
project.setLanguage(getComponent(Languages.class).get(project.getLanguageKey()));
index.selectProject(project, getComponent(ResourceFilters.class), getComponent(ViolationFilters.class), getComponent(MeasuresDao.class), getComponent(ViolationsDao.class));
+
+ List<FileFilter> fileFilters = batchContainer.getComponents(FileFilter.class);
+ ((DefaultProjectFileSystem)project.getFileSystem()).addFileFilters(fileFilters);
}
private void loadCoreComponents(MutablePicoContainer container) {
@@ -122,7 +132,7 @@ public class ProjectBatch {
try {
globalContainer.removeChildContainer(batchContainer);
batchContainer.stop();
- batchContainer=null;
+ batchContainer = null;
} catch (Exception e) {
// do not log
}
diff --git a/sonar-batch/src/main/java/org/sonar/batch/ProjectTree.java b/sonar-batch/src/main/java/org/sonar/batch/ProjectTree.java
index 497c4656f58..e586106b310 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/ProjectTree.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/ProjectTree.java
@@ -35,17 +35,17 @@ public class ProjectTree {
private List<Project> projects;
private List<MavenProject> poms;
- private ProjectBuilder projectBuilder;
+ private MavenProjectBuilder projectBuilder;
public ProjectTree(MavenSession mavenSession, DatabaseSession databaseSession) {
this.poms = mavenSession.getSortedProjects();
- this.projectBuilder = new ProjectBuilder(databaseSession);
+ this.projectBuilder = new MavenProjectBuilder(databaseSession);
}
/**
* for unit tests
*/
- protected ProjectTree(ProjectBuilder projectBuilder, List<MavenProject> poms) {
+ protected ProjectTree(MavenProjectBuilder projectBuilder, List<MavenProject> poms) {
this.projectBuilder = projectBuilder;
this.poms = poms;
}
diff --git a/sonar-batch/src/test/java/org/sonar/batch/ProjectBuilderTest.java b/sonar-batch/src/test/java/org/sonar/batch/MavenProjectBuilderTest.java
index 586edaa9300..a35b692270a 100644
--- a/sonar-batch/src/test/java/org/sonar/batch/ProjectBuilderTest.java
+++ b/sonar-batch/src/test/java/org/sonar/batch/MavenProjectBuilderTest.java
@@ -35,13 +35,13 @@ import static org.hamcrest.core.Is.is;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
-public class ProjectBuilderTest extends AbstractDbUnitTestCase {
+public class MavenProjectBuilderTest extends AbstractDbUnitTestCase {
- private ProjectBuilder builder = null;
+ private MavenProjectBuilder builder = null;
@Before
public void before() {
- builder = new ProjectBuilder(getSession());
+ builder = new MavenProjectBuilder(getSession());
}
@Test
diff --git a/sonar-batch/src/test/java/org/sonar/batch/ProjectTreeTest.java b/sonar-batch/src/test/java/org/sonar/batch/ProjectTreeTest.java
index 8473b959f3d..8030c946b19 100644
--- a/sonar-batch/src/test/java/org/sonar/batch/ProjectTreeTest.java
+++ b/sonar-batch/src/test/java/org/sonar/batch/ProjectTreeTest.java
@@ -203,7 +203,7 @@ public class ProjectTreeTest extends AbstractDbUnitTestCase {
return pom;
}
- private ProjectBuilder newProjectBuilder() {
- return new ProjectBuilder(getSession());
+ private MavenProjectBuilder newProjectBuilder() {
+ return new MavenProjectBuilder(getSession());
}
}
diff --git a/sonar-batch/src/test/resources/org/sonar/batch/ProjectBuilderTest/isLatestAnalysis.xml b/sonar-batch/src/test/resources/org/sonar/batch/MavenProjectBuilderTest/isLatestAnalysis.xml
index 0d69b6587a4..0d69b6587a4 100644
--- a/sonar-batch/src/test/resources/org/sonar/batch/ProjectBuilderTest/isLatestAnalysis.xml
+++ b/sonar-batch/src/test/resources/org/sonar/batch/MavenProjectBuilderTest/isLatestAnalysis.xml
diff --git a/sonar-batch/src/test/resources/org/sonar/batch/ProjectBuilderTest/isLatestAnalysisIfNeverAnalysed.xml b/sonar-batch/src/test/resources/org/sonar/batch/MavenProjectBuilderTest/isLatestAnalysisIfNeverAnalysed.xml
index 0eecd371324..0eecd371324 100644
--- a/sonar-batch/src/test/resources/org/sonar/batch/ProjectBuilderTest/isLatestAnalysisIfNeverAnalysed.xml
+++ b/sonar-batch/src/test/resources/org/sonar/batch/MavenProjectBuilderTest/isLatestAnalysisIfNeverAnalysed.xml
diff --git a/sonar-batch/src/test/resources/org/sonar/batch/ProjectBuilderTest/isNotLatestAnalysis.xml b/sonar-batch/src/test/resources/org/sonar/batch/MavenProjectBuilderTest/isNotLatestAnalysis.xml
index 98d5825cc37..98d5825cc37 100644
--- a/sonar-batch/src/test/resources/org/sonar/batch/ProjectBuilderTest/isNotLatestAnalysis.xml
+++ b/sonar-batch/src/test/resources/org/sonar/batch/MavenProjectBuilderTest/isNotLatestAnalysis.xml