mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
ExecutionUtil: problem with balloons fixed
This commit is contained in:
@@ -69,6 +69,7 @@ import com.intellij.openapi.util.Comparing;
|
||||
import com.intellij.openapi.util.Key;
|
||||
import com.intellij.openapi.util.Pair;
|
||||
import com.intellij.openapi.util.Ref;
|
||||
import com.intellij.openapi.wm.ToolWindowId;
|
||||
import com.intellij.openapi.wm.WindowManager;
|
||||
import com.intellij.psi.PsiDocumentManager;
|
||||
import com.intellij.psi.PsiFile;
|
||||
@@ -1743,7 +1744,7 @@ public abstract class DebugProcessImpl implements DebugProcess {
|
||||
if (runProfile != null) {
|
||||
SwingUtilities.invokeLater(new Runnable() {
|
||||
public void run() {
|
||||
ExecutionUtil.handleExecutionError(myProject, runProfile, e);
|
||||
ExecutionUtil.handleExecutionError(myProject, ToolWindowId.DEBUG, runProfile, e);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -39,18 +39,17 @@ public class ExecutionUtil {
|
||||
private ExecutionUtil() {
|
||||
}
|
||||
|
||||
public static void handleExecutionError(Project project, @NotNull String taskName, ExecutionException e) {
|
||||
handleExecutionError(project, ToolWindowId.MESSAGES_WINDOW, taskName, e);
|
||||
}
|
||||
|
||||
public static void handleExecutionError(final Project project, @NotNull final RunProfile runProfile, final ExecutionException e) {
|
||||
handleExecutionError(project, runProfile.getName(), e);
|
||||
public static void handleExecutionError(@NotNull Project project,
|
||||
@NotNull String toolWindowId,
|
||||
@NotNull RunProfile runProfile,
|
||||
@NotNull ExecutionException e) {
|
||||
handleExecutionError(project, toolWindowId, runProfile.getName(), e);
|
||||
}
|
||||
|
||||
public static void handleExecutionError(@NotNull final Project project,
|
||||
@NotNull String toolWindowId,
|
||||
@NotNull String taskName,
|
||||
@NotNull final ExecutionException e) {
|
||||
@NotNull ExecutionException e) {
|
||||
if (e instanceof RunCanceledByUserException) return;
|
||||
|
||||
String error = e.getMessage();
|
||||
@@ -65,7 +64,7 @@ public class ExecutionUtil {
|
||||
|
||||
listener = new HyperlinkListener() {
|
||||
@Override
|
||||
public void hyperlinkUpdate(HyperlinkEvent e) {
|
||||
public void hyperlinkUpdate(HyperlinkEvent event) {
|
||||
PropertiesComponent.getInstance(project).setValue("dynamic.classpath", "true");
|
||||
}
|
||||
};
|
||||
|
||||
@@ -98,7 +98,7 @@ public abstract class GenericProgramRunner<Settings extends JDOMExternalizable>
|
||||
}
|
||||
}
|
||||
catch (ExecutionException e) {
|
||||
ExecutionUtil.handleExecutionError(project, profile, e);
|
||||
ExecutionUtil.handleExecutionError(project, executor.getToolWindowId(), profile, e);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@@ -77,7 +77,7 @@ public class ProgramRunnerUtil {
|
||||
runner.execute(executor, new ExecutionEnvironment(runner, configuration, project));
|
||||
}
|
||||
catch (ExecutionException e) {
|
||||
ExecutionUtil.handleExecutionError(project, configuration.getConfiguration(), e);
|
||||
ExecutionUtil.handleExecutionError(project, executor.getToolWindowId(), configuration.getConfiguration(), e);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
package org.jetbrains.plugins.groovy.gant;
|
||||
|
||||
import com.intellij.execution.CantRunException;
|
||||
import com.intellij.execution.Executor;
|
||||
import com.intellij.execution.configurations.JavaParameters;
|
||||
import com.intellij.execution.configurations.RunProfile;
|
||||
import com.intellij.openapi.module.Module;
|
||||
@@ -46,7 +47,7 @@ public class GantRunner extends GroovyScriptRunner {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean ensureRunnerConfigured(@Nullable Module module, RunProfile profile, final Project project) {
|
||||
public boolean ensureRunnerConfigured(@Nullable Module module, RunProfile profile, Executor executor, final Project project) {
|
||||
if (!(GantUtils.getSDKInstallPath(module, project).length() > 0)) {
|
||||
int result = Messages
|
||||
.showOkCancelDialog("Gant is not configured. Do you want to configure it?", "Configure Gant SDK",
|
||||
|
||||
@@ -16,10 +16,7 @@
|
||||
package org.jetbrains.plugins.groovy.gradle;
|
||||
|
||||
import com.intellij.compiler.options.CompileStepBeforeRun;
|
||||
import com.intellij.execution.CantRunException;
|
||||
import com.intellij.execution.ExecutionException;
|
||||
import com.intellij.execution.Location;
|
||||
import com.intellij.execution.RunManagerEx;
|
||||
import com.intellij.execution.*;
|
||||
import com.intellij.execution.configurations.JavaParameters;
|
||||
import com.intellij.execution.configurations.RunProfile;
|
||||
import com.intellij.openapi.module.Module;
|
||||
@@ -147,7 +144,7 @@ public class GradleScriptType extends GroovyScriptType {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean ensureRunnerConfigured(@Nullable Module module, RunProfile profile, final Project project) throws ExecutionException {
|
||||
public boolean ensureRunnerConfigured(@Nullable Module module, RunProfile profile, Executor executor, final Project project) throws ExecutionException {
|
||||
if (GradleLibraryManager.getSdkHome(module, project) == null) {
|
||||
int result = Messages
|
||||
.showOkCancelDialog("Gradle is not configured. Do you want to configure it?", "Configure Gradle SDK",
|
||||
|
||||
+3
-4
@@ -17,8 +17,8 @@
|
||||
package org.jetbrains.plugins.groovy.runner;
|
||||
|
||||
import com.intellij.execution.CantRunException;
|
||||
import com.intellij.execution.ExecutionBundle;
|
||||
import com.intellij.execution.ExecutionException;
|
||||
import com.intellij.execution.Executor;
|
||||
import com.intellij.execution.configurations.JavaParameters;
|
||||
import com.intellij.execution.configurations.RunProfile;
|
||||
import com.intellij.execution.runners.ExecutionUtil;
|
||||
@@ -29,7 +29,6 @@ import com.intellij.openapi.vfs.CharsetToolkit;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.openapi.vfs.encoding.EncodingManager;
|
||||
import com.intellij.openapi.vfs.encoding.EncodingProjectManager;
|
||||
import com.intellij.openapi.ui.Messages;
|
||||
import com.intellij.openapi.roots.ui.configuration.ModulesConfigurator;
|
||||
import com.intellij.openapi.roots.ui.configuration.ClasspathEditor;
|
||||
import com.intellij.openapi.project.Project;
|
||||
@@ -48,13 +47,13 @@ public class DefaultGroovyScriptRunner extends GroovyScriptRunner {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean ensureRunnerConfigured(@Nullable Module module, RunProfile profile, final Project project) throws ExecutionException {
|
||||
public boolean ensureRunnerConfigured(@Nullable Module module, RunProfile profile, Executor executor, final Project project) throws ExecutionException {
|
||||
if (module == null) {
|
||||
throw new ExecutionException("Module is not specified");
|
||||
}
|
||||
|
||||
if (LibrariesUtil.getGroovyHomePath(module) == null) {
|
||||
ExecutionUtil.handleExecutionError(project, profile, new ExecutionException("Groovy is not configured"));
|
||||
ExecutionUtil.handleExecutionError(project, executor.getToolWindowId(), profile, new ExecutionException("Groovy is not configured"));
|
||||
ModulesConfigurator.showDialog(module.getProject(), module.getName(), ClasspathEditor.NAME, false);
|
||||
return false;
|
||||
}
|
||||
|
||||
+1
-1
@@ -164,7 +164,7 @@ public class GroovyScriptRunConfiguration extends ModuleBasedConfiguration<RunCo
|
||||
}
|
||||
|
||||
final Module module = getModule();
|
||||
if (!scriptRunner.ensureRunnerConfigured(module, this, getProject())) {
|
||||
if (!scriptRunner.ensureRunnerConfigured(module, this, executor, getProject())) {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@@ -17,6 +17,7 @@ package org.jetbrains.plugins.groovy.runner;
|
||||
|
||||
import com.intellij.execution.CantRunException;
|
||||
import com.intellij.execution.ExecutionException;
|
||||
import com.intellij.execution.Executor;
|
||||
import com.intellij.execution.configurations.JavaParameters;
|
||||
import com.intellij.execution.configurations.RunProfile;
|
||||
import com.intellij.openapi.module.Module;
|
||||
@@ -42,7 +43,7 @@ public abstract class GroovyScriptRunner {
|
||||
|
||||
public abstract boolean isValidModule(@NotNull Module module);
|
||||
|
||||
public abstract boolean ensureRunnerConfigured(@Nullable Module module, RunProfile profile, final Project project) throws ExecutionException;
|
||||
public abstract boolean ensureRunnerConfigured(@Nullable Module module, RunProfile profile, Executor executor, final Project project) throws ExecutionException;
|
||||
|
||||
public abstract void configureCommandLine(JavaParameters params, @Nullable Module module, boolean tests, VirtualFile script,
|
||||
GroovyScriptRunConfiguration configuration) throws CantRunException;
|
||||
|
||||
Reference in New Issue
Block a user