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
@@ -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);
}
}
}
@@ -0,0 +1,17 @@
package com.intellij.execution.runners;
import com.intellij.execution.Executor;
import com.intellij.execution.configurations.JavaParameters;
import com.intellij.execution.configurations.RunProfile;
import com.intellij.openapi.extensions.ExtensionPointName;
/**
* Patch Java command line before running/debugging
*
* @author peter
*/
public abstract class JavaProgramPatcher {
public static final ExtensionPointName<JavaProgramPatcher> EP_NAME = ExtensionPointName.create("com.intellij.java.programPatcher");
public abstract void patchJavaParameters(Executor executor, RunProfile configuration, JavaParameters javaParameters);
}