From 9e0eb402e141a5e2801638c9abbd288f5c361e80 Mon Sep 17 00:00:00 2001 From: "Vladislav.Soroka" Date: Fri, 30 Sep 2016 17:11:14 +0300 Subject: [PATCH] project tasks: notify even for empty task list execution --- .../task/impl/ProjectTaskManagerImpl.java | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/java/compiler/impl/src/com/intellij/task/impl/ProjectTaskManagerImpl.java b/java/compiler/impl/src/com/intellij/task/impl/ProjectTaskManagerImpl.java index d40192e633e8..21eff5a8ff59 100644 --- a/java/compiler/impl/src/com/intellij/task/impl/ProjectTaskManagerImpl.java +++ b/java/compiler/impl/src/com/intellij/task/impl/ProjectTaskManagerImpl.java @@ -131,6 +131,11 @@ public class ProjectTaskManagerImpl extends ProjectTaskManager { }; visitTasks(projectTask instanceof ProjectTaskList ? (ProjectTaskList)projectTask : Collections.singleton(projectTask), taskClassifier); + if (toRun.isEmpty()) { + sendSuccessNotify(callback); + return; + } + AtomicInteger inProgressCounter = new AtomicInteger(toRun.size()); AtomicInteger errorsCounter = new AtomicInteger(); AtomicInteger warningsCounter = new AtomicInteger(); @@ -150,7 +155,20 @@ public class ProjectTaskManagerImpl extends ProjectTaskManager { } }; - toRun.forEach(pair -> pair.first.run(myProject, context, chunkStatusNotification, pair.second)); + toRun.forEach(pair -> { + if (pair.second.isEmpty()) { + sendSuccessNotify(chunkStatusNotification); + } + else { + pair.first.run(myProject, context, chunkStatusNotification, pair.second); + } + }); + } + + private static void sendSuccessNotify(@Nullable ProjectTaskNotification notification) { + if (notification != null) { + notification.finished(new ProjectTaskResult(false, 0, 0)); + } } private static void visitTasks(@NotNull Collection tasks,