Merge remote-tracking branch 'origin/master'

This commit is contained in:
anna
2013-07-24 19:04:21 +02:00
55 changed files with 278 additions and 343 deletions
@@ -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() {
@@ -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");
@@ -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);
}
}
@@ -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) {
@@ -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) {
}
@@ -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();
@@ -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());
}
/**
@@ -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;
}
@@ -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
@@ -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() {
@@ -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");
@@ -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();
@@ -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();
@@ -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) {
@@ -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);
@@ -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);
}
}
@@ -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,
@@ -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) {
}
@@ -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);
@@ -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(
@@ -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();