From 7bb5c6e74b9801273ce4f09edd2df54f164a64ef Mon Sep 17 00:00:00 2001 From: "Vladislav.Soroka" Date: Thu, 19 Jul 2018 18:18:49 +0300 Subject: [PATCH] Allow to use the Project at the ProjectTaskRunner.canRun method --- .../lang-api/src/com/intellij/task/ProjectTaskRunner.java | 4 ++++ .../intellij/task/impl/ExecutionEnvironmentProviderImpl.java | 2 +- .../src/com/intellij/task/impl/ProjectTaskManagerImpl.java | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/platform/lang-api/src/com/intellij/task/ProjectTaskRunner.java b/platform/lang-api/src/com/intellij/task/ProjectTaskRunner.java index e6a4c011a969..19e48bbbbc57 100644 --- a/platform/lang-api/src/com/intellij/task/ProjectTaskRunner.java +++ b/platform/lang-api/src/com/intellij/task/ProjectTaskRunner.java @@ -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, diff --git a/platform/lang-impl/src/com/intellij/task/impl/ExecutionEnvironmentProviderImpl.java b/platform/lang-impl/src/com/intellij/task/impl/ExecutionEnvironmentProviderImpl.java index ed04c87d677e..accbc2cf8a72 100644 --- a/platform/lang-impl/src/com/intellij/task/impl/ExecutionEnvironmentProviderImpl.java +++ b/platform/lang-impl/src/com/intellij/task/impl/ExecutionEnvironmentProviderImpl.java @@ -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); } } diff --git a/platform/lang-impl/src/com/intellij/task/impl/ProjectTaskManagerImpl.java b/platform/lang-impl/src/com/intellij/task/impl/ProjectTaskManagerImpl.java index d1acc2bd5f1f..1ca67c5bce2c 100644 --- a/platform/lang-impl/src/com/intellij/task/impl/ProjectTaskManagerImpl.java +++ b/platform/lang-impl/src/com/intellij/task/impl/ProjectTaskManagerImpl.java @@ -140,7 +140,7 @@ public class ProjectTaskManagerImpl extends ProjectTaskManager { Consumer> taskClassifier = tasks -> { Map> toBuild = tasks.stream().collect( groupingBy(aTask -> stream(getTaskRunners()) - .filter(runner -> runner.canRun(aTask)) + .filter(runner -> runner.canRun(myProject, aTask)) .findFirst() .orElse(myDummyTaskRunner)) );