mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -19,10 +19,8 @@ import com.intellij.execution.DefaultExecutionResult;
|
||||
import com.intellij.execution.ExecutionException;
|
||||
import com.intellij.execution.ExecutionResult;
|
||||
import com.intellij.execution.Executor;
|
||||
import com.intellij.execution.configurations.ConfigurationPerRunnerSettings;
|
||||
import com.intellij.execution.configurations.RemoteConnection;
|
||||
import com.intellij.execution.configurations.RemoteState;
|
||||
import com.intellij.execution.configurations.RunnerSettings;
|
||||
import com.intellij.execution.impl.ConsoleViewImpl;
|
||||
import com.intellij.execution.runners.ProgramRunner;
|
||||
import com.intellij.openapi.project.Project;
|
||||
@@ -34,25 +32,11 @@ import org.jetbrains.annotations.NotNull;
|
||||
public class RemoteStateState implements RemoteState {
|
||||
private final Project myProject;
|
||||
private final RemoteConnection myConnection;
|
||||
private final RunnerSettings myRunnerSettings;
|
||||
private final ConfigurationPerRunnerSettings myConfigurationSettings;
|
||||
|
||||
public RemoteStateState(Project project,
|
||||
RemoteConnection connection,
|
||||
RunnerSettings runnerSettings,
|
||||
ConfigurationPerRunnerSettings configurationSettings) {
|
||||
RemoteConnection connection) {
|
||||
myProject = project;
|
||||
myConnection = connection;
|
||||
myRunnerSettings = runnerSettings;
|
||||
myConfigurationSettings = configurationSettings;
|
||||
}
|
||||
|
||||
public RunnerSettings getRunnerSettings() {
|
||||
return myRunnerSettings;
|
||||
}
|
||||
|
||||
public ConfigurationPerRunnerSettings getConfigurationSettings() {
|
||||
return myConfigurationSettings;
|
||||
}
|
||||
|
||||
public ExecutionResult execute(final Executor executor, @NotNull final ProgramRunner runner) throws ExecutionException {
|
||||
|
||||
@@ -43,41 +43,43 @@ public class GenericDebuggerRunner extends JavaPatchableProgramRunner<GenericDeb
|
||||
return DebuggingRunnerData.DEBUGGER_RUNNER_ID;
|
||||
}
|
||||
|
||||
protected RunContentDescriptor doExecute(final Project project, final Executor executor, final RunProfileState state, final RunContentDescriptor contentToReuse,
|
||||
protected RunContentDescriptor doExecute(final Project project,
|
||||
final RunProfileState state,
|
||||
final RunContentDescriptor contentToReuse,
|
||||
final ExecutionEnvironment env) throws ExecutionException {
|
||||
FileDocumentManager.getInstance().saveAllDocuments();
|
||||
return createContentDescriptor(project, executor, state, contentToReuse, env);
|
||||
return createContentDescriptor(project, state, contentToReuse, env);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
protected RunContentDescriptor createContentDescriptor(Project project, Executor executor, RunProfileState state,
|
||||
protected RunContentDescriptor createContentDescriptor(Project project, RunProfileState state,
|
||||
RunContentDescriptor contentToReuse,
|
||||
ExecutionEnvironment env) throws ExecutionException {
|
||||
if (state instanceof JavaCommandLine) {
|
||||
final JavaParameters parameters = ((JavaCommandLine)state).getJavaParameters();
|
||||
runCustomPatchers(parameters, executor, env.getRunProfile());
|
||||
runCustomPatchers(parameters, env.getExecutor(), env.getRunProfile());
|
||||
RemoteConnection connection = DebuggerManagerImpl.createDebugParameters(parameters, true, DebuggerSettings.getInstance().DEBUGGER_TRANSPORT, "", false);
|
||||
return attachVirtualMachine(project, executor, state, contentToReuse, env, connection, true);
|
||||
return attachVirtualMachine(project, state, contentToReuse, env, connection, true);
|
||||
}
|
||||
if (state instanceof PatchedRunnableState) {
|
||||
final RemoteConnection connection = doPatch(new JavaParameters(), env.getRunnerSettings());
|
||||
return attachVirtualMachine(project, executor, state, contentToReuse, env, connection, true);
|
||||
return attachVirtualMachine(project, state, contentToReuse, env, connection, true);
|
||||
}
|
||||
if (state instanceof RemoteState) {
|
||||
final RemoteConnection connection = createRemoteDebugConnection((RemoteState)state, env.getRunnerSettings());
|
||||
return attachVirtualMachine(project, executor, state, contentToReuse, env, connection, false);
|
||||
return attachVirtualMachine(project, state, contentToReuse, env, connection, false);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
protected RunContentDescriptor attachVirtualMachine(Project project, Executor executor, RunProfileState state,
|
||||
protected RunContentDescriptor attachVirtualMachine(Project project, RunProfileState state,
|
||||
RunContentDescriptor contentToReuse,
|
||||
ExecutionEnvironment env, RemoteConnection connection, boolean pollConnection)
|
||||
throws ExecutionException {
|
||||
final DebuggerPanelsManager manager = DebuggerPanelsManager.getInstance(project);
|
||||
return manager.attachVirtualMachine(executor, this, env, state, contentToReuse, connection, pollConnection);
|
||||
return manager.attachVirtualMachine(env.getExecutor(), this, env, state, contentToReuse, connection, pollConnection);
|
||||
}
|
||||
|
||||
private static RemoteConnection createRemoteDebugConnection(RemoteState connection, final RunnerSettings settings) {
|
||||
|
||||
@@ -49,7 +49,6 @@ public class CompileStepBeforeRun extends BeforeRunTaskProvider<CompileStepBefor
|
||||
public static final Key<MakeBeforeRunTask> ID = Key.create("Make");
|
||||
private static final Key<RunConfiguration> RUN_CONFIGURATION = Key.create("RUN_CONFIGURATION");
|
||||
private static final Key<String> RUN_CONFIGURATION_TYPE_ID = Key.create("RUN_CONFIGURATION_TYPE_ID");
|
||||
private static final Key<String> RUNNER_ID = Key.create("RUNNER_ID");
|
||||
|
||||
@NonNls protected static final String MAKE_PROJECT_ON_RUN_KEY = "makeProjectOnRun";
|
||||
|
||||
@@ -153,7 +152,6 @@ public class CompileStepBeforeRun extends BeforeRunTaskProvider<CompileStepBefor
|
||||
if (!myProject.isDisposed()) {
|
||||
scope.putUserData(RUN_CONFIGURATION, configuration);
|
||||
scope.putUserData(RUN_CONFIGURATION_TYPE_ID, configuration.getType().getId());
|
||||
scope.putUserData(RUNNER_ID, env.getRunnerId());
|
||||
compilerManager.make(scope, callback);
|
||||
}
|
||||
else {
|
||||
|
||||
@@ -66,7 +66,9 @@ public class DefaultJavaProgramRunner extends JavaPatchableProgramRunner {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected RunContentDescriptor doExecute(final Project project, final Executor executor, final RunProfileState state, final RunContentDescriptor contentToReuse,
|
||||
protected RunContentDescriptor doExecute(final Project project,
|
||||
final RunProfileState state,
|
||||
final RunContentDescriptor contentToReuse,
|
||||
final ExecutionEnvironment env) throws ExecutionException {
|
||||
FileDocumentManager.getInstance().saveAllDocuments();
|
||||
|
||||
@@ -76,7 +78,7 @@ public class DefaultJavaProgramRunner extends JavaPatchableProgramRunner {
|
||||
final JavaParameters parameters = ((JavaCommandLine)state).getJavaParameters();
|
||||
patch(parameters, env.getRunnerSettings(), env.getRunProfile(), true);
|
||||
final ProcessProxy proxy = ProcessProxyFactory.getInstance().createCommandLineProxy((JavaCommandLine)state);
|
||||
executionResult = state.execute(executor, this);
|
||||
executionResult = state.execute(env.getExecutor(), this);
|
||||
if (proxy != null && executionResult != null) {
|
||||
proxy.attach(executionResult.getProcessHandler());
|
||||
}
|
||||
@@ -85,7 +87,7 @@ public class DefaultJavaProgramRunner extends JavaPatchableProgramRunner {
|
||||
}
|
||||
}
|
||||
else {
|
||||
executionResult = state.execute(executor, this);
|
||||
executionResult = state.execute(env.getExecutor(), this);
|
||||
}
|
||||
|
||||
if (executionResult == null) {
|
||||
@@ -94,7 +96,7 @@ public class DefaultJavaProgramRunner extends JavaPatchableProgramRunner {
|
||||
|
||||
onProcessStarted(env.getRunnerSettings(), executionResult);
|
||||
|
||||
final RunContentBuilder contentBuilder = new RunContentBuilder(project, this, executor, executionResult, env);
|
||||
final RunContentBuilder contentBuilder = new RunContentBuilder(this, executionResult, env);
|
||||
Disposer.register(project, contentBuilder);
|
||||
if (shouldAddDefaultActions) {
|
||||
addDefaultActions(contentBuilder);
|
||||
|
||||
@@ -78,7 +78,7 @@ public class RemoteConfiguration extends ModuleBasedConfiguration<JavaRunConfigu
|
||||
debuggerSettings.LOCAL = false;
|
||||
debuggerSettings.setDebugPort(USE_SOCKET_TRANSPORT ? PORT : SHMEM_ADDRESS);
|
||||
debuggerSettings.setTransport(USE_SOCKET_TRANSPORT ? DebuggerSettings.SOCKET_TRANSPORT : DebuggerSettings.SHMEM_TRANSPORT);
|
||||
return new RemoteStateState(getProject(), createRemoteConnection(), env.getRunnerSettings(), env.getConfigurationSettings());
|
||||
return new RemoteStateState(getProject(), createRemoteConnection());
|
||||
}
|
||||
|
||||
public SettingsEditor<? extends RunConfiguration> getConfigurationEditor() {
|
||||
|
||||
@@ -59,7 +59,8 @@ public class JavaExecutionUtil {
|
||||
final DefaultRunProfile profile = new DefaultRunProfile(project, cmdLine, contentName, icon, filters);
|
||||
final ProgramRunner runner = RunnerRegistry.getInstance().getRunner(DefaultRunExecutor.EXECUTOR_ID, profile);
|
||||
if (runner != null) {
|
||||
runner.execute(DefaultRunExecutor.getRunExecutorInstance(), new ExecutionEnvironment(profile, project, null));
|
||||
Executor executor = DefaultRunExecutor.getRunExecutorInstance();
|
||||
runner.execute(new ExecutionEnvironment(profile, executor, project, null));
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -18,6 +18,7 @@ package com.intellij.javadoc;
|
||||
import com.intellij.CommonBundle;
|
||||
import com.intellij.analysis.AnalysisScope;
|
||||
import com.intellij.execution.ExecutionException;
|
||||
import com.intellij.execution.Executor;
|
||||
import com.intellij.execution.RunnerRegistry;
|
||||
import com.intellij.execution.executors.DefaultRunExecutor;
|
||||
import com.intellij.execution.runners.ExecutionEnvironment;
|
||||
@@ -83,7 +84,8 @@ public final class JavadocGenerationManager implements PersistentStateComponent<
|
||||
try {
|
||||
final ProgramRunner runner = RunnerRegistry.getInstance().getRunner(DefaultRunExecutor.EXECUTOR_ID, myConfiguration);
|
||||
assert runner != null;
|
||||
runner.execute(DefaultRunExecutor.getRunExecutorInstance(), new ExecutionEnvironment(myConfiguration, myProject, null));
|
||||
Executor executor = DefaultRunExecutor.getRunExecutorInstance();
|
||||
runner.execute(new ExecutionEnvironment(myConfiguration ,executor, myProject, null));
|
||||
}
|
||||
catch (ExecutionException e) {
|
||||
ExecutionErrorDialog.show(e, CommonBundle.getErrorTitle(), myProject);
|
||||
|
||||
@@ -31,6 +31,8 @@ import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import static com.intellij.openapi.util.io.FileUtilRt.toSystemIndependentName;
|
||||
|
||||
/**
|
||||
* @author yole
|
||||
*/
|
||||
@@ -75,7 +77,7 @@ public class CoreJavaFileManager implements JavaFileManager {
|
||||
final VirtualFile file = dir.getVirtualFile();
|
||||
for (VirtualFile root : myClasspath) {
|
||||
if (VfsUtilCore.isAncestor(root, file, false)) {
|
||||
String relativePath = FileUtil.getRelativePath(root.getPath(), file.getPath(), '/');
|
||||
String relativePath = FileUtil.getRelativePath(toSystemIndependentName(root.getPath()), toSystemIndependentName(file.getPath()), '/');
|
||||
if (relativePath == null) continue;
|
||||
return new PsiPackageImpl(myPsiManager, relativePath.replace('/', '.'));
|
||||
}
|
||||
|
||||
@@ -128,8 +128,9 @@ public abstract class DebuggerTestCase extends ExecutionWithDebuggerToolsTestCas
|
||||
|
||||
final RemoteConnection debugParameters = DebuggerManagerImpl.createDebugParameters(javaParameters, debuggerRunnerSettings, false);
|
||||
|
||||
final JavaCommandLineState javaCommandLineState = new JavaCommandLineState(new ExecutionEnvironment(new MockConfiguration(), myProject,
|
||||
debuggerRunnerSettings)){
|
||||
ExecutionEnvironment environment = new ExecutionEnvironment(new MockConfiguration(), new DefaultDebugExecutor(), myProject,
|
||||
debuggerRunnerSettings);
|
||||
final JavaCommandLineState javaCommandLineState = new JavaCommandLineState(environment){
|
||||
@Override
|
||||
protected JavaParameters createJavaParameters() {
|
||||
return javaParameters;
|
||||
@@ -184,8 +185,9 @@ public abstract class DebuggerTestCase extends ExecutionWithDebuggerToolsTestCas
|
||||
debuggerRunnerSettings.LOCAL = true;
|
||||
debuggerRunnerSettings.DEBUG_PORT = "3456";
|
||||
|
||||
final JavaCommandLineState javaCommandLineState = new JavaCommandLineState(new ExecutionEnvironment(new MockConfiguration(), myProject,
|
||||
debuggerRunnerSettings)) {
|
||||
ExecutionEnvironment environment = new ExecutionEnvironment(new MockConfiguration(), new DefaultDebugExecutor(), myProject,
|
||||
debuggerRunnerSettings);
|
||||
final JavaCommandLineState javaCommandLineState = new JavaCommandLineState(environment) {
|
||||
@Override
|
||||
protected JavaParameters createJavaParameters() {
|
||||
return javaParameters;
|
||||
@@ -276,7 +278,7 @@ public abstract class DebuggerTestCase extends ExecutionWithDebuggerToolsTestCas
|
||||
|
||||
protected DebuggerSession attachVM(final RemoteConnection remoteConnection, final boolean pollConnection)
|
||||
throws InvocationTargetException, InterruptedException {
|
||||
final RemoteState remoteState = new RemoteStateState(myProject, remoteConnection, null, null);
|
||||
final RemoteState remoteState = new RemoteStateState(myProject, remoteConnection);
|
||||
|
||||
final DebuggerSession[] debuggerSession = new DebuggerSession[1];
|
||||
UIUtil.invokeAndWaitIfNeeded(new Runnable() {
|
||||
|
||||
+1
-2
@@ -52,7 +52,6 @@ public class ExternalSystemTaskDebugRunner extends GenericDebuggerRunner {
|
||||
@Nullable
|
||||
@Override
|
||||
protected RunContentDescriptor createContentDescriptor(Project project,
|
||||
Executor executor,
|
||||
RunProfileState state,
|
||||
RunContentDescriptor contentToReuse,
|
||||
ExecutionEnvironment env) throws ExecutionException
|
||||
@@ -61,7 +60,7 @@ public class ExternalSystemTaskDebugRunner extends GenericDebuggerRunner {
|
||||
int port = ((ExternalSystemRunConfiguration.MyRunnableState)state).getDebugPort();
|
||||
if (port > 0) {
|
||||
RemoteConnection connection = new RemoteConnection(true, "127.0.0.1", String.valueOf(port), false);
|
||||
return attachVirtualMachine(project, executor, state, contentToReuse, env, connection, true);
|
||||
return attachVirtualMachine(project, state, contentToReuse, env, connection, true);
|
||||
}
|
||||
else {
|
||||
LOG.warn("Can't attach debugger to external system task execution. Reason: target debug port is unknown");
|
||||
|
||||
+2
-4
@@ -17,7 +17,6 @@ package com.intellij.openapi.externalSystem.service.execution;
|
||||
|
||||
import com.intellij.execution.ExecutionException;
|
||||
import com.intellij.execution.ExecutionResult;
|
||||
import com.intellij.execution.Executor;
|
||||
import com.intellij.execution.configurations.RunProfile;
|
||||
import com.intellij.execution.configurations.RunProfileState;
|
||||
import com.intellij.execution.executors.DefaultRunExecutor;
|
||||
@@ -50,15 +49,14 @@ public class ExternalSystemTaskRunner extends GenericProgramRunner {
|
||||
@Nullable
|
||||
@Override
|
||||
protected RunContentDescriptor doExecute(Project project,
|
||||
Executor executor,
|
||||
RunProfileState state,
|
||||
RunContentDescriptor contentToReuse,
|
||||
ExecutionEnvironment env) throws ExecutionException
|
||||
{
|
||||
ExecutionResult executionResult = state.execute(executor, this);
|
||||
ExecutionResult executionResult = state.execute(env.getExecutor(), this);
|
||||
if (executionResult == null) return null;
|
||||
|
||||
final RunContentBuilder contentBuilder = new RunContentBuilder(project, this, executor, executionResult, env);
|
||||
final RunContentBuilder contentBuilder = new RunContentBuilder(this, executionResult, env);
|
||||
return contentBuilder.showRunContent(contentToReuse);
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -481,10 +481,10 @@ public class ExternalSystemUtil {
|
||||
runConfiguration.getSettings().setTaskNames(taskSettings.getTaskNames());
|
||||
|
||||
|
||||
ExecutionEnvironment env = new ExecutionEnvironment(runner, settings, project);
|
||||
ExecutionEnvironment env = new ExecutionEnvironment(executor, runner, settings, project);
|
||||
|
||||
try {
|
||||
runner.execute(executor, env, null);
|
||||
runner.execute(env, null);
|
||||
}
|
||||
catch (ExecutionException e) {
|
||||
LOG.warn("Can't execute task " + taskSettings, e);
|
||||
|
||||
@@ -36,8 +36,6 @@ import javax.swing.*;
|
||||
public abstract class BeforeRunTaskProvider<T extends BeforeRunTask> {
|
||||
public static final ExtensionPointName<BeforeRunTaskProvider<BeforeRunTask>> EXTENSION_POINT_NAME = new ExtensionPointName<BeforeRunTaskProvider<BeforeRunTask>>("com.intellij.stepsBeforeRunProvider");
|
||||
|
||||
public static final String RUNNER_ID = "RunnerId";
|
||||
|
||||
public abstract Key<T> getId();
|
||||
|
||||
public abstract String getName();
|
||||
|
||||
@@ -43,12 +43,19 @@ public abstract class ExecutionManager {
|
||||
|
||||
public abstract ProcessHandler[] getRunningProcesses();
|
||||
|
||||
/**
|
||||
* @deprecated use {@link #startRunProfile(RunProfileStarter, com.intellij.execution.configurations.RunProfileState, com.intellij.execution.runners.ExecutionEnvironment)}
|
||||
*/
|
||||
public abstract void startRunProfile(@NotNull RunProfileStarter starter,
|
||||
@NotNull RunProfileState state,
|
||||
@NotNull Project project,
|
||||
@NotNull Executor executor,
|
||||
@NotNull ExecutionEnvironment env);
|
||||
|
||||
public abstract void startRunProfile(@NotNull RunProfileStarter starter,
|
||||
@NotNull RunProfileState state,
|
||||
@NotNull ExecutionEnvironment env);
|
||||
|
||||
public abstract void restartRunProfile(@NotNull Project project,
|
||||
@NotNull Executor executor,
|
||||
@NotNull ExecutionTarget target,
|
||||
@@ -62,9 +69,7 @@ public abstract class ExecutionManager {
|
||||
@Nullable RunnerAndConfigurationSettings configuration,
|
||||
@Nullable RunContentDescriptor currentDescriptor);
|
||||
|
||||
public abstract void restartRunProfile(@NotNull Project project,
|
||||
@NotNull Executor executor,
|
||||
@Nullable ProgramRunner runner,
|
||||
public abstract void restartRunProfile(@Nullable ProgramRunner runner,
|
||||
@NotNull ExecutionEnvironment environment,
|
||||
@Nullable RunContentDescriptor currentDescriptor);
|
||||
}
|
||||
|
||||
@@ -51,10 +51,6 @@ public abstract class CommandLineState implements RunProfileState {
|
||||
return myEnvironment.getRunnerSettings();
|
||||
}
|
||||
|
||||
public ConfigurationPerRunnerSettings getConfigurationSettings() {
|
||||
return myEnvironment.getConfigurationSettings();
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public ExecutionTarget getExecutionTarget() {
|
||||
return myEnvironment.getExecutionTarget();
|
||||
|
||||
@@ -27,6 +27,7 @@ import org.jetbrains.annotations.Nullable;
|
||||
* variables, working directory etc.
|
||||
*
|
||||
* @see CommandLineState
|
||||
* @see RunConfiguration#getState(com.intellij.execution.Executor, com.intellij.execution.runners.ExecutionEnvironment)
|
||||
*/
|
||||
public interface RunProfileState {
|
||||
/**
|
||||
|
||||
@@ -39,9 +39,10 @@ import java.util.concurrent.atomic.AtomicLong;
|
||||
public class ExecutionEnvironment extends UserDataHolderBase {
|
||||
private static final AtomicLong myIdHolder = new AtomicLong(1L);
|
||||
|
||||
@Nullable private final Project myProject;
|
||||
@NotNull private final Project myProject;
|
||||
|
||||
@NotNull private RunProfile myRunProfile;
|
||||
@NotNull private final Executor myExecutor;
|
||||
@NotNull private ExecutionTarget myTarget;
|
||||
|
||||
@Nullable private RunnerSettings myRunnerSettings;
|
||||
@@ -56,12 +57,15 @@ public class ExecutionEnvironment extends UserDataHolderBase {
|
||||
myProject = null;
|
||||
myContentToReuse = null;
|
||||
myRunnerAndConfigurationSettings = null;
|
||||
myExecutor = null;
|
||||
}
|
||||
|
||||
public ExecutionEnvironment(@NotNull final ProgramRunner runner,
|
||||
public ExecutionEnvironment(@NotNull Executor executor,
|
||||
@NotNull final ProgramRunner runner,
|
||||
@NotNull final RunnerAndConfigurationSettings configuration,
|
||||
@Nullable Project project) {
|
||||
@NotNull Project project) {
|
||||
this(configuration.getConfiguration(),
|
||||
executor,
|
||||
DefaultExecutionTarget.INSTANCE,
|
||||
project,
|
||||
configuration.getRunnerSettings(runner),
|
||||
@@ -71,32 +75,17 @@ public class ExecutionEnvironment extends UserDataHolderBase {
|
||||
runner.getRunnerId());
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated, use {@link com.intellij.execution.runners.ExecutionEnvironmentBuilder} instead
|
||||
*/
|
||||
public ExecutionEnvironment(@NotNull final ProgramRunner runner,
|
||||
@NotNull final ExecutionTarget target,
|
||||
@NotNull final RunnerAndConfigurationSettings configuration,
|
||||
@Nullable RunContentDescriptor contentToReuse,
|
||||
Project project) {
|
||||
this(configuration.getConfiguration(),
|
||||
target,
|
||||
project,
|
||||
configuration.getRunnerSettings(runner),
|
||||
configuration.getConfigurationSettings(runner),
|
||||
contentToReuse,
|
||||
configuration, runner.getRunnerId());
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated, use {@link com.intellij.execution.runners.ExecutionEnvironmentBuilder} instead
|
||||
*/
|
||||
@TestOnly
|
||||
public ExecutionEnvironment(@NotNull final ProgramRunner runner,
|
||||
public ExecutionEnvironment(@NotNull Executor executor,
|
||||
@NotNull final ProgramRunner runner,
|
||||
@NotNull final ExecutionTarget target,
|
||||
@NotNull final RunnerAndConfigurationSettings configuration,
|
||||
Project project) {
|
||||
@NotNull Project project) {
|
||||
this(configuration.getConfiguration(),
|
||||
executor,
|
||||
target,
|
||||
project,
|
||||
configuration.getRunnerSettings(runner),
|
||||
@@ -109,12 +98,14 @@ public class ExecutionEnvironment extends UserDataHolderBase {
|
||||
* @deprecated, use {@link com.intellij.execution.runners.ExecutionEnvironmentBuilder} instead
|
||||
*/
|
||||
public ExecutionEnvironment(@NotNull RunProfile runProfile,
|
||||
@Nullable Project project,
|
||||
@NotNull Executor executor,
|
||||
@NotNull Project project,
|
||||
@Nullable RunnerSettings runnerSettings) {
|
||||
this(runProfile, DefaultExecutionTarget.INSTANCE, project, runnerSettings, null, null, null, null);
|
||||
this(runProfile, executor, DefaultExecutionTarget.INSTANCE, project, runnerSettings, null, null, null, null);
|
||||
}
|
||||
|
||||
public ExecutionEnvironment(@NotNull RunProfile runProfile,
|
||||
@NotNull Executor executor,
|
||||
@NotNull ExecutionTarget target,
|
||||
@Nullable Project project,
|
||||
@Nullable RunnerSettings runnerSettings,
|
||||
@@ -122,6 +113,7 @@ public class ExecutionEnvironment extends UserDataHolderBase {
|
||||
@Nullable RunContentDescriptor contentToReuse,
|
||||
@Nullable RunnerAndConfigurationSettings settings,
|
||||
@Nullable String runnerId) {
|
||||
myExecutor = executor;
|
||||
myTarget = target;
|
||||
myRunProfile = runProfile;
|
||||
myRunnerSettings = runnerSettings;
|
||||
@@ -140,24 +132,7 @@ public class ExecutionEnvironment extends UserDataHolderBase {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated, use {@link com.intellij.execution.runners.ExecutionEnvironmentBuilder} instead
|
||||
*/
|
||||
@Deprecated
|
||||
public ExecutionEnvironment(@NotNull final ProgramRunner runner,
|
||||
@NotNull final RunnerAndConfigurationSettings configuration,
|
||||
@NotNull final DataContext context) {
|
||||
this(configuration.getConfiguration(),
|
||||
DefaultExecutionTarget.INSTANCE,
|
||||
PlatformDataKeys.PROJECT.getData(context),
|
||||
configuration.getRunnerSettings(runner),
|
||||
configuration.getConfigurationSettings(runner),
|
||||
null,
|
||||
configuration,
|
||||
runner.getRunnerId());
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@NotNull
|
||||
public Project getProject() {
|
||||
return myProject;
|
||||
}
|
||||
@@ -211,8 +186,8 @@ public class ExecutionEnvironment extends UserDataHolderBase {
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public RunProfileState getState(final Executor executor) throws ExecutionException {
|
||||
return myRunProfile.getState(executor, this);
|
||||
public RunProfileState getState() throws ExecutionException {
|
||||
return myRunProfile.getState(myExecutor, this);
|
||||
}
|
||||
|
||||
public long assignNewExecutionId() {
|
||||
@@ -228,6 +203,11 @@ public class ExecutionEnvironment extends UserDataHolderBase {
|
||||
return myExecutionId;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public Executor getExecutor() {
|
||||
return myExecutor;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
if (myRunnerAndConfigurationSettings != null) {
|
||||
|
||||
+26
-2
@@ -17,6 +17,7 @@ package com.intellij.execution.runners;
|
||||
|
||||
import com.intellij.execution.DefaultExecutionTarget;
|
||||
import com.intellij.execution.ExecutionTarget;
|
||||
import com.intellij.execution.Executor;
|
||||
import com.intellij.execution.RunnerAndConfigurationSettings;
|
||||
import com.intellij.execution.configurations.ConfigurationPerRunnerSettings;
|
||||
import com.intellij.execution.configurations.RunProfile;
|
||||
@@ -43,16 +44,39 @@ public final class ExecutionEnvironmentBuilder {
|
||||
@Nullable private RunnerAndConfigurationSettings myRunnerAndConfigurationSettings;
|
||||
@Nullable private String myRunnerId;
|
||||
private boolean myAssignNewId;
|
||||
@NotNull private Executor myExecutor;
|
||||
|
||||
public ExecutionEnvironmentBuilder() {
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates an execution environment builder initialized with a copy of the specified environment.
|
||||
*
|
||||
* @param copySource the environment to copy from.
|
||||
*/
|
||||
public ExecutionEnvironmentBuilder(@NotNull ExecutionEnvironment copySource) {
|
||||
setTarget(copySource.getExecutionTarget());
|
||||
setProject(copySource.getProject());
|
||||
myRunnerAndConfigurationSettings = copySource.getRunnerAndConfigurationSettings();
|
||||
myRunProfile = copySource.getRunProfile();
|
||||
myRunnerSettings = copySource.getRunnerSettings();
|
||||
myConfigurationSettings = copySource.getConfigurationSettings();
|
||||
myRunnerId = copySource.getRunnerId();
|
||||
setContentToReuse(copySource.getContentToReuse());
|
||||
setExecutor(copySource.getExecutor());
|
||||
}
|
||||
|
||||
public ExecutionEnvironmentBuilder setExecutor(@NotNull Executor executor) {
|
||||
myExecutor = executor;
|
||||
return this;
|
||||
}
|
||||
|
||||
public ExecutionEnvironmentBuilder setTarget(@NotNull ExecutionTarget target) {
|
||||
myTarget = target;
|
||||
return this;
|
||||
}
|
||||
|
||||
public ExecutionEnvironmentBuilder setProject(@Nullable Project project) {
|
||||
public ExecutionEnvironmentBuilder setProject(@NotNull Project project) {
|
||||
check(myProject, "Project");
|
||||
myProject = project;
|
||||
return this;
|
||||
@@ -106,7 +130,7 @@ public final class ExecutionEnvironmentBuilder {
|
||||
@NotNull
|
||||
public ExecutionEnvironment build() {
|
||||
ExecutionEnvironment environment =
|
||||
new ExecutionEnvironment(myRunProfile, myTarget, myProject, myRunnerSettings, myConfigurationSettings, myContentToReuse,
|
||||
new ExecutionEnvironment(myRunProfile, myExecutor, myTarget, myProject, myRunnerSettings, myConfigurationSettings, myContentToReuse,
|
||||
myRunnerAndConfigurationSettings, myRunnerId);
|
||||
if (myAssignNewId) {
|
||||
environment.assignNewExecutionId();
|
||||
|
||||
@@ -19,7 +19,6 @@ package com.intellij.execution.runners;
|
||||
import com.intellij.execution.*;
|
||||
import com.intellij.execution.configurations.*;
|
||||
import com.intellij.execution.ui.RunContentDescriptor;
|
||||
import com.intellij.openapi.actionSystem.AnAction;
|
||||
import com.intellij.openapi.actionSystem.DataKey;
|
||||
import com.intellij.openapi.options.SettingsEditor;
|
||||
import com.intellij.openapi.project.Project;
|
||||
@@ -58,20 +57,17 @@ public abstract class GenericProgramRunner<Settings extends RunnerSettings> impl
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(@NotNull final Executor executor, @NotNull final ExecutionEnvironment environment) throws ExecutionException {
|
||||
execute(executor, environment, null);
|
||||
public void execute(@NotNull final ExecutionEnvironment environment) throws ExecutionException {
|
||||
execute(environment, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(@NotNull final Executor executor, @NotNull final ExecutionEnvironment env, @Nullable final Callback callback)
|
||||
public void execute(@NotNull final ExecutionEnvironment env, @Nullable final Callback callback)
|
||||
throws ExecutionException {
|
||||
|
||||
final Project project = env.getProject();
|
||||
if (project == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
final RunProfileState state = env.getState(executor);
|
||||
final RunProfileState state = env.getState();
|
||||
if (state == null) {
|
||||
return;
|
||||
}
|
||||
@@ -85,19 +81,19 @@ public abstract class GenericProgramRunner<Settings extends RunnerSettings> impl
|
||||
@NotNull RunProfileState state,
|
||||
@Nullable RunContentDescriptor contentToReuse,
|
||||
@NotNull ExecutionEnvironment env) throws ExecutionException {
|
||||
final RunContentDescriptor descriptor = doExecute(project, executor, state, contentToReuse, env);
|
||||
final RunContentDescriptor descriptor = doExecute(project, state, contentToReuse, env);
|
||||
if (descriptor != null) {
|
||||
descriptor.setExecutionId(env.getExecutionId());
|
||||
}
|
||||
if (callback != null) callback.processStarted(descriptor);
|
||||
return descriptor;
|
||||
}
|
||||
}, state, project, executor, env);
|
||||
}, state, env);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
protected abstract RunContentDescriptor doExecute(final Project project, final Executor executor, final RunProfileState state,
|
||||
final RunContentDescriptor contentToReuse,
|
||||
final ExecutionEnvironment env) throws ExecutionException;
|
||||
protected abstract RunContentDescriptor doExecute(final Project project, final RunProfileState state,
|
||||
final RunContentDescriptor contentToReuse,
|
||||
final ExecutionEnvironment env) throws ExecutionException;
|
||||
|
||||
}
|
||||
|
||||
@@ -81,6 +81,6 @@ public interface ProgramRunner<Settings extends RunnerSettings> {
|
||||
@Nullable
|
||||
SettingsEditor<Settings> getSettingsEditor(Executor executor, RunConfiguration configuration);
|
||||
|
||||
void execute(@NotNull Executor executor, @NotNull ExecutionEnvironment environment) throws ExecutionException;
|
||||
void execute(@NotNull Executor executor, @NotNull ExecutionEnvironment environment, @Nullable Callback callback) throws ExecutionException;
|
||||
void execute(@NotNull ExecutionEnvironment environment) throws ExecutionException;
|
||||
void execute(@NotNull ExecutionEnvironment environment, @Nullable Callback callback) throws ExecutionException;
|
||||
}
|
||||
@@ -47,11 +47,18 @@ public interface RunContentManager {
|
||||
@Nullable
|
||||
RunContentDescriptor getReuseContent(Executor requestor, @Nullable RunContentDescriptor contentToReuse);
|
||||
|
||||
/**
|
||||
* @deprecated use {@link #getReuseContent(ExecutionEnvironment)}
|
||||
*/
|
||||
@Deprecated
|
||||
@Nullable
|
||||
RunContentDescriptor getReuseContent(Executor requestor, @NotNull ExecutionEnvironment executionEnvironment);
|
||||
|
||||
@Nullable
|
||||
RunContentDescriptor getReuseContent(@NotNull ExecutionEnvironment executionEnvironment);
|
||||
|
||||
/**
|
||||
* @deprecated use {@link #getReuseContent(com.intellij.execution.Executor, ExecutionEnvironment)}
|
||||
* @deprecated use {@link #getReuseContent(ExecutionEnvironment)}
|
||||
*/
|
||||
@Deprecated
|
||||
@Nullable
|
||||
|
||||
@@ -98,8 +98,8 @@ public class ProgramRunnerUtil {
|
||||
}
|
||||
|
||||
try {
|
||||
runner.execute(executor, new ExecutionEnvironmentBuilder().setRunnerAndSettings(runner, configuration).setTarget(target)
|
||||
.setContentToReuse(contentToReuse).setProject(project).assignNewId().build());
|
||||
runner.execute(new ExecutionEnvironmentBuilder().setRunnerAndSettings(runner, configuration).setTarget(target)
|
||||
.setContentToReuse(contentToReuse).setProject(project).setExecutor(executor).assignNewId().build());
|
||||
}
|
||||
catch (ExecutionException e) {
|
||||
ExecutionUtil.handleExecutionError(project, executor.getToolWindowId(), configuration.getConfiguration(), e);
|
||||
|
||||
@@ -23,6 +23,7 @@ import com.intellij.execution.process.ProcessAdapter;
|
||||
import com.intellij.execution.process.ProcessEvent;
|
||||
import com.intellij.execution.process.ProcessHandler;
|
||||
import com.intellij.execution.runners.ExecutionEnvironment;
|
||||
import com.intellij.execution.runners.ExecutionEnvironmentBuilder;
|
||||
import com.intellij.execution.runners.ExecutionUtil;
|
||||
import com.intellij.execution.runners.ProgramRunner;
|
||||
import com.intellij.execution.ui.RunContentDescriptor;
|
||||
@@ -132,7 +133,6 @@ public class ExecutionManagerImpl extends ExecutionManager implements ProjectCom
|
||||
activeTasks.addAll(runManager.getBeforeRunTasks(runConfiguration));
|
||||
|
||||
final DataContext projectContext = SimpleDataContext.getProjectContext(myProject);
|
||||
final DataContext dataContext = SimpleDataContext.getSimpleContext(BeforeRunTaskProvider.RUNNER_ID, env.getRunnerId(), projectContext);
|
||||
|
||||
if (!activeTasks.isEmpty()) {
|
||||
final long finalId = id;
|
||||
@@ -148,16 +148,9 @@ public class ExecutionManagerImpl extends ExecutionManager implements ProjectCom
|
||||
LOG.warn("Cannot find BeforeRunTaskProvider for id='" + task.getProviderId() + "'");
|
||||
continue;
|
||||
}
|
||||
ExecutionEnvironment taskEnvironment = new ExecutionEnvironment(env.getRunProfile(),
|
||||
env.getExecutionTarget(),
|
||||
env.getProject(),
|
||||
env.getRunnerSettings(),
|
||||
env.getConfigurationSettings(),
|
||||
null,
|
||||
env.getRunnerAndConfigurationSettings(),
|
||||
env.getRunnerId());
|
||||
ExecutionEnvironment taskEnvironment = new ExecutionEnvironmentBuilder(env).setContentToReuse(null).build();
|
||||
taskEnvironment.setExecutionId(finalId);
|
||||
if (!provider.executeTask(dataContext, runConfiguration, taskEnvironment, task)) {
|
||||
if (!provider.executeTask(projectContext, runConfiguration, taskEnvironment, task)) {
|
||||
if (onCancelRunnable != null) {
|
||||
SwingUtilities.invokeLater(onCancelRunnable);
|
||||
}
|
||||
@@ -190,7 +183,7 @@ public class ExecutionManagerImpl extends ExecutionManager implements ProjectCom
|
||||
public void startRunProfile(@NotNull final RunProfileStarter starter, @NotNull final RunProfileState state,
|
||||
@NotNull final Project project, @NotNull final Executor executor, @NotNull final ExecutionEnvironment env) {
|
||||
final RunContentDescriptor reuseContent =
|
||||
ExecutionManager.getInstance(project).getContentManager().getReuseContent(executor, env);
|
||||
ExecutionManager.getInstance(project).getContentManager().getReuseContent(env);
|
||||
if (reuseContent != null) {
|
||||
reuseContent.setExecutionId(env.getExecutionId());
|
||||
}
|
||||
@@ -255,6 +248,11 @@ public class ExecutionManagerImpl extends ExecutionManager implements ProjectCom
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void startRunProfile(@NotNull RunProfileStarter starter, @NotNull RunProfileState state, @NotNull ExecutionEnvironment env) {
|
||||
startRunProfile(starter, state, env.getProject(), env.getExecutor(), env);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void restartRunProfile(@NotNull final Project project,
|
||||
@NotNull final Executor executor,
|
||||
@@ -283,17 +281,15 @@ public class ExecutionManagerImpl extends ExecutionManager implements ProjectCom
|
||||
}
|
||||
|
||||
@Override
|
||||
public void restartRunProfile(@NotNull Project project,
|
||||
@NotNull Executor executor,
|
||||
@Nullable ProgramRunner runner,
|
||||
public void restartRunProfile(@Nullable ProgramRunner runner,
|
||||
@NotNull ExecutionEnvironment environment,
|
||||
@Nullable RunContentDescriptor currentDescriptor) {
|
||||
restartRunProfile(project,
|
||||
restartRunProfile(environment.getProject(),
|
||||
runner,
|
||||
environment.getRunProfile(),
|
||||
environment.getRunnerSettings(),
|
||||
environment.getConfigurationSettings(),
|
||||
executor,
|
||||
environment.getExecutor(),
|
||||
environment.getExecutionTarget(),
|
||||
environment.getRunnerAndConfigurationSettings(), currentDescriptor);
|
||||
}
|
||||
@@ -364,14 +360,15 @@ public class ExecutionManagerImpl extends ExecutionManager implements ProjectCom
|
||||
Runnable restarter = descriptor != null ? descriptor.getRestarter() : null;
|
||||
if (runner != null && runProfile != null) {
|
||||
try {
|
||||
runner.execute(executor, new ExecutionEnvironment(runProfile,
|
||||
target,
|
||||
project,
|
||||
runnerSettings,
|
||||
configurationPerRunnerSettings,
|
||||
descriptor,
|
||||
configuration,
|
||||
runner.getRunnerId()));
|
||||
runner.execute(new ExecutionEnvironment(runProfile,
|
||||
executor,
|
||||
target,
|
||||
project,
|
||||
runnerSettings,
|
||||
configurationPerRunnerSettings,
|
||||
descriptor,
|
||||
configuration,
|
||||
runner.getRunnerId()));
|
||||
}
|
||||
catch (RunCanceledByUserException ignore) {
|
||||
}
|
||||
|
||||
+2
-2
@@ -179,7 +179,7 @@ extends BeforeRunTaskProvider<RunConfigurationBeforeRunProvider.RunConfigurableB
|
||||
final ProgramRunner runner = ProgramRunnerUtil.getRunner(executorId, settings);
|
||||
if (runner == null)
|
||||
return false;
|
||||
final ExecutionEnvironment environment = new ExecutionEnvironment(runner, settings, myProject);
|
||||
final ExecutionEnvironment environment = new ExecutionEnvironment(executor, runner, settings, myProject);
|
||||
environment.setExecutionId(env.getExecutionId());
|
||||
if (!ExecutionTargetManager.canRun(settings, env.getExecutionTarget())) {
|
||||
return false;
|
||||
@@ -199,7 +199,7 @@ extends BeforeRunTaskProvider<RunConfigurationBeforeRunProvider.RunConfigurableB
|
||||
public void run() {
|
||||
targetDone.down();
|
||||
try {
|
||||
runner.execute(executor, environment, new ProgramRunner.Callback() {
|
||||
runner.execute(environment, new ProgramRunner.Callback() {
|
||||
@Override
|
||||
public void processStarted(RunContentDescriptor descriptor) {
|
||||
ProcessHandler processHandler = descriptor != null ? descriptor.getProcessHandler() : null;
|
||||
|
||||
@@ -18,7 +18,6 @@ package com.intellij.execution.runners;
|
||||
|
||||
import com.intellij.execution.ExecutionException;
|
||||
import com.intellij.execution.ExecutionResult;
|
||||
import com.intellij.execution.Executor;
|
||||
import com.intellij.execution.configurations.RunProfileState;
|
||||
import com.intellij.execution.ui.RunContentDescriptor;
|
||||
import com.intellij.openapi.fileEditor.FileDocumentManager;
|
||||
@@ -30,13 +29,15 @@ import com.intellij.openapi.project.Project;
|
||||
public abstract class DefaultProgramRunner extends GenericProgramRunner {
|
||||
|
||||
@Override
|
||||
protected RunContentDescriptor doExecute(final Project project, final Executor executor, final RunProfileState state, final RunContentDescriptor contentToReuse,
|
||||
protected RunContentDescriptor doExecute(final Project project,
|
||||
final RunProfileState state,
|
||||
final RunContentDescriptor contentToReuse,
|
||||
final ExecutionEnvironment env) throws ExecutionException {
|
||||
FileDocumentManager.getInstance().saveAllDocuments();
|
||||
ExecutionResult executionResult = state.execute(executor, this);
|
||||
ExecutionResult executionResult = state.execute(env.getExecutor(), this);
|
||||
if (executionResult == null) return null;
|
||||
|
||||
final RunContentBuilder contentBuilder = new RunContentBuilder(project, this, executor, executionResult, env);
|
||||
final RunContentBuilder contentBuilder = new RunContentBuilder(this, executionResult, env);
|
||||
return contentBuilder.showRunContent(contentToReuse);
|
||||
}
|
||||
|
||||
|
||||
@@ -105,8 +105,8 @@ public class RestartAction extends FakeRerunAction implements DumbAware, AnActio
|
||||
|
||||
public void restart() {
|
||||
Project project = myEnvironment.getProject();
|
||||
if (project != null && !ExecutorRegistry.getInstance().isStarting(project, myExecutor.getId(), myRunner.getRunnerId()))
|
||||
ExecutionManager.getInstance(project).restartRunProfile(project, myExecutor, myRunner, myEnvironment, myDescriptor);
|
||||
if (!ExecutorRegistry.getInstance().isStarting(project, myExecutor.getId(), myRunner.getRunnerId()))
|
||||
ExecutionManager.getInstance(project).restartRunProfile(myRunner, myEnvironment, myDescriptor);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -60,15 +60,24 @@ public class RunContentBuilder extends LogConsoleManagerBase {
|
||||
private RunnerLayoutUi myUi;
|
||||
private final Executor myExecutor;
|
||||
|
||||
/**
|
||||
* @deprecated use {@link #RunContentBuilder(ProgramRunner, com.intellij.execution.ExecutionResult, ExecutionEnvironment)}
|
||||
*/
|
||||
public RunContentBuilder(@NotNull Project project,
|
||||
ProgramRunner runner,
|
||||
Executor executor,
|
||||
ExecutionResult executionResult,
|
||||
@NotNull ExecutionEnvironment environment) {
|
||||
super(project, createSearchScope(project, environment.getRunProfile()));
|
||||
this(runner, executionResult, environment);
|
||||
}
|
||||
|
||||
public RunContentBuilder(ProgramRunner runner,
|
||||
ExecutionResult executionResult,
|
||||
@NotNull ExecutionEnvironment environment) {
|
||||
super(environment.getProject(), createSearchScope(environment.getProject(), environment.getRunProfile()));
|
||||
myRunner = runner;
|
||||
myExecutor = executor;
|
||||
myManager = new LogFilesManager(project, this, this);
|
||||
myExecutor = environment.getExecutor();
|
||||
myManager = new LogFilesManager(environment.getProject(), this, this);
|
||||
myExecutionResult = executionResult;
|
||||
setEnvironment(environment);
|
||||
}
|
||||
|
||||
@@ -392,11 +392,17 @@ public class RunContentManagerImpl implements RunContentManager, Disposable {
|
||||
@Nullable
|
||||
@Override
|
||||
public RunContentDescriptor getReuseContent(Executor requestor, @NotNull ExecutionEnvironment executionEnvironment) {
|
||||
return getReuseContent(executionEnvironment);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public RunContentDescriptor getReuseContent(@NotNull ExecutionEnvironment executionEnvironment) {
|
||||
if (ApplicationManager.getApplication().isUnitTestMode()) return null;
|
||||
RunContentDescriptor contentToReuse = executionEnvironment.getContentToReuse();
|
||||
if (contentToReuse != null) return contentToReuse;
|
||||
|
||||
final ContentManager contentManager = getContentManagerForRunner(requestor);
|
||||
final ContentManager contentManager = getContentManagerForRunner(executionEnvironment.getExecutor());
|
||||
return chooseReuseContentForDescriptor(contentManager, contentToReuse, executionEnvironment.getExecutionId(),
|
||||
executionEnvironment.toString());
|
||||
}
|
||||
|
||||
@@ -279,9 +279,13 @@ public class Tool implements SchemeElement {
|
||||
final ProgramRunner runner = RunnerRegistry.getInstance().getRunner(DefaultRunExecutor.EXECUTOR_ID, profile);
|
||||
assert runner != null;
|
||||
|
||||
ExecutionEnvironment executionEnvironment = new ExecutionEnvironmentBuilder().setRunProfile(profile).setProject(project).build();
|
||||
ExecutionEnvironment executionEnvironment = new ExecutionEnvironmentBuilder()
|
||||
.setRunProfile(profile)
|
||||
.setProject(project)
|
||||
.setExecutor(new DefaultRunExecutor())
|
||||
.build();
|
||||
executionEnvironment.setExecutionId(executionId);
|
||||
runner.execute(new DefaultRunExecutor(), executionEnvironment, new ProgramRunner.Callback() {
|
||||
runner.execute(executionEnvironment, new ProgramRunner.Callback() {
|
||||
@Override
|
||||
public void processStarted(RunContentDescriptor descriptor) {
|
||||
ProcessHandler processHandler = descriptor.getProcessHandler();
|
||||
|
||||
+11
-21
@@ -18,15 +18,13 @@ package com.intellij.execution.testframework.sm;
|
||||
import com.intellij.execution.ExecutionException;
|
||||
import com.intellij.execution.Executor;
|
||||
import com.intellij.execution.configurations.CommandLineState;
|
||||
import com.intellij.execution.configurations.ConfigurationPerRunnerSettings;
|
||||
import com.intellij.execution.configurations.RunnerSettings;
|
||||
import com.intellij.execution.configurations.RuntimeConfiguration;
|
||||
import com.intellij.execution.process.ProcessAdapter;
|
||||
import com.intellij.execution.process.ProcessEvent;
|
||||
import com.intellij.execution.process.ProcessHandler;
|
||||
import com.intellij.execution.runners.ExecutionEnvironment;
|
||||
import com.intellij.execution.testframework.TestConsoleProperties;
|
||||
import com.intellij.execution.testframework.sm.runner.*;
|
||||
import com.intellij.execution.testframework.sm.runner.TestProxyFilterProvider;
|
||||
import com.intellij.execution.testframework.sm.runner.ui.*;
|
||||
import com.intellij.execution.testframework.sm.runner.ui.statistics.StatisticsPanel;
|
||||
import com.intellij.execution.testframework.ui.BaseTestsOutputConsoleView;
|
||||
@@ -70,23 +68,20 @@ public class SMTestRunnerConnectionUtil {
|
||||
public static BaseTestsOutputConsoleView createAndAttachConsole(@NotNull final String testFrameworkName,
|
||||
@NotNull final ProcessHandler processHandler,
|
||||
@NotNull final TestConsoleProperties consoleProperties,
|
||||
final RunnerSettings runnerSettings,
|
||||
final ConfigurationPerRunnerSettings configurationSettings
|
||||
ExecutionEnvironment environment
|
||||
) throws ExecutionException {
|
||||
BaseTestsOutputConsoleView console = createConsole(testFrameworkName, consoleProperties, runnerSettings, configurationSettings);
|
||||
BaseTestsOutputConsoleView console = createConsole(testFrameworkName, consoleProperties, environment);
|
||||
console.attachToProcess(processHandler);
|
||||
return console;
|
||||
}
|
||||
|
||||
public static BaseTestsOutputConsoleView createConsoleWithCustomLocator(@NotNull final String testFrameworkName,
|
||||
@NotNull final TestConsoleProperties consoleProperties,
|
||||
final RunnerSettings runnerSettings,
|
||||
final ConfigurationPerRunnerSettings configurationSettings,
|
||||
ExecutionEnvironment environment,
|
||||
@Nullable final TestLocationProvider locator) {
|
||||
return createConsoleWithCustomLocator(testFrameworkName,
|
||||
consoleProperties,
|
||||
runnerSettings,
|
||||
configurationSettings,
|
||||
environment,
|
||||
new CompositeTestLocationProvider(locator),
|
||||
false,
|
||||
null);
|
||||
@@ -94,15 +89,13 @@ public class SMTestRunnerConnectionUtil {
|
||||
|
||||
public static SMTRunnerConsoleView createConsoleWithCustomLocator(@NotNull final String testFrameworkName,
|
||||
@NotNull final TestConsoleProperties consoleProperties,
|
||||
final RunnerSettings runnerSettings,
|
||||
final ConfigurationPerRunnerSettings configurationSettings,
|
||||
ExecutionEnvironment environment,
|
||||
@Nullable final TestLocationProvider locator,
|
||||
final boolean idBasedTreeConstruction,
|
||||
@Nullable final TestProxyFilterProvider filterProvider) {
|
||||
String splitterPropertyName = getSplitterPropertyName(testFrameworkName);
|
||||
SMTRunnerConsoleView consoleView = new SMTRunnerConsoleView(consoleProperties,
|
||||
runnerSettings,
|
||||
configurationSettings,
|
||||
environment,
|
||||
splitterPropertyName);
|
||||
initConsoleView(consoleView, testFrameworkName, locator, idBasedTreeConstruction, filterProvider);
|
||||
return consoleView;
|
||||
@@ -142,10 +135,9 @@ public class SMTestRunnerConnectionUtil {
|
||||
|
||||
public static BaseTestsOutputConsoleView createConsole(@NotNull final String testFrameworkName,
|
||||
@NotNull final TestConsoleProperties consoleProperties,
|
||||
final RunnerSettings runnerSettings,
|
||||
final ConfigurationPerRunnerSettings configurationSettings) {
|
||||
ExecutionEnvironment environment) {
|
||||
|
||||
return createConsoleWithCustomLocator(testFrameworkName, consoleProperties, runnerSettings, configurationSettings, null);
|
||||
return createConsoleWithCustomLocator(testFrameworkName, consoleProperties, environment, null);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -203,8 +195,7 @@ public class SMTestRunnerConnectionUtil {
|
||||
final TestConsoleProperties consoleProperties = new SMTRunnerConsoleProperties(config, testFrameworkName, executor);
|
||||
|
||||
return createAndAttachConsole(testFrameworkName, processHandler, consoleProperties,
|
||||
commandLineState.getRunnerSettings(),
|
||||
commandLineState.getConfigurationSettings());
|
||||
commandLineState.getEnvironment());
|
||||
}
|
||||
|
||||
public static ConsoleView createConsole(@NotNull final String testFrameworkName,
|
||||
@@ -217,8 +208,7 @@ public class SMTestRunnerConnectionUtil {
|
||||
|
||||
return createConsole(testFrameworkName,
|
||||
consoleProperties,
|
||||
commandLineState.getRunnerSettings(),
|
||||
commandLineState.getConfigurationSettings());
|
||||
commandLineState.getEnvironment());
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+8
-12
@@ -15,10 +15,9 @@
|
||||
*/
|
||||
package com.intellij.execution.testframework.sm.runner.ui;
|
||||
|
||||
import com.intellij.execution.configurations.ConfigurationPerRunnerSettings;
|
||||
import com.intellij.execution.configurations.RunnerSettings;
|
||||
import com.intellij.execution.filters.HyperlinkInfo;
|
||||
import com.intellij.execution.process.ProcessHandler;
|
||||
import com.intellij.execution.runners.ExecutionEnvironment;
|
||||
import com.intellij.execution.testframework.*;
|
||||
import com.intellij.execution.testframework.sm.SMRunnerUtil;
|
||||
import com.intellij.execution.testframework.sm.runner.SMTestProxy;
|
||||
@@ -36,15 +35,13 @@ import java.util.List;
|
||||
* @author: Roman Chernyatchik
|
||||
*/
|
||||
public class SMTRunnerConsoleView extends BaseTestsOutputConsoleView {
|
||||
private final ExecutionEnvironment myEnvironment;
|
||||
private SMTestRunnerResultsForm myResultsViewer;
|
||||
private final RunnerSettings myRunnerSettings;
|
||||
private final ConfigurationPerRunnerSettings myConfigurationPerRunnerSettings;
|
||||
@Nullable private final String mySplitterProperty;
|
||||
private final List<AttachToProcessListener> myAttachToProcessListeners = ContainerUtil.createEmptyCOWList();
|
||||
|
||||
public SMTRunnerConsoleView(final TestConsoleProperties consoleProperties, final RunnerSettings runnerSettings,
|
||||
final ConfigurationPerRunnerSettings configurationPerRunnerSettings) {
|
||||
this(consoleProperties, runnerSettings, configurationPerRunnerSettings, null);
|
||||
public SMTRunnerConsoleView(final TestConsoleProperties consoleProperties, final ExecutionEnvironment environment) {
|
||||
this(consoleProperties, environment, null);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -53,12 +50,11 @@ public class SMTRunnerConsoleView extends BaseTestsOutputConsoleView {
|
||||
* @param configurationPerRunnerSettings
|
||||
* @param splitterProperty Key to store(project level) latest value of testTree/consoleTab splitter. E.g. "RSpec.Splitter.Proportion"
|
||||
*/
|
||||
public SMTRunnerConsoleView(final TestConsoleProperties consoleProperties, final RunnerSettings runnerSettings,
|
||||
final ConfigurationPerRunnerSettings configurationPerRunnerSettings,
|
||||
public SMTRunnerConsoleView(final TestConsoleProperties consoleProperties,
|
||||
final ExecutionEnvironment environment,
|
||||
@Nullable final String splitterProperty) {
|
||||
super(consoleProperties, null);
|
||||
myRunnerSettings = runnerSettings;
|
||||
myConfigurationPerRunnerSettings = configurationPerRunnerSettings;
|
||||
myEnvironment = environment;
|
||||
mySplitterProperty = splitterProperty;
|
||||
}
|
||||
|
||||
@@ -68,7 +64,7 @@ public class SMTRunnerConsoleView extends BaseTestsOutputConsoleView {
|
||||
getConsole().getComponent(),
|
||||
getConsole().createConsoleActions(),
|
||||
myProperties,
|
||||
myRunnerSettings, myConfigurationPerRunnerSettings,
|
||||
myEnvironment,
|
||||
mySplitterProperty);
|
||||
return myResultsViewer;
|
||||
}
|
||||
|
||||
+3
-13
@@ -15,12 +15,10 @@
|
||||
*/
|
||||
package com.intellij.execution.testframework.sm.runner.ui;
|
||||
|
||||
import com.intellij.execution.configurations.ConfigurationPerRunnerSettings;
|
||||
import com.intellij.execution.configurations.RunnerSettings;
|
||||
import com.intellij.execution.runners.ExecutionEnvironment;
|
||||
import com.intellij.execution.testframework.TestConsoleProperties;
|
||||
import com.intellij.execution.testframework.TestFrameworkRunningModel;
|
||||
import com.intellij.execution.testframework.ToolbarPanel;
|
||||
import com.intellij.openapi.actionSystem.DefaultActionGroup;
|
||||
|
||||
import javax.swing.*;
|
||||
|
||||
@@ -29,22 +27,14 @@ import javax.swing.*;
|
||||
*/
|
||||
public class SMTRunnerToolbarPanel extends ToolbarPanel {
|
||||
public SMTRunnerToolbarPanel(final TestConsoleProperties properties,
|
||||
final RunnerSettings runnerSettings,
|
||||
final ConfigurationPerRunnerSettings configurationSettings,
|
||||
final ExecutionEnvironment environment,
|
||||
final TestFrameworkRunningModel model, JComponent contentPane) {
|
||||
super(properties, runnerSettings, configurationSettings, contentPane);
|
||||
super(properties, environment, contentPane);
|
||||
//TODO rerun failed test
|
||||
//TODO coverage
|
||||
setModel(model);
|
||||
}
|
||||
|
||||
protected void appendAdditionalActions(final DefaultActionGroup actionGroup,
|
||||
final TestConsoleProperties properties,
|
||||
final RunnerSettings runnerSettings,
|
||||
final ConfigurationPerRunnerSettings configurationSettings, JComponent parent) {
|
||||
//To change body of implemented methods use File | Settings | File Templates.
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setModel(final TestFrameworkRunningModel model) {
|
||||
//TODO: RunningTestTracker - for tracking current test
|
||||
|
||||
+6
-9
@@ -15,9 +15,8 @@
|
||||
*/
|
||||
package com.intellij.execution.testframework.sm.runner.ui;
|
||||
|
||||
import com.intellij.execution.configurations.ConfigurationPerRunnerSettings;
|
||||
import com.intellij.execution.configurations.RunConfigurationBase;
|
||||
import com.intellij.execution.configurations.RunnerSettings;
|
||||
import com.intellij.execution.runners.ExecutionEnvironment;
|
||||
import com.intellij.execution.testframework.*;
|
||||
import com.intellij.execution.testframework.sm.SMRunnerUtil;
|
||||
import com.intellij.execution.testframework.sm.runner.SMTRunnerEventsListener;
|
||||
@@ -93,19 +92,17 @@ public class SMTestRunnerResultsForm extends TestResultsPanel
|
||||
public SMTestRunnerResultsForm(final RunConfigurationBase runConfiguration,
|
||||
@NotNull final JComponent console,
|
||||
final TestConsoleProperties consoleProperties,
|
||||
final RunnerSettings runnerSettings,
|
||||
final ConfigurationPerRunnerSettings configurationSettings) {
|
||||
this(runConfiguration, console, AnAction.EMPTY_ARRAY, consoleProperties, runnerSettings, configurationSettings, null);
|
||||
final ExecutionEnvironment environment) {
|
||||
this(runConfiguration, console, AnAction.EMPTY_ARRAY, consoleProperties, environment, null);
|
||||
}
|
||||
|
||||
public SMTestRunnerResultsForm(final RunConfigurationBase runConfiguration,
|
||||
@NotNull final JComponent console,
|
||||
AnAction[] consoleActions,
|
||||
final TestConsoleProperties consoleProperties,
|
||||
final RunnerSettings runnerSettings,
|
||||
final ConfigurationPerRunnerSettings configurationSettings,
|
||||
final ExecutionEnvironment environment,
|
||||
final String splitterPropertyName) {
|
||||
super(console, consoleActions, consoleProperties, runnerSettings, configurationSettings,
|
||||
super(console, consoleActions, consoleProperties, environment,
|
||||
splitterPropertyName != null ? DEFAULT_SM_RUNNER_SPLITTER_PROPERTY : splitterPropertyName, 0.5f);
|
||||
myConsoleProperties = consoleProperties;
|
||||
|
||||
@@ -142,7 +139,7 @@ public class SMTestRunnerResultsForm extends TestResultsPanel
|
||||
}
|
||||
|
||||
protected ToolbarPanel createToolbarPanel() {
|
||||
return new SMTRunnerToolbarPanel(myConsoleProperties, myRunnerSettings, myConfigurationSettings, this, this);
|
||||
return new SMTRunnerToolbarPanel(myConsoleProperties, myEnvironment, this, this);
|
||||
}
|
||||
|
||||
protected JComponent createTestTreeView() {
|
||||
|
||||
+4
-7
@@ -15,8 +15,6 @@
|
||||
*/
|
||||
package com.intellij.execution.testframework.sm.runner;
|
||||
|
||||
import com.intellij.execution.configurations.ConfigurationPerRunnerSettings;
|
||||
import com.intellij.execution.configurations.RunnerSettings;
|
||||
import com.intellij.execution.runners.ExecutionEnvironment;
|
||||
import com.intellij.execution.testframework.AbstractTestProxy;
|
||||
import com.intellij.execution.testframework.TestConsoleProperties;
|
||||
@@ -29,8 +27,8 @@ import com.intellij.execution.testframework.sm.runner.ui.SMTestRunnerResultsForm
|
||||
import com.intellij.execution.testframework.ui.TestsOutputConsolePrinter;
|
||||
import com.intellij.execution.ui.ConsoleViewContentType;
|
||||
import com.intellij.openapi.util.Disposer;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import javax.swing.tree.DefaultMutableTreeNode;
|
||||
import javax.swing.tree.TreeModel;
|
||||
@@ -50,9 +48,8 @@ public class GeneralToSMTRunnerEventsConvertorTest extends BaseSMTRunnerTestCase
|
||||
private class MyConsoleView extends SMTRunnerConsoleView {
|
||||
private final TestsOutputConsolePrinter myTestsOutputConsolePrinter;
|
||||
|
||||
private MyConsoleView(final TestConsoleProperties consoleProperties, final RunnerSettings runnerSettings,
|
||||
final ConfigurationPerRunnerSettings configurationPerRunnerSettings) {
|
||||
super(consoleProperties, runnerSettings, configurationPerRunnerSettings);
|
||||
private MyConsoleView(final TestConsoleProperties consoleProperties, final ExecutionEnvironment environment) {
|
||||
super(consoleProperties, environment);
|
||||
|
||||
myTestsOutputConsolePrinter = new TestsOutputConsolePrinter(MyConsoleView.this, consoleProperties, null) {
|
||||
@Override
|
||||
@@ -81,7 +78,7 @@ public class GeneralToSMTRunnerEventsConvertorTest extends BaseSMTRunnerTestCase
|
||||
|
||||
final ExecutionEnvironment environment = new ExecutionEnvironment();
|
||||
myMockResettablePrinter = new MockPrinter(true);
|
||||
myConsole = new MyConsoleView(consoleProperties, environment.getRunnerSettings(), environment.getConfigurationSettings());
|
||||
myConsole = new MyConsoleView(consoleProperties, environment);
|
||||
myConsole.initUI();
|
||||
myResultsViewer = myConsole.getResultsViewer();
|
||||
myEventsProcessor = new GeneralToSMTRunnerEventsConvertor(myResultsViewer.getTestsRootNode(), "SMTestFramework");
|
||||
|
||||
+3
-6
@@ -15,8 +15,6 @@
|
||||
*/
|
||||
package com.intellij.execution.testframework.sm.runner;
|
||||
|
||||
import com.intellij.execution.configurations.ConfigurationPerRunnerSettings;
|
||||
import com.intellij.execution.configurations.RunnerSettings;
|
||||
import com.intellij.execution.process.ProcessOutputTypes;
|
||||
import com.intellij.execution.runners.ExecutionEnvironment;
|
||||
import com.intellij.execution.testframework.Printable;
|
||||
@@ -44,9 +42,8 @@ public class SMTRunnerConsoleTest extends BaseSMTRunnerTestCase {
|
||||
private class MyConsoleView extends SMTRunnerConsoleView {
|
||||
private final TestsOutputConsolePrinter myTestsOutputConsolePrinter;
|
||||
|
||||
private MyConsoleView(final TestConsoleProperties consoleProperties, final RunnerSettings runnerSettings,
|
||||
final ConfigurationPerRunnerSettings configurationPerRunnerSettings) {
|
||||
super(consoleProperties, runnerSettings, configurationPerRunnerSettings);
|
||||
private MyConsoleView(final TestConsoleProperties consoleProperties, final ExecutionEnvironment environment) {
|
||||
super(consoleProperties, environment);
|
||||
|
||||
myTestsOutputConsolePrinter = new TestsOutputConsolePrinter(MyConsoleView.this, consoleProperties, null) {
|
||||
@Override
|
||||
@@ -70,7 +67,7 @@ public class SMTRunnerConsoleTest extends BaseSMTRunnerTestCase {
|
||||
final ExecutionEnvironment environment = new ExecutionEnvironment();
|
||||
|
||||
myMockResettablePrinter = new MockPrinter(true);
|
||||
myConsole = new MyConsoleView(consoleProperties, environment.getRunnerSettings(), environment.getConfigurationSettings());
|
||||
myConsole = new MyConsoleView(consoleProperties, environment);
|
||||
myConsole.initUI();
|
||||
myResultsViewer = myConsole.getResultsViewer();
|
||||
myRootSuite = myResultsViewer.getTestsRootNode();
|
||||
|
||||
+1
-1
@@ -57,7 +57,7 @@ public class SMTestRunnerResultsFormTest extends BaseSMTRunnerTestCase {
|
||||
|
||||
final ExecutionEnvironment environment = new ExecutionEnvironment();
|
||||
|
||||
myConsole = new SMTRunnerConsoleView(myConsoleProperties, environment.getRunnerSettings(), environment.getConfigurationSettings());
|
||||
myConsole = new SMTRunnerConsoleView(myConsoleProperties, environment);
|
||||
myConsole.initUI();
|
||||
myResultsViewer = myConsole.getResultsViewer();
|
||||
myTestsRootNode = myResultsViewer.getTestsRootNode();
|
||||
|
||||
+1
-2
@@ -51,8 +51,7 @@ public class SMTRunnerStatisticsPanelTest extends BaseSMTRunnerTestCase {
|
||||
myResultsForm = new SMTestRunnerResultsForm(consoleProperties.getConfiguration(),
|
||||
new JLabel(),
|
||||
consoleProperties,
|
||||
environment.getRunnerSettings(),
|
||||
environment.getConfigurationSettings());
|
||||
environment);
|
||||
myResultsForm.initUI();
|
||||
myStatisticsPanel = myResultsForm.getStatisticsPane();
|
||||
myTestEventsListener = myStatisticsPanel.createTestEventsListener();
|
||||
|
||||
@@ -21,8 +21,7 @@
|
||||
package com.intellij.execution.testframework;
|
||||
|
||||
import com.intellij.execution.ExecutionBundle;
|
||||
import com.intellij.execution.configurations.ConfigurationPerRunnerSettings;
|
||||
import com.intellij.execution.configurations.RunnerSettings;
|
||||
import com.intellij.execution.runners.ExecutionEnvironment;
|
||||
import com.intellij.execution.testframework.actions.ScrollToTestSourceAction;
|
||||
import com.intellij.execution.testframework.actions.ShowStatisticsAction;
|
||||
import com.intellij.execution.testframework.actions.TestFrameworkActions;
|
||||
@@ -53,8 +52,7 @@ public class ToolbarPanel extends JPanel implements OccurenceNavigator, Disposab
|
||||
private final ArrayList<ToggleModelAction> myActions = new ArrayList<ToggleModelAction>();
|
||||
|
||||
public ToolbarPanel(final TestConsoleProperties properties,
|
||||
final RunnerSettings runnerSettings,
|
||||
final ConfigurationPerRunnerSettings configurationSettings, JComponent parent) {
|
||||
ExecutionEnvironment environment, JComponent parent) {
|
||||
super(new BorderLayout());
|
||||
final DefaultActionGroup actionGroup = new DefaultActionGroup(null, false);
|
||||
actionGroup.addAction(new ToggleBooleanProperty(ExecutionBundle.message("junit.run.hide.passed.action.name"),
|
||||
@@ -116,16 +114,15 @@ public class ToolbarPanel extends JPanel implements OccurenceNavigator, Disposab
|
||||
myExportAction = ExportTestResultsAction.create(properties.getExecutor().getToolWindowId(), properties.getConfiguration());
|
||||
actionGroup.addAction(myExportAction);
|
||||
|
||||
appendAdditionalActions(actionGroup, properties, runnerSettings, configurationSettings, parent);
|
||||
appendAdditionalActions(actionGroup, properties, environment, parent);
|
||||
|
||||
add(ActionManager.getInstance().
|
||||
createActionToolbar(ActionPlaces.TESTTREE_VIEW_TOOLBAR, actionGroup, true).
|
||||
getComponent(), BorderLayout.CENTER);
|
||||
}
|
||||
|
||||
protected void appendAdditionalActions(DefaultActionGroup actionGroup, TestConsoleProperties properties, RunnerSettings runnerSettings,
|
||||
ConfigurationPerRunnerSettings configurationSettings,
|
||||
JComponent parent) {
|
||||
protected void appendAdditionalActions(DefaultActionGroup actionGroup, TestConsoleProperties properties,
|
||||
ExecutionEnvironment environment, JComponent parent) {
|
||||
}
|
||||
|
||||
public void setModel(final TestFrameworkRunningModel model) {
|
||||
|
||||
+6
-9
@@ -27,6 +27,7 @@ import com.intellij.execution.configurations.*;
|
||||
import com.intellij.execution.executors.DefaultDebugExecutor;
|
||||
import com.intellij.execution.executors.DefaultRunExecutor;
|
||||
import com.intellij.execution.runners.ExecutionEnvironment;
|
||||
import com.intellij.execution.runners.ExecutionEnvironmentBuilder;
|
||||
import com.intellij.execution.runners.ProgramRunner;
|
||||
import com.intellij.execution.testframework.AbstractTestProxy;
|
||||
import com.intellij.execution.testframework.Filter;
|
||||
@@ -39,7 +40,10 @@ import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.options.SettingsEditor;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.ui.ComponentContainer;
|
||||
import com.intellij.openapi.util.*;
|
||||
import com.intellij.openapi.util.Disposer;
|
||||
import com.intellij.openapi.util.Getter;
|
||||
import com.intellij.openapi.util.InvalidDataException;
|
||||
import com.intellij.openapi.util.WriteExternalException;
|
||||
import com.intellij.psi.search.GlobalSearchScope;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import org.jdom.Element;
|
||||
@@ -169,14 +173,7 @@ public class AbstractRerunFailedTestsAction extends AnAction implements AnAction
|
||||
final Executor executor = isDebug ? DefaultDebugExecutor.getDebugExecutorInstance() : DefaultRunExecutor.getRunExecutorInstance();
|
||||
final ProgramRunner runner = RunnerRegistry.getInstance().getRunner(executor.getId(), profile);
|
||||
assert runner != null;
|
||||
runner.execute(executor, new ExecutionEnvironment(profile,
|
||||
myEnvironment.getExecutionTarget(),
|
||||
profile.getProject(),
|
||||
myEnvironment.getRunnerSettings(),
|
||||
myEnvironment.getConfigurationSettings(),
|
||||
myEnvironment.getContentToReuse(),
|
||||
null,
|
||||
myEnvironment.getRunnerId()));
|
||||
runner.execute(new ExecutionEnvironmentBuilder(myEnvironment).build());
|
||||
}
|
||||
catch (ExecutionException e1) {
|
||||
LOG.error(e1);
|
||||
|
||||
+5
-8
@@ -15,8 +15,7 @@
|
||||
*/
|
||||
package com.intellij.execution.testframework.ui;
|
||||
|
||||
import com.intellij.execution.configurations.ConfigurationPerRunnerSettings;
|
||||
import com.intellij.execution.configurations.RunnerSettings;
|
||||
import com.intellij.execution.runners.ExecutionEnvironment;
|
||||
import com.intellij.execution.testframework.TestConsoleProperties;
|
||||
import com.intellij.execution.testframework.TestFrameworkPropertyListener;
|
||||
import com.intellij.execution.testframework.ToolbarPanel;
|
||||
@@ -45,27 +44,25 @@ public abstract class TestResultsPanel extends JPanel implements Disposable {
|
||||
private Splitter myStatisticsSplitter;
|
||||
protected final JComponent myConsole;
|
||||
protected ToolbarPanel myToolbarPanel;
|
||||
protected final ExecutionEnvironment myEnvironment;
|
||||
private final String mySplitterProportionProperty;
|
||||
private final String myStatisticsSplitterProportionProperty;
|
||||
private final float mySplitterDefaultProportion;
|
||||
protected final RunnerSettings myRunnerSettings;
|
||||
protected final ConfigurationPerRunnerSettings myConfigurationSettings;
|
||||
protected final AnAction[] myConsoleActions;
|
||||
protected final TestConsoleProperties myProperties;
|
||||
protected TestStatusLine myStatusLine;
|
||||
|
||||
protected TestResultsPanel(@NotNull JComponent console, AnAction[] consoleActions, TestConsoleProperties properties,
|
||||
RunnerSettings runnerSettings, ConfigurationPerRunnerSettings configurationSettings,
|
||||
ExecutionEnvironment environment,
|
||||
String splitterProportionProperty, float splitterDefaultProportion) {
|
||||
super(new BorderLayout(0,1));
|
||||
myConsole = console;
|
||||
myConsoleActions = consoleActions;
|
||||
myProperties = properties;
|
||||
myEnvironment = environment;
|
||||
mySplitterProportionProperty = splitterProportionProperty;
|
||||
mySplitterDefaultProportion = splitterDefaultProportion;
|
||||
myStatisticsSplitterProportionProperty = mySplitterProportionProperty + "_Statistics";
|
||||
myRunnerSettings = runnerSettings;
|
||||
myConfigurationSettings = configurationSettings;
|
||||
}
|
||||
|
||||
public void initUI() {
|
||||
@@ -128,7 +125,7 @@ public abstract class TestResultsPanel extends JPanel implements Disposable {
|
||||
protected abstract JComponent createStatisticsPanel();
|
||||
|
||||
protected ToolbarPanel createToolbarPanel() {
|
||||
return new ToolbarPanel(myProperties, myRunnerSettings, myConfigurationSettings, this);
|
||||
return new ToolbarPanel(myProperties, myEnvironment, this);
|
||||
}
|
||||
|
||||
protected TestStatusLine createStatusLine() {
|
||||
|
||||
@@ -3,7 +3,6 @@ package org.jetbrains.plugins.groovy.griffon;
|
||||
import com.intellij.debugger.engine.DebuggerUtils;
|
||||
import com.intellij.debugger.impl.GenericDebuggerRunner;
|
||||
import com.intellij.execution.ExecutionException;
|
||||
import com.intellij.execution.Executor;
|
||||
import com.intellij.execution.configurations.*;
|
||||
import com.intellij.execution.executors.DefaultDebugExecutor;
|
||||
import com.intellij.execution.runners.ExecutionEnvironment;
|
||||
@@ -27,7 +26,6 @@ public class GriffonDebuggerRunner extends GenericDebuggerRunner {
|
||||
|
||||
@Override
|
||||
protected RunContentDescriptor createContentDescriptor(Project project,
|
||||
Executor executor,
|
||||
RunProfileState state,
|
||||
RunContentDescriptor contentToReuse,
|
||||
ExecutionEnvironment env) throws ExecutionException {
|
||||
@@ -53,11 +51,11 @@ public class GriffonDebuggerRunner extends GenericDebuggerRunner {
|
||||
}
|
||||
|
||||
if (address == null) {
|
||||
return super.createContentDescriptor(project, executor, state, contentToReuse, env);
|
||||
return super.createContentDescriptor(project, state, contentToReuse, env);
|
||||
}
|
||||
|
||||
RemoteConnection connection = new RemoteConnection(true, "127.0.0.1", address, false);
|
||||
return attachVirtualMachine(project, executor, state, contentToReuse, env, connection, true);
|
||||
return attachVirtualMachine(project, state, contentToReuse, env, connection, true);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+2
-2
@@ -219,12 +219,12 @@ public abstract class GroovyCompilerTestCase extends JavaCodeInsightFixtureTestC
|
||||
ProgramRunner runner,
|
||||
RunProfile configuration) throws ExecutionException {
|
||||
final Executor executor = Executor.EXECUTOR_EXTENSION_NAME.findExtension(executorClass);
|
||||
final ExecutionEnvironment environment = new ExecutionEnvironment(configuration, getProject(), null);
|
||||
final ExecutionEnvironment environment = new ExecutionEnvironment(configuration, executor, getProject(), null);
|
||||
final Semaphore semaphore = new Semaphore();
|
||||
semaphore.down();
|
||||
|
||||
final AtomicReference<ProcessHandler> processHandler = new AtomicReference<ProcessHandler>();
|
||||
runner.execute(executor, environment, new ProgramRunner.Callback() {
|
||||
runner.execute(environment, new ProgramRunner.Callback() {
|
||||
@Override
|
||||
public void processStarted(final RunContentDescriptor descriptor) {
|
||||
disposeOnTearDown(new Disposable() {
|
||||
|
||||
@@ -88,7 +88,7 @@ public abstract class TestObject implements JavaCommandLine {
|
||||
protected JavaParameters myJavaParameters;
|
||||
private final Project myProject;
|
||||
protected final JUnitConfiguration myConfiguration;
|
||||
private final ExecutionEnvironment myEnvironment;
|
||||
protected final ExecutionEnvironment myEnvironment;
|
||||
protected File myTempFile = null;
|
||||
protected File myWorkingDirsFile = null;
|
||||
public File myListenersFile;
|
||||
@@ -131,14 +131,6 @@ public abstract class TestObject implements JavaCommandLine {
|
||||
return myEnvironment.getRunnerSettings();
|
||||
}
|
||||
|
||||
public ConfigurationPerRunnerSettings getConfigurationSettings() {
|
||||
return myEnvironment.getConfigurationSettings();
|
||||
}
|
||||
|
||||
public String getRunnerId() {
|
||||
return myEnvironment.getRunnerId();
|
||||
}
|
||||
|
||||
public abstract RefactoringElementListener getListener(PsiElement element, JUnitConfiguration configuration);
|
||||
|
||||
public abstract boolean isConfiguredByElement(JUnitConfiguration configuration,
|
||||
@@ -274,7 +266,7 @@ public abstract class TestObject implements JavaCommandLine {
|
||||
}
|
||||
final TestProxy unboundOutputRoot = new TestProxy(new RootTestInfo());
|
||||
final JUnitConsoleProperties consoleProperties = new JUnitConsoleProperties(myConfiguration, executor);
|
||||
final JUnitTreeConsoleView consoleView = new JUnitTreeConsoleView(consoleProperties, runnerSettings, getConfigurationSettings(), unboundOutputRoot);
|
||||
final JUnitTreeConsoleView consoleView = new JUnitTreeConsoleView(consoleProperties, myEnvironment, unboundOutputRoot);
|
||||
consoleView.initUI();
|
||||
consoleView.attachToProcess(handler);
|
||||
unboundOutputRoot.setPrinter(consoleView.getPrinter());
|
||||
@@ -383,8 +375,7 @@ public abstract class TestObject implements JavaCommandLine {
|
||||
BaseTestsOutputConsoleView smtConsoleView = SMTestRunnerConnectionUtil.createConsoleWithCustomLocator(
|
||||
JUNIT_TEST_FRAMEWORK_NAME,
|
||||
testConsoleProperties,
|
||||
myEnvironment.getRunnerSettings(),
|
||||
myEnvironment.getConfigurationSettings(), null);
|
||||
myEnvironment, null);
|
||||
|
||||
|
||||
Disposer.register(myProject, smtConsoleView);
|
||||
|
||||
@@ -26,6 +26,7 @@ import com.intellij.execution.junit2.ui.properties.JUnitConsoleProperties;
|
||||
import com.intellij.execution.process.ProcessAdapter;
|
||||
import com.intellij.execution.process.ProcessEvent;
|
||||
import com.intellij.execution.runners.ExecutionEnvironment;
|
||||
import com.intellij.execution.runners.ExecutionEnvironmentBuilder;
|
||||
import com.intellij.execution.runners.ProgramRunner;
|
||||
import com.intellij.execution.testframework.SourceScope;
|
||||
import com.intellij.execution.testframework.TestSearchScope;
|
||||
@@ -445,9 +446,7 @@ public class TestPackage extends TestObject {
|
||||
: DefaultRunExecutor.getRunExecutorInstance();
|
||||
final ProgramRunner runner = RunnerRegistry.getInstance().getRunner(executor.getId(), myConfiguration);
|
||||
assert runner != null;
|
||||
runner.execute(executor,
|
||||
new ExecutionEnvironment(myConfiguration, DefaultExecutionTarget.INSTANCE, myProject, getRunnerSettings(), getConfigurationSettings(),
|
||||
null, null, getRunnerId()));
|
||||
runner.execute(new ExecutionEnvironmentBuilder(myEnvironment).setContentToReuse(null).build());
|
||||
final Balloon balloon = myToolWindowManager.getToolWindowBalloon(myTestRunDebugId);
|
||||
if (balloon != null) {
|
||||
balloon.hide();
|
||||
|
||||
@@ -17,8 +17,6 @@
|
||||
package com.intellij.execution.junit2.ui;
|
||||
|
||||
import com.intellij.execution.ExecutionBundle;
|
||||
import com.intellij.execution.configurations.ConfigurationPerRunnerSettings;
|
||||
import com.intellij.execution.configurations.RunnerSettings;
|
||||
import com.intellij.execution.junit2.TestProxy;
|
||||
import com.intellij.execution.junit2.ui.actions.JUnitToolbarPanel;
|
||||
import com.intellij.execution.junit2.ui.model.JUnitAdapter;
|
||||
@@ -27,6 +25,7 @@ import com.intellij.execution.junit2.ui.properties.JUnitConsoleProperties;
|
||||
import com.intellij.execution.process.ProcessAdapter;
|
||||
import com.intellij.execution.process.ProcessEvent;
|
||||
import com.intellij.execution.process.ProcessHandler;
|
||||
import com.intellij.execution.runners.ExecutionEnvironment;
|
||||
import com.intellij.execution.testframework.PoolOfTestIcons;
|
||||
import com.intellij.execution.testframework.Printer;
|
||||
import com.intellij.execution.testframework.TestTreeView;
|
||||
@@ -64,9 +63,9 @@ public class ConsolePanel extends TestResultsPanel {
|
||||
public ConsolePanel(final JComponent console,
|
||||
final TestsOutputConsolePrinter printer,
|
||||
final JUnitConsoleProperties properties,
|
||||
final RunnerSettings runnerSettings,
|
||||
final ConfigurationPerRunnerSettings configurationSettings, AnAction[] consoleActions) {
|
||||
super(console, consoleActions, properties, runnerSettings, configurationSettings, PROPORTION_PROPERTY, DEFAULT_PROPORTION);
|
||||
final ExecutionEnvironment environment,
|
||||
AnAction[] consoleActions) {
|
||||
super(console, consoleActions, properties, environment, PROPORTION_PROPERTY, DEFAULT_PROPORTION);
|
||||
myPrinter = printer;
|
||||
}
|
||||
|
||||
@@ -81,7 +80,7 @@ public class ConsolePanel extends TestResultsPanel {
|
||||
}
|
||||
|
||||
protected ToolbarPanel createToolbarPanel() {
|
||||
return new JUnitToolbarPanel(myProperties, myRunnerSettings, myConfigurationSettings, this);
|
||||
return new JUnitToolbarPanel(myProperties, myEnvironment, this);
|
||||
}
|
||||
|
||||
protected TestStatusLine createStatusLine() {
|
||||
|
||||
@@ -16,12 +16,11 @@
|
||||
|
||||
package com.intellij.execution.junit2.ui;
|
||||
|
||||
import com.intellij.execution.configurations.ConfigurationPerRunnerSettings;
|
||||
import com.intellij.execution.configurations.RunnerSettings;
|
||||
import com.intellij.execution.junit2.ui.model.JUnitRunningModel;
|
||||
import com.intellij.execution.junit2.ui.model.TreeCollapser;
|
||||
import com.intellij.execution.junit2.ui.properties.JUnitConsoleProperties;
|
||||
import com.intellij.execution.process.ProcessHandler;
|
||||
import com.intellij.execution.runners.ExecutionEnvironment;
|
||||
import com.intellij.execution.testframework.AbstractTestProxy;
|
||||
import com.intellij.execution.testframework.ui.BaseTestsOutputConsoleView;
|
||||
import com.intellij.execution.testframework.ui.TestResultsPanel;
|
||||
@@ -32,21 +31,18 @@ import javax.swing.*;
|
||||
public class JUnitTreeConsoleView extends BaseTestsOutputConsoleView {
|
||||
private ConsolePanel myConsolePanel;
|
||||
private final JUnitConsoleProperties myProperties;
|
||||
private final RunnerSettings myRunnerSettings;
|
||||
private final ConfigurationPerRunnerSettings myConfigurationSettings;
|
||||
private final ExecutionEnvironment myEnvironment;
|
||||
|
||||
public JUnitTreeConsoleView(final JUnitConsoleProperties properties,
|
||||
final RunnerSettings runnerSettings,
|
||||
final ConfigurationPerRunnerSettings configurationSettings,
|
||||
final ExecutionEnvironment environment,
|
||||
final AbstractTestProxy unboundOutputRoot) {
|
||||
super(properties, unboundOutputRoot);
|
||||
myProperties = properties;
|
||||
myRunnerSettings = runnerSettings;
|
||||
myConfigurationSettings = configurationSettings;
|
||||
myEnvironment = environment;
|
||||
}
|
||||
|
||||
protected TestResultsPanel createTestResultsPanel() {
|
||||
myConsolePanel = new ConsolePanel(getConsole().getComponent(), getPrinter(), myProperties, myRunnerSettings, myConfigurationSettings,
|
||||
myConsolePanel = new ConsolePanel(getConsole().getComponent(), getPrinter(), myProperties, myEnvironment,
|
||||
getConsole().createConsoleActions());
|
||||
return myConsolePanel;
|
||||
}
|
||||
|
||||
@@ -18,11 +18,10 @@ package com.intellij.execution.junit2.ui.actions;
|
||||
|
||||
import com.intellij.execution.ExecutionBundle;
|
||||
import com.intellij.execution.Location;
|
||||
import com.intellij.execution.configurations.ConfigurationPerRunnerSettings;
|
||||
import com.intellij.execution.configurations.RunnerSettings;
|
||||
import com.intellij.execution.junit2.TestProxy;
|
||||
import com.intellij.execution.junit2.ui.model.JUnitAdapter;
|
||||
import com.intellij.execution.junit2.ui.model.JUnitRunningModel;
|
||||
import com.intellij.execution.runners.ExecutionEnvironment;
|
||||
import com.intellij.execution.testframework.TestConsoleProperties;
|
||||
import com.intellij.execution.testframework.TestFrameworkRunningModel;
|
||||
import com.intellij.execution.testframework.TestsUIUtil;
|
||||
@@ -42,19 +41,16 @@ public class JUnitToolbarPanel extends ToolbarPanel {
|
||||
@NonNls protected static final String TEST_SUITE_CLASS_NAME = "junit.framework.TestSuite";
|
||||
|
||||
public JUnitToolbarPanel(final TestConsoleProperties properties,
|
||||
final RunnerSettings runnerSettings,
|
||||
final ConfigurationPerRunnerSettings configurationSettings,
|
||||
final JComponent parentComponent) {
|
||||
super(properties, runnerSettings, configurationSettings, parentComponent);
|
||||
final ExecutionEnvironment environment,
|
||||
final JComponent parentComponent) {
|
||||
super(properties, environment, parentComponent);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void appendAdditionalActions(DefaultActionGroup actionGroup,
|
||||
TestConsoleProperties properties,
|
||||
RunnerSettings runnerSettings,
|
||||
ConfigurationPerRunnerSettings configurationSettings,
|
||||
JComponent parent) {
|
||||
super.appendAdditionalActions(actionGroup, properties, runnerSettings, configurationSettings, parent);
|
||||
ExecutionEnvironment environment, JComponent parent) {
|
||||
super.appendAdditionalActions(actionGroup, properties, environment, parent);
|
||||
actionGroup.addAction(new ToggleBooleanProperty(
|
||||
ExecutionBundle.message("junit.runing.info.include.non.started.in.rerun.failed.action.name"),
|
||||
null,
|
||||
|
||||
+2
-2
@@ -25,6 +25,7 @@ import com.intellij.execution.process.ProcessEvent;
|
||||
import com.intellij.execution.process.ProcessHandler;
|
||||
import com.intellij.execution.process.ProcessOutputTypes;
|
||||
import com.intellij.execution.runners.ExecutionEnvironment;
|
||||
import com.intellij.execution.runners.ExecutionEnvironmentBuilder;
|
||||
import com.intellij.execution.runners.ProgramRunner;
|
||||
import com.intellij.icons.AllIcons;
|
||||
import com.intellij.openapi.actionSystem.AnAction;
|
||||
@@ -300,8 +301,7 @@ public class MavenResumeAction extends AnAction {
|
||||
goals.add(myResumeModuleId);
|
||||
}
|
||||
|
||||
myRunner.execute(myExecutor, new ExecutionEnvironment(runConfiguration, myEnvironment.getExecutionTarget(), project, myEnvironment.getRunnerSettings(),
|
||||
myEnvironment.getConfigurationSettings(), null, null, myEnvironment.getRunnerId()));
|
||||
myRunner.execute(new ExecutionEnvironmentBuilder(myEnvironment).setContentToReuse(null).build());
|
||||
}
|
||||
catch (RunCanceledByUserException ignore) {
|
||||
}
|
||||
|
||||
+2
-2
@@ -185,11 +185,11 @@ public class MavenRunConfigurationType implements ConfigurationType {
|
||||
project);
|
||||
|
||||
ProgramRunner runner = RunnerRegistry.getInstance().findRunnerById(DefaultRunExecutor.EXECUTOR_ID);
|
||||
ExecutionEnvironment env = new ExecutionEnvironment(runner, configSettings, project);
|
||||
Executor executor = DefaultRunExecutor.getRunExecutorInstance();
|
||||
ExecutionEnvironment env = new ExecutionEnvironment(executor, runner, configSettings, project);
|
||||
|
||||
try {
|
||||
runner.execute(executor, env, callback);
|
||||
runner.execute(env, callback);
|
||||
}
|
||||
catch (ExecutionException e) {
|
||||
MavenUtil.showError(project, "Failed to execute Maven goal", e);
|
||||
|
||||
+2
-6
@@ -88,7 +88,6 @@ import java.net.UnknownHostException;
|
||||
public class TestNGRunnableState extends JavaCommandLineState {
|
||||
private static final Logger LOG = Logger.getInstance("TestNG Runner");
|
||||
private static final String TESTNG_TEST_FRAMEWORK_NAME = "TestNG";
|
||||
private final ConfigurationPerRunnerSettings myConfigurationPerRunnerSettings;
|
||||
private final TestNGConfiguration config;
|
||||
private final RunnerSettings runnerSettings;
|
||||
protected final IDEARemoteTestRunnerClient client;
|
||||
@@ -101,7 +100,6 @@ public class TestNGRunnableState extends JavaCommandLineState {
|
||||
public TestNGRunnableState(ExecutionEnvironment environment, TestNGConfiguration config) {
|
||||
super(environment);
|
||||
this.runnerSettings = environment.getRunnerSettings();
|
||||
myConfigurationPerRunnerSettings = environment.getConfigurationSettings();
|
||||
this.config = config;
|
||||
//TODO need to narrow this down a bit
|
||||
//setModulesToCompile(ModuleManager.getInstance(config.getProject()).getModules());
|
||||
@@ -131,8 +129,7 @@ public class TestNGRunnableState extends JavaCommandLineState {
|
||||
}
|
||||
OSProcessHandler processHandler = startProcess();
|
||||
final TreeRootNode unboundOutputRoot = new TreeRootNode();
|
||||
final TestNGConsoleView console = new TestNGConsoleView(config, runnerSettings, myConfigurationPerRunnerSettings, unboundOutputRoot,
|
||||
executor);
|
||||
final TestNGConsoleView console = new TestNGConsoleView(config, getEnvironment(), unboundOutputRoot, executor);
|
||||
console.initUI();
|
||||
unboundOutputRoot.setPrinter(console.getPrinter());
|
||||
Disposer.register(console, unboundOutputRoot);
|
||||
@@ -235,8 +232,7 @@ public class TestNGRunnableState extends JavaCommandLineState {
|
||||
final BaseTestsOutputConsoleView smtConsoleView = SMTestRunnerConnectionUtil.createConsoleWithCustomLocator(
|
||||
TESTNG_TEST_FRAMEWORK_NAME,
|
||||
testConsoleProperties,
|
||||
getEnvironment().getRunnerSettings(),
|
||||
getEnvironment().getConfigurationSettings(), null);
|
||||
getEnvironment(), null);
|
||||
|
||||
|
||||
Disposer.register(getEnvironment().getProject(), smtConsoleView);
|
||||
|
||||
@@ -23,8 +23,7 @@
|
||||
package com.theoryinpractice.testng.ui;
|
||||
|
||||
import com.intellij.execution.Executor;
|
||||
import com.intellij.execution.configurations.ConfigurationPerRunnerSettings;
|
||||
import com.intellij.execution.configurations.RunnerSettings;
|
||||
import com.intellij.execution.runners.ExecutionEnvironment;
|
||||
import com.intellij.execution.testframework.TestTreeView;
|
||||
import com.intellij.execution.testframework.ui.BaseTestsOutputConsoleView;
|
||||
import com.intellij.execution.testframework.ui.TestResultsPanel;
|
||||
@@ -43,24 +42,21 @@ public class TestNGConsoleView extends BaseTestsOutputConsoleView {
|
||||
|
||||
private int myExceptionalMark = -1;
|
||||
private final TestNGConfiguration myConfiguration;
|
||||
private final RunnerSettings myRunnerSettings;
|
||||
private final ConfigurationPerRunnerSettings myConfigurationPerRunnerSettings;
|
||||
private final ExecutionEnvironment myEnvironment;
|
||||
private final TreeRootNode myUnboundOutput;
|
||||
|
||||
public TestNGConsoleView(TestNGConfiguration config,
|
||||
final RunnerSettings runnerSettings,
|
||||
final ConfigurationPerRunnerSettings configurationPerRunnerSettings,
|
||||
ExecutionEnvironment environment,
|
||||
final TreeRootNode unboundOutputRoot,
|
||||
Executor executor) {
|
||||
super(new TestNGConsoleProperties(config, executor), unboundOutputRoot);
|
||||
myConfiguration = config;
|
||||
myRunnerSettings = runnerSettings;
|
||||
myConfigurationPerRunnerSettings = configurationPerRunnerSettings;
|
||||
myEnvironment = environment;
|
||||
myUnboundOutput = unboundOutputRoot;
|
||||
}
|
||||
|
||||
protected TestResultsPanel createTestResultsPanel() {
|
||||
testNGResults = new TestNGResults(getConsole().getComponent(), myConfiguration, this, myRunnerSettings, myConfigurationPerRunnerSettings);
|
||||
testNGResults = new TestNGResults(getConsole().getComponent(), myConfiguration, this, myEnvironment);
|
||||
return testNGResults;
|
||||
}
|
||||
|
||||
|
||||
@@ -24,8 +24,7 @@ package com.theoryinpractice.testng.ui;
|
||||
|
||||
import com.intellij.codeInsight.AnnotationUtil;
|
||||
import com.intellij.execution.ExecutionBundle;
|
||||
import com.intellij.execution.configurations.ConfigurationPerRunnerSettings;
|
||||
import com.intellij.execution.configurations.RunnerSettings;
|
||||
import com.intellij.execution.runners.ExecutionEnvironment;
|
||||
import com.intellij.execution.testframework.*;
|
||||
import com.intellij.execution.testframework.actions.ScrollToTestSourceAction;
|
||||
import com.intellij.execution.testframework.ui.TestResultsPanel;
|
||||
@@ -91,10 +90,9 @@ public class TestNGResults extends TestResultsPanel implements TestFrameworkRunn
|
||||
public TestNGResults(final JComponent component,
|
||||
final TestNGConfiguration configuration,
|
||||
final TestNGConsoleView console,
|
||||
final RunnerSettings runnerSettings,
|
||||
final ConfigurationPerRunnerSettings configurationSettings) {
|
||||
final ExecutionEnvironment environment) {
|
||||
super(component, console.getConsole().createConsoleActions(), console.getProperties(),
|
||||
runnerSettings, configurationSettings, TESTNG_SPLITTER_PROPERTY, 0.5f);
|
||||
environment, TESTNG_SPLITTER_PROPERTY, 0.5f);
|
||||
this.project = configuration.getProject();
|
||||
|
||||
model = new TestNGResultsTableModel(project);
|
||||
@@ -151,14 +149,12 @@ public class TestNGResults extends TestResultsPanel implements TestFrameworkRunn
|
||||
|
||||
@Override
|
||||
protected ToolbarPanel createToolbarPanel() {
|
||||
final ToolbarPanel panel = new ToolbarPanel(getProperties(), myRunnerSettings, myConfigurationSettings, this){
|
||||
final ToolbarPanel panel = new ToolbarPanel(getProperties(), myEnvironment, this){
|
||||
@Override
|
||||
protected void appendAdditionalActions(DefaultActionGroup actionGroup,
|
||||
TestConsoleProperties properties,
|
||||
RunnerSettings runnerSettings,
|
||||
ConfigurationPerRunnerSettings configurationSettings,
|
||||
JComponent parent) {
|
||||
super.appendAdditionalActions(actionGroup, properties, runnerSettings, configurationSettings, parent);
|
||||
ExecutionEnvironment environment, JComponent parent) {
|
||||
super.appendAdditionalActions(actionGroup, properties, environment, parent);
|
||||
actionGroup.addAction(new ToggleBooleanProperty(
|
||||
ExecutionBundle.message("junit.runing.info.include.non.started.in.rerun.failed.action.name"),
|
||||
null,
|
||||
|
||||
@@ -300,7 +300,8 @@ public final class PreviewFormAction extends AnAction{
|
||||
UIDesignerBundle.message("progress.preview.started", formFile.getPresentableUrl()));
|
||||
ProgramRunner defaultRunner = RunnerRegistry.getInstance().getRunner(DefaultRunExecutor.EXECUTOR_ID, profile);
|
||||
LOG.assertTrue(defaultRunner != null);
|
||||
defaultRunner.execute(DefaultRunExecutor.getRunExecutorInstance(), new ExecutionEnvironment(profile, module.getProject(), null));
|
||||
Executor executor = DefaultRunExecutor.getRunExecutorInstance();
|
||||
defaultRunner.execute(new ExecutionEnvironment(profile, executor, module.getProject(), null));
|
||||
}
|
||||
catch (ExecutionException e) {
|
||||
Messages.showErrorDialog(
|
||||
|
||||
+4
-6
@@ -16,10 +16,7 @@
|
||||
|
||||
package com.intellij.uiDesigner.snapShooter;
|
||||
|
||||
import com.intellij.execution.ExecutionException;
|
||||
import com.intellij.execution.RunManagerEx;
|
||||
import com.intellij.execution.RunnerAndConfigurationSettings;
|
||||
import com.intellij.execution.RunnerRegistry;
|
||||
import com.intellij.execution.*;
|
||||
import com.intellij.execution.application.ApplicationConfiguration;
|
||||
import com.intellij.execution.application.ApplicationConfigurationType;
|
||||
import com.intellij.execution.executors.DefaultRunExecutor;
|
||||
@@ -175,8 +172,9 @@ public class CreateSnapShotAction extends AnAction {
|
||||
try {
|
||||
final ProgramRunner runner = RunnerRegistry.getInstance().getRunner(DefaultRunExecutor.EXECUTOR_ID, appConfig);
|
||||
LOG.assertTrue(runner != null, "Runner MUST not be null!");
|
||||
runner.execute(DefaultRunExecutor.getRunExecutorInstance(),
|
||||
new ExecutionEnvironment(runner, snapshotConfiguration, project));
|
||||
Executor executor = DefaultRunExecutor.getRunExecutorInstance();
|
||||
runner.execute(
|
||||
new ExecutionEnvironment(executor, runner, snapshotConfiguration, project));
|
||||
}
|
||||
catch (ExecutionException ex) {
|
||||
Messages.showMessageDialog(project, UIDesignerBundle.message("snapshot.run.error", ex.getMessage()),
|
||||
|
||||
@@ -45,19 +45,17 @@ public class XsltDebuggerRunner extends DefaultProgramRunner {
|
||||
|
||||
@Override
|
||||
protected RunContentDescriptor doExecute(Project project,
|
||||
Executor executor,
|
||||
RunProfileState state,
|
||||
RunContentDescriptor contentToReuse,
|
||||
ExecutionEnvironment env) throws ExecutionException {
|
||||
FileDocumentManager.getInstance().saveAllDocuments();
|
||||
return createContentDescriptor(project, executor, state, contentToReuse, env);
|
||||
return createContentDescriptor(project, state, contentToReuse, env);
|
||||
}
|
||||
|
||||
protected RunContentDescriptor createContentDescriptor(Project project,
|
||||
final Executor executor,
|
||||
final RunProfileState runProfileState,
|
||||
RunContentDescriptor contentToReuse,
|
||||
ExecutionEnvironment executionEnvironment) throws ExecutionException {
|
||||
final ExecutionEnvironment executionEnvironment) throws ExecutionException {
|
||||
final XDebugSession debugSession =
|
||||
XDebuggerManager.getInstance(project).startSession(this, executionEnvironment, contentToReuse, new XDebugProcessStarter() {
|
||||
@NotNull
|
||||
@@ -65,7 +63,7 @@ public class XsltDebuggerRunner extends DefaultProgramRunner {
|
||||
ACTIVE.set(Boolean.TRUE);
|
||||
try {
|
||||
final XsltCommandLineState c = (XsltCommandLineState)runProfileState;
|
||||
final ExecutionResult result = runProfileState.execute(executor, XsltDebuggerRunner.this);
|
||||
final ExecutionResult result = runProfileState.execute(executionEnvironment.getExecutor(), XsltDebuggerRunner.this);
|
||||
return new XsltDebugProcess(session, result, c.getExtensionData().getUserData(XsltDebuggerExtension.VERSION));
|
||||
} finally {
|
||||
ACTIVE.remove();
|
||||
|
||||
Reference in New Issue
Block a user