mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
LazyRunConfigurationProducer — python
This commit is contained in:
@@ -4,7 +4,8 @@ package com.jetbrains.python.run;
|
||||
import com.intellij.execution.Location;
|
||||
import com.intellij.execution.actions.ConfigurationContext;
|
||||
import com.intellij.execution.actions.ConfigurationFromContext;
|
||||
import com.intellij.execution.actions.RunConfigurationProducer;
|
||||
import com.intellij.execution.actions.LazyRunConfigurationProducer;
|
||||
import com.intellij.execution.configurations.ConfigurationFactory;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.module.ModuleUtilCore;
|
||||
import com.intellij.openapi.util.Ref;
|
||||
@@ -23,10 +24,11 @@ import java.io.File;
|
||||
/**
|
||||
* @author yole
|
||||
*/
|
||||
public class PythonRunConfigurationProducer extends RunConfigurationProducer<PythonRunConfiguration> {
|
||||
|
||||
public PythonRunConfigurationProducer() {
|
||||
super(PythonConfigurationType.getInstance().getFactory());
|
||||
public final class PythonRunConfigurationProducer extends LazyRunConfigurationProducer<PythonRunConfiguration> {
|
||||
@NotNull
|
||||
@Override
|
||||
public ConfigurationFactory getConfigurationFactory() {
|
||||
return PythonConfigurationType.getInstance().getFactory();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -7,14 +7,18 @@ import com.intellij.execution.actions.ConfigurationContext
|
||||
import com.intellij.execution.actions.ConfigurationFromContext
|
||||
import com.intellij.execution.actions.RunConfigurationProducer
|
||||
import com.intellij.execution.configurations.ConfigurationFactory
|
||||
import com.intellij.execution.configurations.ConfigurationType
|
||||
|
||||
/**
|
||||
* Parent of all test configuration producers
|
||||
*/
|
||||
abstract class AbstractPythonTestConfigurationProducer<T : AbstractPythonTestRunConfiguration<*>> : RunConfigurationProducer<T> {
|
||||
constructor() : super(true)
|
||||
|
||||
/**
|
||||
* @deprecated Override [getConfigurationFactory].
|
||||
*/
|
||||
@Deprecated("Override getConfigurationFactory")
|
||||
constructor(configurationFactory: ConfigurationFactory) : super(configurationFactory)
|
||||
constructor(configurationType: ConfigurationType) : super(configurationType)
|
||||
|
||||
/**
|
||||
* Configuration type this producer accepts/creates
|
||||
|
||||
@@ -655,8 +655,8 @@ abstract class PyAbstractTestFactory<out CONF_T : PyAbstractTestConfiguration> :
|
||||
/**
|
||||
* Only one producer is registered with EP, but it uses factory configured by user to produce different configs
|
||||
*/
|
||||
object PyTestsConfigurationProducer : AbstractPythonTestConfigurationProducer<PyAbstractTestConfiguration>(
|
||||
PythonTestConfigurationType.getInstance()) {
|
||||
object PyTestsConfigurationProducer : AbstractPythonTestConfigurationProducer<PyAbstractTestConfiguration>() {
|
||||
override fun getConfigurationFactory() = PythonTestConfigurationType.getInstance().configurationFactories[0]
|
||||
|
||||
override val configurationClass: Class<PyAbstractTestConfiguration> = PyAbstractTestConfiguration::class.java
|
||||
|
||||
|
||||
@@ -47,6 +47,7 @@ public final class PythonTestConfigurationType extends ConfigurationTypeBase {
|
||||
return super.getConfigurationFactories();
|
||||
});
|
||||
|
||||
@NotNull
|
||||
public static PythonTestConfigurationType getInstance() {
|
||||
return ConfigurationTypeUtil.findConfigurationType(PythonTestConfigurationType.class);
|
||||
}
|
||||
|
||||
@@ -1,18 +1,4 @@
|
||||
/*
|
||||
* Copyright 2000-2014 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
package com.jetbrains.python.testing;
|
||||
|
||||
import com.google.common.collect.Sets;
|
||||
@@ -51,10 +37,16 @@ import java.util.stream.Collectors;
|
||||
abstract public class PythonTestLegacyConfigurationProducer<T extends AbstractPythonLegacyTestRunConfiguration<T>>
|
||||
extends AbstractPythonTestConfigurationProducer<AbstractPythonLegacyTestRunConfiguration<T>> {
|
||||
|
||||
protected PythonTestLegacyConfigurationProducer(final ConfigurationFactory configurationFactory) {
|
||||
/**
|
||||
* @deprecated Override {@link #getConfigurationFactory}
|
||||
*/
|
||||
@Deprecated
|
||||
protected PythonTestLegacyConfigurationProducer(ConfigurationFactory configurationFactory) {
|
||||
super(configurationFactory);
|
||||
}
|
||||
|
||||
protected PythonTestLegacyConfigurationProducer() {
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
|
||||
+6
-4
@@ -4,6 +4,7 @@ package com.jetbrains.python.testing.doctest;
|
||||
|
||||
import com.intellij.execution.Location;
|
||||
import com.intellij.execution.actions.ConfigurationFromContext;
|
||||
import com.intellij.execution.configurations.ConfigurationFactory;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
@@ -23,10 +24,11 @@ import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class PythonDocTestConfigurationProducer extends PythonTestLegacyConfigurationProducer {
|
||||
|
||||
public PythonDocTestConfigurationProducer() {
|
||||
super(PythonTestConfigurationType.getInstance().PY_DOCTEST_FACTORY);
|
||||
public final class PythonDocTestConfigurationProducer extends PythonTestLegacyConfigurationProducer {
|
||||
@NotNull
|
||||
@Override
|
||||
public ConfigurationFactory getConfigurationFactory() {
|
||||
return PythonTestConfigurationType.getInstance().PY_DOCTEST_FACTORY;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+6
-4
@@ -2,6 +2,7 @@
|
||||
package com.jetbrains.python.testing.nosetestLegacy;
|
||||
|
||||
import com.intellij.execution.Location;
|
||||
import com.intellij.execution.configurations.ConfigurationFactory;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.module.ModuleManager;
|
||||
import com.intellij.openapi.projectRoots.Sdk;
|
||||
@@ -14,10 +15,11 @@ import com.jetbrains.python.testing.*;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public class PythonNoseTestConfigurationProducer extends
|
||||
PythonTestLegacyConfigurationProducer {
|
||||
public PythonNoseTestConfigurationProducer() {
|
||||
super(PythonTestConfigurationType.getInstance().LEGACY_NOSETEST_FACTORY);
|
||||
public final class PythonNoseTestConfigurationProducer extends PythonTestLegacyConfigurationProducer {
|
||||
@NotNull
|
||||
@Override
|
||||
public ConfigurationFactory getConfigurationFactory() {
|
||||
return PythonTestConfigurationType.getInstance().LEGACY_NOSETEST_FACTORY;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+7
-5
@@ -1,9 +1,10 @@
|
||||
// Copyright 2000-2017 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
package com.jetbrains.python.testing.pytestLegacy;
|
||||
|
||||
import com.google.common.collect.Lists;
|
||||
import com.intellij.execution.Location;
|
||||
import com.intellij.execution.actions.ConfigurationContext;
|
||||
import com.intellij.execution.configurations.ConfigurationFactory;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.module.ModuleUtilCore;
|
||||
import com.intellij.openapi.projectRoots.Sdk;
|
||||
@@ -33,10 +34,11 @@ import org.jetbrains.annotations.Nullable;
|
||||
import java.io.File;
|
||||
import java.util.List;
|
||||
|
||||
public class PyTestConfigurationProducer extends PythonTestLegacyConfigurationProducer<PyTestRunConfiguration> {
|
||||
|
||||
public PyTestConfigurationProducer() {
|
||||
super(PythonTestConfigurationType.getInstance().LEGACY_PYTEST_FACTORY);
|
||||
public final class PyTestConfigurationProducer extends PythonTestLegacyConfigurationProducer<PyTestRunConfiguration> {
|
||||
@NotNull
|
||||
@Override
|
||||
public ConfigurationFactory getConfigurationFactory() {
|
||||
return PythonTestConfigurationType.getInstance().LEGACY_PYTEST_FACTORY;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -1,37 +1,27 @@
|
||||
/*
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
package com.jetbrains.python.testing.tox;
|
||||
|
||||
import com.intellij.execution.Location;
|
||||
import com.intellij.execution.actions.ConfigurationContext;
|
||||
import com.intellij.execution.actions.RunConfigurationProducer;
|
||||
import com.intellij.execution.actions.LazyRunConfigurationProducer;
|
||||
import com.intellij.execution.configurations.ConfigurationFactory;
|
||||
import com.intellij.openapi.util.Ref;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.psi.PsiDirectory;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
/**
|
||||
* @author Ilya.Kazakevich
|
||||
*/
|
||||
public final class PyToxConfigurationProducer extends RunConfigurationProducer<PyToxConfiguration> {
|
||||
public final class PyToxConfigurationProducer extends LazyRunConfigurationProducer<PyToxConfiguration> {
|
||||
private static final String TOX_FILE_NAME = "tox.ini";
|
||||
|
||||
public PyToxConfigurationProducer() {
|
||||
super(PyToxConfigurationFactory.INSTANCE);
|
||||
@NotNull
|
||||
@Override
|
||||
public ConfigurationFactory getConfigurationFactory() {
|
||||
return PyToxConfigurationFactory.INSTANCE;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+6
-4
@@ -1,8 +1,8 @@
|
||||
// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
|
||||
package com.jetbrains.python.testing.unittestLegacy;
|
||||
|
||||
import com.intellij.execution.Location;
|
||||
import com.intellij.execution.configurations.ConfigurationFactory;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.module.ModuleUtilCore;
|
||||
import com.intellij.psi.PsiElement;
|
||||
@@ -18,9 +18,11 @@ import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class PythonUnitTestConfigurationProducer extends PythonTestLegacyConfigurationProducer {
|
||||
public PythonUnitTestConfigurationProducer() {
|
||||
super(PythonTestConfigurationType.getInstance().LEGACY_UNITTEST_FACTORY);
|
||||
public final class PythonUnitTestConfigurationProducer extends PythonTestLegacyConfigurationProducer {
|
||||
@NotNull
|
||||
@Override
|
||||
public ConfigurationFactory getConfigurationFactory() {
|
||||
return PythonTestConfigurationType.getInstance().LEGACY_UNITTEST_FACTORY;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user