From 38d53817cf3edb02aa41612bd9790a52b76dee77 Mon Sep 17 00:00:00 2001 From: Nikita Skvortsov Date: Sun, 3 Mar 2019 23:33:07 +0300 Subject: [PATCH] Revert "IDEA-208029 - maven before run fix" to fix IDEA-208307 This reverts commit 4f6a5dcc --- .../buildtool/BuildViewMavenConsole.java | 13 +------ .../idea/maven/execution/MavenRunner.java | 39 +++++++++---------- .../build/MavenProjectTaskRunner.java | 3 +- .../idea/maven/project/MavenConsole.java | 5 +-- .../tasks/MavenBeforeRunTasksProvider.java | 5 +-- 5 files changed, 25 insertions(+), 40 deletions(-) diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/buildtool/BuildViewMavenConsole.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/buildtool/BuildViewMavenConsole.java index cb137aa69ab9..cd257f457b7d 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/buildtool/BuildViewMavenConsole.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/buildtool/BuildViewMavenConsole.java @@ -51,17 +51,14 @@ public class BuildViewMavenConsole extends MavenConsole { private final BuildView myBuildView; @NotNull private final String myTitle; - private final long myExecutionId; public BuildViewMavenConsole(@NotNull Project project, @NotNull String title, @NotNull String workingDir, - @NotNull String toolWindowId, - long executionId) { + @NotNull String toolWindowId) { super(getSettings(project).getOutputLevel(), getSettings(project).isPrintErrorStackTraces()); myProject = project; myTitle = title; - myExecutionId = executionId; ExternalSystemTaskId taskId = ExternalSystemTaskId.create(MavenUtil.SYSTEM_ID, EXECUTE_TASK, project); DefaultBuildDescriptor descriptor = new DefaultBuildDescriptor(taskId, "Run Maven task", workingDir, System.currentTimeMillis()); @@ -92,7 +89,6 @@ public class BuildViewMavenConsole extends MavenConsole { JComponent consolePanel = createConsolePanel(myBuildView, actions); RunContentDescriptor descriptor = new RunContentDescriptor(myBuildView, processHandler, consolePanel, myTitle, MavenIcons.MavenLogo); - descriptor.setExecutionId(myExecutionId); Disposer.register(descriptor, myBuildView); ExecutionManager.getInstance(myProject).getContentManager().showRunContent(DefaultRunExecutor.getRunExecutorInstance(), descriptor); }); @@ -167,11 +163,6 @@ public class BuildViewMavenConsole extends MavenConsole { public boolean isBuildContentView() { return true; } - }){ - @Override - public void dispose() { - super.dispose(); - } - }; + }); } } diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/execution/MavenRunner.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/execution/MavenRunner.java index 6bbab761628b..17cedda4b584 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/execution/MavenRunner.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/execution/MavenRunner.java @@ -56,7 +56,7 @@ public class MavenRunner implements PersistentStateComponent commands, @@ -121,11 +120,18 @@ public class MavenRunner implements PersistentStateComponent { + if (myProject.isDisposed()) return null; + return createConsole("Maven Batch", myProject.getBasePath()); + }); + if (console == null) return false; + try { int count = 0; for (MavenRunnerParameters command : commands) { @@ -133,9 +139,12 @@ public class MavenRunner implements PersistentStateComponent { + MavenExecutor executor + + = ReadAction.compute(()-> { + if (myProject.isDisposed()) return null; - return createExecutor(command, coreSettings, runnerSettings, mavenConsole); + return createExecutor(command, coreSettings, runnerSettings, console); }); if (executor == null) break; @@ -149,38 +158,28 @@ public class MavenRunner implements PersistentStateComponent { - if (project.isDisposed()) return null; - return doCreateConsole(title, workingDirPath, project, executionId); - }); - } - private void updateTargetFolders() { if (myProject.isDisposed()) return; // project was closed before task finished. MavenProjectsManager.getInstance(myProject).updateProjectTargetFolders(); } - private static MavenConsole doCreateConsole(@NotNull String title, @NotNull String workingDirPath, Project project, long executionId) { + private MavenConsole createConsole(@NotNull String title,@NotNull String workingDirPath) { if (ApplicationManager.getApplication().isUnitTestMode()) { return new SoutMavenConsole(); } - return MavenConsole.createGuiMavenConsole(project, title, workingDirPath, ToolWindowId.RUN, executionId); + return MavenConsole.createGuiMavenConsole(myProject, title, workingDirPath, ToolWindowId.RUN); } private MavenExecutor createExecutor(MavenRunnerParameters taskParameters, @Nullable MavenGeneralSettings coreSettings, @Nullable MavenRunnerSettings runnerSettings, - @NotNull MavenConsole console) { + MavenConsole console) { return new MavenExternalExecutor(myProject, taskParameters, coreSettings, runnerSettings, console); } } diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/execution/build/MavenProjectTaskRunner.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/execution/build/MavenProjectTaskRunner.java index 8f98f406d908..88cf173366a2 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/execution/build/MavenProjectTaskRunner.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/execution/build/MavenProjectTaskRunner.java @@ -224,8 +224,7 @@ public class MavenProjectTaskRunner extends ProjectTaskRunner { ApplicationManager.getApplication().invokeAndWait(() -> { AtomicInteger errors = new AtomicInteger(); AtomicInteger warnings = new AtomicInteger(); - MavenConsole console = MavenConsole.createGuiMavenConsole(project, title, project.getBasePath(), ToolWindowId.BUILD, 0); - + MavenConsole console = MavenConsole.createGuiMavenConsole(project, title, project.getBasePath(), ToolWindowId.BUILD); console.addProcessListener(new ProcessAdapter() { @Override diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/MavenConsole.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/MavenConsole.java index 9f4d79e99583..c7e22ad94590 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/MavenConsole.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/MavenConsole.java @@ -39,10 +39,9 @@ public abstract class MavenConsole { public static MavenConsole createGuiMavenConsole(@NotNull Project project, @NotNull String title, @NotNull String workingDir, - @NotNull String toolWindowId, - long executionId) { + @NotNull String toolWindowId) { if (Registry.is("maven.build.tool.window.enabled")) { - return new BuildViewMavenConsole(project, title, workingDir, toolWindowId, executionId); + return new BuildViewMavenConsole(project, title, workingDir, toolWindowId); } else { return new MavenConsoleImpl(title, project); } diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/tasks/MavenBeforeRunTasksProvider.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/tasks/MavenBeforeRunTasksProvider.java index ef5cba2d9f62..bea06bca6a4b 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/tasks/MavenBeforeRunTasksProvider.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/tasks/MavenBeforeRunTasksProvider.java @@ -28,7 +28,6 @@ import org.jetbrains.idea.maven.execution.MavenRunner; import org.jetbrains.idea.maven.execution.MavenRunnerParameters; import org.jetbrains.idea.maven.model.MavenConstants; import org.jetbrains.idea.maven.model.MavenExplicitProfiles; -import org.jetbrains.idea.maven.project.MavenConsole; import org.jetbrains.idea.maven.project.MavenProject; import org.jetbrains.idea.maven.project.MavenProjectsManager; import org.jetbrains.idea.maven.utils.MavenLog; @@ -170,7 +169,6 @@ public class MavenBeforeRunTasksProvider extends BeforeRunTaskProvider