Allow to use the Project at the ProjectTaskRunner.canRun method

This commit is contained in:
Vladislav.Soroka
2018-07-19 18:19:17 +03:00
parent d0e8ab3d22
commit 7bb5c6e74b
3 changed files with 6 additions and 2 deletions
@@ -47,6 +47,10 @@ public abstract class ProjectTaskRunner {
public abstract boolean canRun(@NotNull ProjectTask projectTask);
public boolean canRun(@NotNull Project project, @NotNull ProjectTask projectTask) {
return canRun(projectTask);
}
@Nullable
public ExecutionEnvironment createExecutionEnvironment(@NotNull Project project,
@NotNull ExecuteRunConfigurationTask task,
@@ -48,7 +48,7 @@ public class ExecutionEnvironmentProviderImpl implements ExecutionEnvironmentPro
ExecuteRunConfigurationTask
runTask = new ExecuteRunConfigurationTaskImpl(runProfile, target, runnerSettings, configurationSettings, settings);
for (ProjectTaskRunner projectTaskRunner : ProjectTaskRunner.EP_NAME.getExtensions()) {
if (projectTaskRunner.canRun(runTask)) {
if (projectTaskRunner.canRun(project, runTask)) {
return projectTaskRunner.createExecutionEnvironment(project, runTask, executor);
}
}
@@ -140,7 +140,7 @@ public class ProjectTaskManagerImpl extends ProjectTaskManager {
Consumer<Collection<? extends ProjectTask>> taskClassifier = tasks -> {
Map<ProjectTaskRunner, ? extends List<? extends ProjectTask>> toBuild = tasks.stream().collect(
groupingBy(aTask -> stream(getTaskRunners())
.filter(runner -> runner.canRun(aTask))
.filter(runner -> runner.canRun(myProject, aTask))
.findFirst()
.orElse(myDummyTaskRunner))
);