diff options
author | Julien HENRY <julien.henry@sonarsource.com> | 2013-02-26 16:53:29 +0100 |
---|---|---|
committer | Julien Lancelot <julien.lancelot@gmail.com> | 2013-02-27 14:37:01 +0100 |
commit | b0fe2aae234489d21be964a9e8a1ffd699be4fbb (patch) | |
tree | 6e127ce10f3d1c4eb8724c43447cf29cbf849baf /sonar-batch/src/main/java/org/sonar/batch/bootstrap/TaskBootstrapContainer.java | |
parent | b71ab81e064d952eb398700dba3dbe6ee8261afd (diff) | |
download | sonarqube-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.java | 8 |
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(); |