void (boolean aborted, int errors, int warnings, @NotNull CompileContext compileContext) { if (aborted || errors != 0) return; ApplicationManager.getApplication().invokeLater(() -> { for (Module module : pluginModules) { if (!doPrepare(module, errorMessages, successMessages)) { return; } } if (!errorMessages.isEmpty()) { @NlsSafe String errorMessage = errorMessages.iterator().next(); Messages.showErrorDialog(errorMessage, DevKitBundle.message("error.occurred")); } else if (!successMessages.isEmpty()) { String title = pluginModules.size() == 1 ? DevKitBundle.message("success.deployment.message", pluginModules.get(0).getName()) : DevKitBundle.message("success.deployment.message.all"); @NlsSafe String successMessage = StringUtil.join(successMessages, "\n"); Holder.NOTIFICATION_GROUP.createNotification(title, successMessage, NotificationType.INFORMATION).notify(project); } }, project.getDisposed()); }