aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-batch/src/main/java/org/sonar/batch/bootstrap/TaskBootstrapContainer.java
diff options
context:
space:
mode:
authorJulien HENRY <julien.henry@sonarsource.com>2013-02-26 16:53:29 +0100
committerJulien Lancelot <julien.lancelot@gmail.com>2013-02-27 14:37:01 +0100
commitb0fe2aae234489d21be964a9e8a1ffd699be4fbb (patch)
tree6e127ce10f3d1c4eb8724c43447cf29cbf849baf /sonar-batch/src/main/java/org/sonar/batch/bootstrap/TaskBootstrapContainer.java
parentb71ab81e064d952eb398700dba3dbe6ee8261afd (diff)
downloadsonarqube-b0fe2aae234489d21be964a9e8a1ffd699be4fbb.tar.gz
sonarqube-b0fe2aae234489d21be964a9e8a1ffd699be4fbb.zip
Refactor ioc containers to allow views to work as a task.
Signed-off-by: Julien Lancelot <julien.lancelot@gmail.com>
Diffstat (limited to 'sonar-batch/src/main/java/org/sonar/batch/bootstrap/TaskBootstrapContainer.java')
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/bootstrap/TaskBootstrapContainer.java8
1 files changed, 5 insertions, 3 deletions
diff --git a/sonar-batch/src/main/java/org/sonar/batch/bootstrap/TaskBootstrapContainer.java b/sonar-batch/src/main/java/org/sonar/batch/bootstrap/TaskBootstrapContainer.java
index 39a81ebffdb..8bc1d412bbe 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/bootstrap/TaskBootstrapContainer.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/bootstrap/TaskBootstrapContainer.java
@@ -34,9 +34,11 @@ import javax.annotation.Nullable;
public class TaskBootstrapContainer extends Container {
private String taskCommand;
+ private ProjectReactor reactor;
- public TaskBootstrapContainer(@Nullable String taskCommand) {
+ public TaskBootstrapContainer(@Nullable String taskCommand, @Nullable ProjectReactor reactor) {
this.taskCommand = taskCommand;
+ this.reactor = reactor;
}
@Override
@@ -63,11 +65,11 @@ public class TaskBootstrapContainer extends Container {
}
private void executeTask(TaskDefinition taskDefinition) {
- boolean projectPresent = container.getComponentByType(ProjectReactor.class) != null;
+ boolean projectPresent = (reactor != null);
if (ExtensionUtils.requiresProject(taskDefinition.getTask()) && !projectPresent) {
throw new SonarException("Task '" + taskDefinition.getName() + "' requires to be run on a project");
}
- Container childModule = new TaskContainer(taskDefinition, projectPresent);
+ Container childModule = new ProjectLessTaskContainer(taskDefinition, reactor);
try {
installChild(childModule);
childModule.start();