Enable Input Redirection for KotlinRunConfiguration
#KT-28854 Fixed (cherry picked from commit 6e55010767b1c1a7c8d23d337bdbd5824dfa2906)
This commit is contained in:
committed by
Vladimir Dolzhenko
parent
69e8abfe3c
commit
83b52bb109
@@ -19,6 +19,7 @@ package org.jetbrains.kotlin.idea.run;
|
||||
import com.intellij.codeInsight.daemon.impl.analysis.JavaModuleGraphUtil;
|
||||
import com.intellij.diagnostic.logging.LogConfigurationPanel;
|
||||
import com.intellij.execution.*;
|
||||
import com.intellij.execution.application.ApplicationConfigurationType;
|
||||
import com.intellij.execution.application.BaseJavaApplicationCommandLineState;
|
||||
import com.intellij.execution.configuration.EnvironmentVariablesComponent;
|
||||
import com.intellij.execution.configurations.*;
|
||||
@@ -68,12 +69,38 @@ import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode;
|
||||
import java.util.*;
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
public class KotlinRunConfiguration extends JetRunConfiguration {
|
||||
public class KotlinRunConfiguration extends JetRunConfiguration implements InputRedirectAware {
|
||||
public String VM_PARAMETERS;
|
||||
public String PROGRAM_PARAMETERS;
|
||||
public boolean ALTERNATIVE_JRE_PATH_ENABLED;
|
||||
public String ALTERNATIVE_JRE_PATH;
|
||||
public boolean PASS_PARENT_ENVS = true;
|
||||
public ConfigurationType APPLICATION_CONFIGURATION_TYPE = new ApplicationConfigurationType();
|
||||
public InputRedirectOptions INPUT_REDIRECT_OPTIONS = new InputRedirectOptions() {
|
||||
private boolean redirectInput = false;
|
||||
private String redirectInputPath = null;
|
||||
|
||||
@Override
|
||||
public boolean isRedirectInput() {
|
||||
return redirectInput;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setRedirectInput(boolean redirectInput) {
|
||||
this.redirectInput = redirectInput;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public String getRedirectInputPath() {
|
||||
return redirectInputPath;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setRedirectInputPath(String redirectInputPath) {
|
||||
this.redirectInputPath = redirectInputPath;
|
||||
}
|
||||
};
|
||||
|
||||
private Map<String, String> myEnvs = new LinkedHashMap<String, String>();
|
||||
|
||||
@@ -336,6 +363,18 @@ public class KotlinRunConfiguration extends JetRunConfiguration {
|
||||
return null;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public ConfigurationType getType() {
|
||||
return APPLICATION_CONFIGURATION_TYPE;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public InputRedirectOptions getInputRedirectOptions() {
|
||||
return INPUT_REDIRECT_OPTIONS;
|
||||
}
|
||||
|
||||
private static class MyJavaCommandLineState extends BaseJavaApplicationCommandLineState<KotlinRunConfiguration> {
|
||||
public MyJavaCommandLineState(@NotNull KotlinRunConfiguration configuration, ExecutionEnvironment environment) {
|
||||
super(environment, configuration);
|
||||
|
||||
Reference in New Issue
Block a user