Make K2JSRunConfiguration extend ModuleBasedConfiguration
This commit is contained in:
@@ -26,8 +26,9 @@ import com.intellij.execution.runners.ProgramRunner;
|
|||||||
import com.intellij.execution.runners.RunConfigurationWithSuppressedDefaultRunAction;
|
import com.intellij.execution.runners.RunConfigurationWithSuppressedDefaultRunAction;
|
||||||
import com.intellij.execution.ui.ExecutionConsole;
|
import com.intellij.execution.ui.ExecutionConsole;
|
||||||
import com.intellij.openapi.actionSystem.AnAction;
|
import com.intellij.openapi.actionSystem.AnAction;
|
||||||
|
import com.intellij.openapi.module.Module;
|
||||||
|
import com.intellij.openapi.module.ModuleManager;
|
||||||
import com.intellij.openapi.options.SettingsEditor;
|
import com.intellij.openapi.options.SettingsEditor;
|
||||||
import com.intellij.openapi.project.Project;
|
|
||||||
import com.intellij.openapi.util.InvalidDataException;
|
import com.intellij.openapi.util.InvalidDataException;
|
||||||
import com.intellij.openapi.util.JDOMExternalizable;
|
import com.intellij.openapi.util.JDOMExternalizable;
|
||||||
import com.intellij.openapi.util.WriteExternalException;
|
import com.intellij.openapi.util.WriteExternalException;
|
||||||
@@ -35,18 +36,33 @@ import com.intellij.util.xmlb.XmlSerializer;
|
|||||||
import org.jdom.Element;
|
import org.jdom.Element;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.Collection;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Pavel Talanov
|
* @author Pavel Talanov
|
||||||
*/
|
*/
|
||||||
@SuppressWarnings("deprecation")
|
@SuppressWarnings("deprecation")
|
||||||
public final class K2JSRunConfiguration extends RunConfigurationBase
|
public final class K2JSRunConfiguration extends ModuleBasedConfiguration<RunConfigurationModule>
|
||||||
implements RunConfigurationWithSuppressedDefaultRunAction {
|
implements RunConfigurationWithSuppressedDefaultRunAction {
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
private K2JSConfigurationSettings settings = new K2JSConfigurationSettings(getProject());
|
private K2JSConfigurationSettings settings = new K2JSConfigurationSettings(getProject());
|
||||||
|
|
||||||
public K2JSRunConfiguration(String name, Project project, ConfigurationFactory factory) {
|
public K2JSRunConfiguration(String name, RunConfigurationModule runConfigurationModule, ConfigurationFactory factory) {
|
||||||
super(project, factory, name);
|
super(name, runConfigurationModule, factory);
|
||||||
|
runConfigurationModule.init();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Collection<Module> getValidModules() {
|
||||||
|
return Arrays.asList(ModuleManager.getInstance(getProject()).getModules());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected ModuleBasedConfiguration createInstance() {
|
||||||
|
return new K2JSRunConfiguration(getName(), getConfigurationModule(), getFactory());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -54,27 +70,13 @@ public final class K2JSRunConfiguration extends RunConfigurationBase
|
|||||||
return new K2JSRunConfigurationEditor(getProject());
|
return new K2JSRunConfigurationEditor(getProject());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public JDOMExternalizable createRunnerSettings(ConfigurationInfoProvider provider) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public SettingsEditor<JDOMExternalizable> getRunnerSettingsEditor(ProgramRunner runner) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public RunProfileState getState(@NotNull Executor executor, @NotNull ExecutionEnvironment executionEnvironment)
|
public RunProfileState getState(@NotNull Executor executor, @NotNull ExecutionEnvironment executionEnvironment)
|
||||||
throws ExecutionException {
|
throws ExecutionException {
|
||||||
return new MyProfileState();
|
return new MyProfileState();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void checkConfiguration() throws RuntimeConfigurationException {
|
|
||||||
//do nothing
|
|
||||||
}
|
|
||||||
|
|
||||||
private final class MyProfileState implements RunProfileState {
|
private final class MyProfileState implements RunProfileState {
|
||||||
@Override
|
@Override
|
||||||
public ExecutionResult execute(Executor executor, @NotNull ProgramRunner runner) throws ExecutionException {
|
public ExecutionResult execute(Executor executor, @NotNull ProgramRunner runner) throws ExecutionException {
|
||||||
|
|||||||
@@ -16,10 +16,7 @@
|
|||||||
|
|
||||||
package org.jetbrains.jet.plugin.k2jsrun;
|
package org.jetbrains.jet.plugin.k2jsrun;
|
||||||
|
|
||||||
import com.intellij.execution.configurations.ConfigurationFactory;
|
import com.intellij.execution.configurations.*;
|
||||||
import com.intellij.execution.configurations.ConfigurationTypeBase;
|
|
||||||
import com.intellij.execution.configurations.ConfigurationTypeUtil;
|
|
||||||
import com.intellij.execution.configurations.RunConfiguration;
|
|
||||||
import com.intellij.openapi.project.Project;
|
import com.intellij.openapi.project.Project;
|
||||||
import org.jetbrains.jet.plugin.JetIcons;
|
import org.jetbrains.jet.plugin.JetIcons;
|
||||||
|
|
||||||
@@ -43,7 +40,7 @@ public final class K2JSRunConfigurationType extends ConfigurationTypeBase {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public RunConfiguration createTemplateConfiguration(Project project) {
|
public RunConfiguration createTemplateConfiguration(Project project) {
|
||||||
return new K2JSRunConfiguration("Kotlin to JavaScript", project, this);
|
return new K2JSRunConfiguration("Kotlin to JavaScript", new RunConfigurationModule(project), this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user