Do not reuse RunConfigurationModule for different configurations

fixed PY-10200 py.test producer choses the wrong project
This commit is contained in:
Ekaterina Tuzova
2013-07-09 16:53:54 +04:00
parent 7f45e1a6ce
commit b00d24e5ff
11 changed files with 40 additions and 33 deletions
@@ -63,7 +63,7 @@ public class RestRunConfigurationType implements ConfigurationType {
}
public RunConfiguration createTemplateConfiguration(Project project) {
return new DocutilsRunConfiguration("", new RunConfigurationModule(project), this);
return new DocutilsRunConfiguration("", project, this);
}
}
@@ -73,7 +73,7 @@ public class RestRunConfigurationType implements ConfigurationType {
}
public RunConfiguration createTemplateConfiguration(Project project) {
return new SphinxRunConfiguration("", new RunConfigurationModule(project), this);
return new SphinxRunConfiguration("", project, this);
}
}
}
@@ -6,6 +6,7 @@ import com.intellij.execution.configurations.*;
import com.intellij.execution.runners.ExecutionEnvironment;
import com.intellij.openapi.fileChooser.FileChooserDescriptorFactory;
import com.intellij.openapi.options.SettingsEditor;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.text.StringUtil;
import com.jetbrains.rest.run.RestConfigurationEditor;
import com.jetbrains.rest.run.RestRunConfiguration;
@@ -17,14 +18,14 @@ import org.jetbrains.annotations.NotNull;
public class DocutilsRunConfiguration extends RestRunConfiguration {
public DocutilsRunConfiguration(final String name,
final RunConfigurationModule module,
final Project project,
final ConfigurationFactory factory) {
super(name, module, factory);
super(name, new RunConfigurationModule(project), factory);
}
@Override
protected ModuleBasedConfiguration createInstance() {
return new DocutilsRunConfiguration(getName(), getConfigurationModule(), getFactory());
return new DocutilsRunConfiguration(getName(), getProject(), getFactory());
}
@Override
@@ -6,6 +6,7 @@ import com.intellij.execution.configurations.*;
import com.intellij.execution.runners.ExecutionEnvironment;
import com.intellij.openapi.fileChooser.FileChooserDescriptorFactory;
import com.intellij.openapi.options.SettingsEditor;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.text.StringUtil;
import com.jetbrains.rest.run.RestConfigurationEditor;
import com.jetbrains.rest.run.RestRunConfiguration;
@@ -16,14 +17,14 @@ import org.jetbrains.annotations.NotNull;
*/
public class SphinxRunConfiguration extends RestRunConfiguration {
public SphinxRunConfiguration(final String name,
final RunConfigurationModule module,
final Project project,
final ConfigurationFactory factory) {
super(name, module, factory);
super(name, new RunConfigurationModule(project), factory);
}
@Override
protected ModuleBasedConfiguration createInstance() {
return new SphinxRunConfiguration(getName(), getConfigurationModule(), getFactory());
return new SphinxRunConfiguration(getName(), getProject(), getFactory());
}
@Override
@@ -3,7 +3,6 @@ package com.jetbrains.python.run;
import com.intellij.execution.configurations.ConfigurationFactory;
import com.intellij.execution.configurations.ConfigurationType;
import com.intellij.execution.configurations.RunConfiguration;
import com.intellij.execution.configurations.RunConfigurationModule;
import com.intellij.openapi.extensions.Extensions;
import com.intellij.openapi.project.Project;
import icons.PythonIcons;
@@ -35,7 +34,7 @@ public class PythonConfigurationType implements ConfigurationType {
}
public RunConfiguration createTemplateConfiguration(Project project) {
return new PythonRunConfiguration(new RunConfigurationModule(project), this, "");
return new PythonRunConfiguration(project, this, "");
}
}
@@ -8,6 +8,7 @@ import com.intellij.execution.filters.Filter;
import com.intellij.execution.runners.ExecutionEnvironment;
import com.intellij.openapi.components.PathMacroManager;
import com.intellij.openapi.options.SettingsEditor;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.Comparing;
import com.intellij.openapi.util.InvalidDataException;
import com.intellij.openapi.util.JDOMExternalizerUtil;
@@ -37,13 +38,13 @@ public class PythonRunConfiguration extends AbstractPythonRunConfiguration
private String myScriptName;
private String myScriptParameters;
protected PythonRunConfiguration(RunConfigurationModule module, ConfigurationFactory configurationFactory, String name) {
super(name, module, configurationFactory);
protected PythonRunConfiguration(Project project, ConfigurationFactory configurationFactory, String name) {
super(name, new RunConfigurationModule(project), configurationFactory);
setUnbufferedEnv();
}
protected ModuleBasedConfiguration createInstance() {
return new PythonRunConfiguration(getConfigurationModule(), getFactory(), getName());
return new PythonRunConfiguration(getProject(), getFactory(), getName());
}
@Override
@@ -36,7 +36,7 @@ public class PythonTestConfigurationType implements ConfigurationType {
@Override
public RunConfiguration createTemplateConfiguration(Project project) {
return new PythonUnitTestRunConfiguration(new RunConfigurationModule(project), this, "");
return new PythonUnitTestRunConfiguration(project, this, "");
}
@Override
@@ -52,7 +52,7 @@ public class PythonTestConfigurationType implements ConfigurationType {
@Override
public RunConfiguration createTemplateConfiguration(Project project) {
return new PythonDocTestRunConfiguration(new RunConfigurationModule(project), this, "");
return new PythonDocTestRunConfiguration(project, this, "");
}
@Override
@@ -68,7 +68,7 @@ public class PythonTestConfigurationType implements ConfigurationType {
@Override
public RunConfiguration createTemplateConfiguration(Project project) {
return new PyTestRunConfiguration("", new RunConfigurationModule(project), this);
return new PyTestRunConfiguration("", project, this);
}
@Override
@@ -84,7 +84,7 @@ public class PythonTestConfigurationType implements ConfigurationType {
@Override
public RunConfiguration createTemplateConfiguration(Project project) {
return new PythonNoseTestRunConfiguration(new RunConfigurationModule(project), this, "");
return new PythonNoseTestRunConfiguration(project, this, "");
}
@Override
@@ -100,7 +100,7 @@ public class PythonTestConfigurationType implements ConfigurationType {
@Override
public RunConfiguration createTemplateConfiguration(Project project) {
return new PythonAtTestRunConfiguration(new RunConfigurationModule(project), this, "");
return new PythonAtTestRunConfiguration(project, this, "");
}
@Override
@@ -5,6 +5,7 @@ import com.intellij.execution.Executor;
import com.intellij.execution.configurations.*;
import com.intellij.execution.runners.ExecutionEnvironment;
import com.intellij.openapi.options.SettingsEditor;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.projectRoots.Sdk;
import com.intellij.openapi.util.InvalidDataException;
import com.intellij.openapi.util.WriteExternalException;
@@ -22,15 +23,15 @@ public class PythonAtTestRunConfiguration extends AbstractPythonTestRunConfigura
implements PythonAtTestRunConfigurationParams {
protected String myTitle = "Attest";
protected String myPluralTitle = "Attests";
public PythonAtTestRunConfiguration(RunConfigurationModule module,
public PythonAtTestRunConfiguration(Project project,
ConfigurationFactory configurationFactory,
String name) {
super(module, configurationFactory, name);
super(new RunConfigurationModule(project), configurationFactory, name);
}
@Override
protected ModuleBasedConfiguration createInstance() {
return new PythonAtTestRunConfiguration(getConfigurationModule(), getFactory(), getName());
return new PythonAtTestRunConfiguration(getProject(), getFactory(), getName());
}
@Override
@@ -5,6 +5,7 @@ import com.intellij.execution.Executor;
import com.intellij.execution.configurations.*;
import com.intellij.execution.runners.ExecutionEnvironment;
import com.intellij.openapi.options.SettingsEditor;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.InvalidDataException;
import com.intellij.openapi.util.WriteExternalException;
import com.jetbrains.python.testing.AbstractPythonTestRunConfiguration;
@@ -18,15 +19,15 @@ public class PythonDocTestRunConfiguration extends AbstractPythonTestRunConfigur
implements PythonDocTestRunConfigurationParams {
protected String myPluralTitle = "Doctests";
protected String myTitle = "Doctest";
public PythonDocTestRunConfiguration(RunConfigurationModule module,
public PythonDocTestRunConfiguration(Project project,
ConfigurationFactory configurationFactory,
String name) {
super(module, configurationFactory, name);
super(new RunConfigurationModule(project), configurationFactory, name);
}
@Override
protected ModuleBasedConfiguration createInstance() {
return new PythonDocTestRunConfiguration(getConfigurationModule(), getFactory(), getName());
return new PythonDocTestRunConfiguration(getProject(), getFactory(), getName());
}
@Override
@@ -6,6 +6,7 @@ import com.intellij.execution.configurations.*;
import com.intellij.execution.runners.ExecutionEnvironment;
import com.intellij.openapi.components.PathMacroManager;
import com.intellij.openapi.options.SettingsEditor;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.projectRoots.Sdk;
import com.intellij.openapi.util.InvalidDataException;
import com.intellij.openapi.util.JDOMExternalizerUtil;
@@ -27,15 +28,15 @@ public class PythonNoseTestRunConfiguration extends AbstractPythonTestRunConfigu
protected String myPluralTitle = "Nosetests";
private boolean useParam = false;
public PythonNoseTestRunConfiguration(RunConfigurationModule module,
public PythonNoseTestRunConfiguration(Project project,
ConfigurationFactory configurationFactory,
String name) {
super(module, configurationFactory, name);
super(new RunConfigurationModule(project), configurationFactory, name);
}
@Override
protected ModuleBasedConfiguration createInstance() {
return new PythonNoseTestRunConfiguration(getConfigurationModule(), getFactory(), getName());
return new PythonNoseTestRunConfiguration(getProject(), getFactory(), getName());
}
@Override
@@ -6,6 +6,7 @@ import com.intellij.execution.configurations.*;
import com.intellij.execution.runners.ExecutionEnvironment;
import com.intellij.openapi.components.PathMacroManager;
import com.intellij.openapi.options.SettingsEditor;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.projectRoots.Sdk;
import com.intellij.openapi.util.InvalidDataException;
import com.intellij.openapi.util.JDOMExternalizerUtil;
@@ -36,12 +37,12 @@ public class PyTestRunConfiguration extends AbstractPythonTestRunConfiguration i
private static final String KEYWORDS_FIELD = "keywords";
private static final String PARAMS_FIELD = "params";
public PyTestRunConfiguration(final String name, final RunConfigurationModule module, final ConfigurationFactory factory) {
super(module, factory, name);
public PyTestRunConfiguration(final String name, final Project project, final ConfigurationFactory factory) {
super(new RunConfigurationModule(project), factory, name);
}
protected ModuleBasedConfiguration createInstance() {
return new PyTestRunConfiguration(getName(), getConfigurationModule(), getFactory());
return new PyTestRunConfiguration(getName(), getProject(), getFactory());
}
protected SettingsEditor<? extends RunConfiguration> createConfigurationEditor() {
@@ -6,6 +6,7 @@ import com.intellij.execution.configurations.*;
import com.intellij.execution.runners.ExecutionEnvironment;
import com.intellij.openapi.components.PathMacroManager;
import com.intellij.openapi.options.SettingsEditor;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.InvalidDataException;
import com.intellij.openapi.util.JDOMExternalizerUtil;
import com.intellij.openapi.util.WriteExternalException;
@@ -26,15 +27,15 @@ public class PythonUnitTestRunConfiguration extends
private String myParams = "";
private boolean useParam = false;
public PythonUnitTestRunConfiguration(RunConfigurationModule module,
public PythonUnitTestRunConfiguration(Project project,
ConfigurationFactory configurationFactory,
String name) {
super(module, configurationFactory, name);
super(new RunConfigurationModule(project), configurationFactory, name);
}
@Override
protected ModuleBasedConfiguration createInstance() {
return new PythonUnitTestRunConfiguration(getConfigurationModule(), getFactory(), getName());
return new PythonUnitTestRunConfiguration(getProject(), getFactory(), getName());
}
@Override