package com.lightd.ideap.maven;
import com.intellij.execution.ExecutionException;
import com.intellij.execution.configurations.GeneralCommandLine;
import com.intellij.execution.process.DefaultJavaProcessHandler;
import com.intellij.execution.runners.ProgramRunner;
import com.intellij.execution.ui.RunContentDescriptor;
import com.intellij.openapi.project.Project;
import org.jetbrains.idea.maven.execution.MavenRunnerParameters;
public class DebugServerProcessHandler extends DefaultJavaProcessHandler {
private final Project project;
private final MavenRunnerParameters parameters;
public DebugServerProcessHandler(GeneralCommandLine commandLine, Project project, MavenRunnerParameters parameters) throws ExecutionException {
super(commandLine);
this.project = project;
this.parameters = parameters;
}
@Override
protected void doDestroyProcess() {
MvnRunConfigurationType.runConfiguration(project, parameters, null, null, new ProgramRunner.Callback() {
@Override
public void processStarted(RunContentDescriptor runContentDescriptor) {
getProcess().destroy();
}
});
}
@Override
protected void onOSProcessTerminated(int exitCode) {
int exit = exitCode == 255 ? 0 : exitCode;
super.onOSProcessTerminated(exit);
}
}