invoke JavaProgramPatcher on run, too

This commit is contained in:
peter
2010-03-25 18:15:26 +00:00
parent b55f812986
commit cbb545665f
4 changed files with 13 additions and 10 deletions
@@ -116,13 +116,6 @@ public class GenericDebuggerRunner extends JavaPatchableProgramRunner<GenericDeb
return DebuggerManagerImpl.createDebugParameters(javaParameters, debuggerSettings, false);
}
private static void runCustomPatchers(JavaParameters javaParameters, RunnerSettings settings, Executor executor) {
final RunProfile profile = settings.getRunProfile();
for (JavaProgramPatcher patcher : JavaProgramPatcher.EP_NAME.getExtensions()) {
patcher.patchJavaParameters(executor, profile, javaParameters);
}
}
public SettingsEditor<GenericDebuggerRunnerSettings> getSettingsEditor(final Executor executor, RunConfiguration configuration) {
if (configuration instanceof RunConfigurationWithRunnerSettings) {
if (((RunConfigurationWithRunnerSettings)configuration).isSettingsNeeded()) {
@@ -82,7 +82,9 @@ public class DefaultJavaProgramRunner extends JavaPatchableProgramRunner {
ExecutionResult executionResult;
boolean shouldAddDefaultActions = true;
if (state instanceof JavaCommandLine) {
patch(((JavaCommandLine)state).getJavaParameters(), state.getRunnerSettings(), true);
final JavaParameters parameters = ((JavaCommandLine)state).getJavaParameters();
patch(parameters, state.getRunnerSettings(), true);
runCustomPatchers(parameters, state.getRunnerSettings(), executor);
final ProcessProxy proxy = ProcessProxyFactory.getInstance().createCommandLineProxy((JavaCommandLine)state);
executionResult = state.execute(executor, this);
if (proxy != null && executionResult != null) {
@@ -16,7 +16,9 @@
package com.intellij.execution.runners;
import com.intellij.execution.ExecutionException;
import com.intellij.execution.Executor;
import com.intellij.execution.configurations.JavaParameters;
import com.intellij.execution.configurations.RunProfile;
import com.intellij.execution.configurations.RunnerSettings;
import com.intellij.openapi.util.JDOMExternalizable;
@@ -27,5 +29,11 @@ public abstract class JavaPatchableProgramRunner<Settings extends JDOMExternaliz
public abstract void patch(JavaParameters javaParameters, RunnerSettings settings, final boolean beforeExecution) throws ExecutionException;
protected static void runCustomPatchers(JavaParameters javaParameters, RunnerSettings settings, Executor executor) {
final RunProfile profile = settings.getRunProfile();
for (JavaProgramPatcher patcher : JavaProgramPatcher.EP_NAME.getExtensions()) {
patcher.patchJavaParameters(executor, profile, javaParameters);
}
}
}
@@ -6,7 +6,7 @@ import com.intellij.execution.configurations.RunProfile;
import com.intellij.openapi.extensions.ExtensionPointName;
/**
* For now, used only to patch the debugged run configuration. May be extended to other executors when needed.
* Patch Java command line before running/debugging
*
* @author peter
*/