mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-127219 Ability to disable Gradle as "configuration type to run" option for tests
This commit is contained in:
@@ -36,6 +36,10 @@ gradle.codeInsight.action.apply_plugin.popup.title=Choose plugin
|
||||
gradle.codeInsight.action.add_maven_dependency.text=Add maven artifact dependency
|
||||
gradle.codeInsight.action.add_maven_dependency.description=Add selected maven artifact dependency to the project
|
||||
|
||||
gradle.runner=Runner
|
||||
gradle.preferred_test_runner.ask=Let me choose per test
|
||||
gradle.preferred_test_runner.PLATFORM_TEST_RUNNER=Platform Test Runner
|
||||
gradle.preferred_test_runner.GRADLE_TEST_RUNNER=Gradle Test Runner
|
||||
gradle.test.runner.ui.tests.tree.presentation.labels.waiting.tests=Waiting for tests...
|
||||
gradle.test.runner.ui.tests.tree.presentation.labels.no.tests.were.found=Test events were not received
|
||||
gradle.test.runner.ui.tests.actions.open.gradle.report.text=Open Gradle test report
|
||||
|
||||
@@ -86,11 +86,11 @@
|
||||
<errorHandler implementation="com.intellij.diagnostic.ITNReporter"/>
|
||||
<testActionProvider implementation="org.jetbrains.plugins.gradle.execution.test.runner.OpenGradleTestResultActionProvider"/>
|
||||
<runConfigurationProducer implementation="org.jetbrains.plugins.gradle.execution.test.runner.AllInPackageGradleConfigurationProducer"
|
||||
order="first"/>
|
||||
order="last"/>
|
||||
<runConfigurationProducer implementation="org.jetbrains.plugins.gradle.execution.test.runner.TestClassGradleConfigurationProducer"
|
||||
order="first"/>
|
||||
order="last"/>
|
||||
<runConfigurationProducer implementation="org.jetbrains.plugins.gradle.execution.test.runner.TestMethodGradleConfigurationProducer"
|
||||
order="first"/>
|
||||
order="last"/>
|
||||
<externalSystemExecutionConsoleManager implementation="org.jetbrains.plugins.gradle.execution.test.runner.GradleTestsExecutionConsoleManager"/>
|
||||
<projectImportProvider implementation="org.jetbrains.plugins.gradle.service.project.wizard.GradleProjectImportProvider"/>
|
||||
<projectImportBuilder implementation="org.jetbrains.plugins.gradle.service.project.wizard.GradleProjectImportBuilder"/>
|
||||
@@ -99,7 +99,11 @@
|
||||
<internalFileTemplate name="Gradle Build Script with wrapper"/>
|
||||
<projectConfigurable groupId="build.tools" groupWeight="110" id="reference.settingsdialog.project.gradle"
|
||||
instance="org.jetbrains.plugins.gradle.service.settings.GradleConfigurable"
|
||||
key="gradle.name" bundle="i18n.GradleBundle"/>
|
||||
key="gradle.name" bundle="i18n.GradleBundle">
|
||||
<configurable instance="org.jetbrains.plugins.gradle.settings.GradleRunnerConfigurable"
|
||||
id="reference.settings.project.gradle.running" key="gradle.runner" bundle="i18n.GradleBundle"
|
||||
nonDefaultProject="true"/>
|
||||
</projectConfigurable>
|
||||
<library.presentationProvider implementation="org.jetbrains.plugins.gradle.config.GradleLibraryPresentationProvider" order="last"/>
|
||||
<java.elementFinder implementation="org.jetbrains.plugins.gradle.config.GradleClassFinder"/>
|
||||
<editorTabTitleProvider implementation="org.jetbrains.plugins.gradle.util.GradleEditorTabTitleProvider"/>
|
||||
@@ -119,6 +123,7 @@
|
||||
<applicationService serviceImplementation="org.jetbrains.plugins.gradle.service.GradleInstallationManager"/>
|
||||
|
||||
<applicationService serviceImplementation="org.jetbrains.plugins.gradle.settings.GradleSystemSettings"/>
|
||||
<applicationService serviceImplementation="org.jetbrains.plugins.gradle.settings.GradleSystemRunningSettings"/>
|
||||
<projectService serviceImplementation="org.jetbrains.plugins.gradle.settings.GradleSettings"/>
|
||||
<projectService serviceImplementation="org.jetbrains.plugins.gradle.settings.GradleLocalSettings"/>
|
||||
<projectService serviceImplementation="org.jetbrains.plugins.gradle.service.project.GradleNotification"/>
|
||||
|
||||
+4
-8
@@ -43,10 +43,9 @@ public class AllInPackageGradleConfigurationProducer extends GradleTestRunConfig
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean setupConfigurationFromContext(ExternalSystemRunConfiguration configuration,
|
||||
ConfigurationContext context,
|
||||
Ref<PsiElement> sourceElement) {
|
||||
|
||||
protected boolean doSetupConfigurationFromContext(ExternalSystemRunConfiguration configuration,
|
||||
ConfigurationContext context,
|
||||
Ref<PsiElement> sourceElement) {
|
||||
final PsiPackage psiPackage = JavaRuntimeConfigurationProducerBase.checkPackage(context.getPsiLocation());
|
||||
if (psiPackage == null) return false;
|
||||
sourceElement.set(psiPackage);
|
||||
@@ -75,10 +74,7 @@ public class AllInPackageGradleConfigurationProducer extends GradleTestRunConfig
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isConfigurationFromContext(ExternalSystemRunConfiguration configuration, ConfigurationContext context) {
|
||||
if (configuration == null) return false;
|
||||
if (!GradleConstants.SYSTEM_ID.equals(configuration.getSettings().getExternalSystemId())) return false;
|
||||
|
||||
protected boolean doIsConfigurationFromContext(ExternalSystemRunConfiguration configuration, ConfigurationContext context) {
|
||||
final PsiPackage psiPackage = JavaRuntimeConfigurationProducerBase.checkPackage(context.getPsiLocation());
|
||||
if (psiPackage == null) return false;
|
||||
|
||||
|
||||
+62
-2
@@ -15,6 +15,9 @@
|
||||
*/
|
||||
package org.jetbrains.plugins.gradle.execution.test.runner;
|
||||
|
||||
import com.intellij.execution.RunManagerEx;
|
||||
import com.intellij.execution.RunnerAndConfigurationSettings;
|
||||
import com.intellij.execution.actions.ConfigurationContext;
|
||||
import com.intellij.execution.actions.ConfigurationFromContext;
|
||||
import com.intellij.execution.actions.RunConfigurationProducer;
|
||||
import com.intellij.execution.configurations.ConfigurationType;
|
||||
@@ -27,17 +30,23 @@ import com.intellij.openapi.externalSystem.service.execution.ExternalSystemRunCo
|
||||
import com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil;
|
||||
import com.intellij.openapi.externalSystem.util.ExternalSystemUtil;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.util.Ref;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.util.BooleanFunction;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.plugins.gradle.service.project.GradleProjectResolverUtil;
|
||||
import org.jetbrains.plugins.gradle.service.resolve.GradleCommonClassNames;
|
||||
import org.jetbrains.plugins.gradle.settings.GradleSystemRunningSettings;
|
||||
import org.jetbrains.plugins.gradle.util.GradleConstants;
|
||||
import org.jetbrains.plugins.gradle.util.GradleEnvironment;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import static org.jetbrains.plugins.gradle.settings.GradleSystemRunningSettings.PreferredTestRunner.GRADLE_TEST_RUNNER;
|
||||
import static org.jetbrains.plugins.gradle.settings.GradleSystemRunningSettings.PreferredTestRunner.PLATFORM_TEST_RUNNER;
|
||||
|
||||
/**
|
||||
* @author Vladislav.Soroka
|
||||
* @since 2/26/2015
|
||||
@@ -52,9 +61,60 @@ public abstract class GradleTestRunConfigurationProducer extends RunConfiguratio
|
||||
|
||||
@Override
|
||||
public boolean isPreferredConfiguration(ConfigurationFromContext self, ConfigurationFromContext other) {
|
||||
return !GradleEnvironment.PREFER_IDEA_TEST_RUNNER && super.isPreferredConfiguration(self, other);
|
||||
return GradleSystemRunningSettings.getInstance().getPreferredTestRunner() == null ||
|
||||
GradleSystemRunningSettings.getInstance().getPreferredTestRunner() == GRADLE_TEST_RUNNER;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean shouldReplace(ConfigurationFromContext self, ConfigurationFromContext other) {
|
||||
return GradleSystemRunningSettings.getInstance().getPreferredTestRunner() == GRADLE_TEST_RUNNER;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public RunnerAndConfigurationSettings findExistingConfiguration(ConfigurationContext context) {
|
||||
final RunnerAndConfigurationSettings existingConfiguration = super.findExistingConfiguration(context);
|
||||
if (existingConfiguration == null && GradleSystemRunningSettings.getInstance().getPreferredTestRunner() == GRADLE_TEST_RUNNER) {
|
||||
final ConfigurationFromContext createdContext = createConfigurationFromContext(context);
|
||||
if (createdContext != null) {
|
||||
final RunnerAndConfigurationSettings settings = createdContext.getConfigurationSettings();
|
||||
final RunManagerEx manager = RunManagerEx.getInstanceEx(context.getProject());
|
||||
manager.setTemporaryConfiguration(settings);
|
||||
return settings;
|
||||
}
|
||||
else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
return existingConfiguration;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean setupConfigurationFromContext(ExternalSystemRunConfiguration configuration,
|
||||
ConfigurationContext context,
|
||||
Ref<PsiElement> sourceElement) {
|
||||
if (!GradleConstants.SYSTEM_ID.equals(configuration.getSettings().getExternalSystemId())) return false;
|
||||
if (GradleSystemRunningSettings.getInstance().getPreferredTestRunner() == PLATFORM_TEST_RUNNER) return false;
|
||||
|
||||
return doSetupConfigurationFromContext(configuration, context, sourceElement);
|
||||
}
|
||||
|
||||
protected abstract boolean doSetupConfigurationFromContext(ExternalSystemRunConfiguration configuration,
|
||||
ConfigurationContext context,
|
||||
Ref<PsiElement> sourceElement);
|
||||
|
||||
@Override
|
||||
public boolean isConfigurationFromContext(ExternalSystemRunConfiguration configuration, ConfigurationContext context) {
|
||||
if (GradleSystemRunningSettings.getInstance().getPreferredTestRunner() == PLATFORM_TEST_RUNNER) return false;
|
||||
if (configuration == null) return false;
|
||||
if (!GradleConstants.SYSTEM_ID.equals(configuration.getSettings().getExternalSystemId())) return false;
|
||||
|
||||
return doIsConfigurationFromContext(configuration, context);
|
||||
}
|
||||
|
||||
protected abstract boolean doIsConfigurationFromContext(ExternalSystemRunConfiguration configuration, ConfigurationContext context);
|
||||
|
||||
@NotNull
|
||||
static List<String> getTasksToRun(Module module) {
|
||||
final List<String> result;
|
||||
|
||||
+4
-9
@@ -35,7 +35,6 @@ import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiMethod;
|
||||
import com.intellij.util.ArrayUtil;
|
||||
import com.intellij.util.Function;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.plugins.gradle.service.execution.GradleExternalTaskConfigurationType;
|
||||
import org.jetbrains.plugins.gradle.util.GradleConstants;
|
||||
@@ -55,10 +54,9 @@ public class TestClassGradleConfigurationProducer extends GradleTestRunConfigura
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean setupConfigurationFromContext(ExternalSystemRunConfiguration configuration,
|
||||
ConfigurationContext context,
|
||||
Ref<PsiElement> sourceElement) {
|
||||
|
||||
protected boolean doSetupConfigurationFromContext(ExternalSystemRunConfiguration configuration,
|
||||
ConfigurationContext context,
|
||||
Ref<PsiElement> sourceElement) {
|
||||
final Location contextLocation = context.getLocation();
|
||||
assert contextLocation != null;
|
||||
final Location location = JavaExecutionUtil.stepIntoSingleClass(contextLocation);
|
||||
@@ -93,10 +91,7 @@ public class TestClassGradleConfigurationProducer extends GradleTestRunConfigura
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isConfigurationFromContext(ExternalSystemRunConfiguration configuration, ConfigurationContext context) {
|
||||
if (configuration == null) return false;
|
||||
if (!GradleConstants.SYSTEM_ID.equals(configuration.getSettings().getExternalSystemId())) return false;
|
||||
|
||||
protected boolean doIsConfigurationFromContext(ExternalSystemRunConfiguration configuration, ConfigurationContext context) {
|
||||
final Location contextLocation = context.getLocation();
|
||||
assert contextLocation != null;
|
||||
final Location location = JavaExecutionUtil.stepIntoSingleClass(contextLocation);
|
||||
|
||||
+5
-8
@@ -51,9 +51,9 @@ public class TestMethodGradleConfigurationProducer extends GradleTestRunConfigur
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean setupConfigurationFromContext(ExternalSystemRunConfiguration configuration,
|
||||
ConfigurationContext context,
|
||||
Ref<PsiElement> sourceElement) {
|
||||
protected boolean doSetupConfigurationFromContext(ExternalSystemRunConfiguration configuration,
|
||||
ConfigurationContext context,
|
||||
Ref<PsiElement> sourceElement) {
|
||||
if (RunConfigurationProducer.getInstance(PatternConfigurationProducer.class).isMultipleElementsSelected(context)) {
|
||||
return false;
|
||||
}
|
||||
@@ -77,10 +77,7 @@ public class TestMethodGradleConfigurationProducer extends GradleTestRunConfigur
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isConfigurationFromContext(ExternalSystemRunConfiguration configuration, ConfigurationContext context) {
|
||||
if (configuration == null) return false;
|
||||
if (!GradleConstants.SYSTEM_ID.equals(configuration.getSettings().getExternalSystemId())) return false;
|
||||
|
||||
protected boolean doIsConfigurationFromContext(ExternalSystemRunConfiguration configuration, ConfigurationContext context) {
|
||||
if (RunConfigurationProducer.getInstance(PatternConfigurationProducer.class).isMultipleElementsSelected(context)) {
|
||||
return false;
|
||||
}
|
||||
@@ -174,7 +171,7 @@ public class TestMethodGradleConfigurationProducer extends GradleTestRunConfigur
|
||||
}
|
||||
|
||||
configuration.getSettings().setScriptParameters(buf.toString().trim());
|
||||
configuration.setName(psiMethod.getName());
|
||||
configuration.setName((containingClasses.length == 1 ? containingClasses[0].getName() + "." : "") + psiMethod.getName());
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<form xmlns="http://www.intellij.com/uidesigner/form/" version="1" bind-to-class="org.jetbrains.plugins.gradle.settings.GradleRunnerConfigurable">
|
||||
<grid id="27dc6" binding="myMainPanel" layout-manager="GridLayoutManager" row-count="3" column-count="5" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
|
||||
<margin top="0" left="0" bottom="0" right="0"/>
|
||||
<constraints>
|
||||
<xy x="20" y="20" width="923" height="400"/>
|
||||
</constraints>
|
||||
<properties/>
|
||||
<border type="none"/>
|
||||
<children>
|
||||
<component id="2c82f" class="com.intellij.openapi.ui.ComboBox" binding="myPreferredTestRunner" custom-create="true">
|
||||
<constraints>
|
||||
<grid row="1" column="0" row-span="1" col-span="5" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
|
||||
</constraints>
|
||||
<properties/>
|
||||
</component>
|
||||
<vspacer id="6ca33">
|
||||
<constraints>
|
||||
<grid row="2" column="4" row-span="1" col-span="1" vsize-policy="6" hsize-policy="1" anchor="0" fill="2" indent="0" use-parent-layout="false"/>
|
||||
</constraints>
|
||||
</vspacer>
|
||||
<component id="2514a" class="com.intellij.ui.TitledSeparator">
|
||||
<constraints>
|
||||
<grid row="0" column="0" row-span="1" col-span="5" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
|
||||
</constraints>
|
||||
<properties>
|
||||
<text value="<html>Run tests using:</html>"/>
|
||||
</properties>
|
||||
</component>
|
||||
</children>
|
||||
</grid>
|
||||
</form>
|
||||
+148
@@ -0,0 +1,148 @@
|
||||
/*
|
||||
* 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.
|
||||
*/
|
||||
package org.jetbrains.plugins.gradle.settings;
|
||||
|
||||
import com.google.common.base.Objects;
|
||||
import com.intellij.openapi.options.BaseConfigurable;
|
||||
import com.intellij.openapi.options.ConfigurationException;
|
||||
import com.intellij.openapi.options.SearchableConfigurable;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.ui.ComboBox;
|
||||
import org.jetbrains.annotations.Nls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.plugins.gradle.util.GradleBundle;
|
||||
|
||||
import javax.swing.*;
|
||||
|
||||
/**
|
||||
* @author Vladislav.Soroka
|
||||
* @since 11/2/2015
|
||||
*/
|
||||
public class GradleRunnerConfigurable extends BaseConfigurable implements SearchableConfigurable {
|
||||
|
||||
private JPanel myMainPanel;
|
||||
private ComboBox myPreferredTestRunner;
|
||||
private static final TestRunnerItem[] TEST_RUNNER_ITEMS = new TestRunnerItem[]{
|
||||
new TestRunnerItem(GradleSystemRunningSettings.PreferredTestRunner.PLATFORM_TEST_RUNNER),
|
||||
new TestRunnerItem(GradleSystemRunningSettings.PreferredTestRunner.GRADLE_TEST_RUNNER),
|
||||
new TestRunnerItem(null)};
|
||||
|
||||
|
||||
private final Project myProject;
|
||||
|
||||
public GradleRunnerConfigurable(Project project) {
|
||||
myProject = project;
|
||||
}
|
||||
|
||||
@Nls
|
||||
@Override
|
||||
public String getDisplayName() {
|
||||
return GradleBundle.message("gradle.runner");
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public String getHelpTopic() {
|
||||
return "reference.settings.project.gradle.running";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void apply() throws ConfigurationException {
|
||||
GradleSystemRunningSettings.getInstance().setPreferredTestRunner(
|
||||
((TestRunnerItem)myPreferredTestRunner.getSelectedItem()).value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void reset() {
|
||||
GradleSystemRunningSettings settings = GradleSystemRunningSettings.getInstance();
|
||||
final TestRunnerItem item = getItem(settings.getPreferredTestRunner());
|
||||
myPreferredTestRunner.setSelectedItem(item);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public JComponent createComponent() {
|
||||
return myMainPanel;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isModified() {
|
||||
GradleSystemRunningSettings uiSettings = new GradleSystemRunningSettings();
|
||||
final TestRunnerItem selectedItem = (TestRunnerItem)myPreferredTestRunner.getSelectedItem();
|
||||
GradleSystemRunningSettings.PreferredTestRunner preferredTestRunner = selectedItem == null ? null : selectedItem.value;
|
||||
uiSettings.setPreferredTestRunner(preferredTestRunner);
|
||||
GradleSystemRunningSettings settings = GradleSystemRunningSettings.getInstance();
|
||||
return !settings.equals(uiSettings);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void disposeUIResources() {
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public String getId() {
|
||||
return "reference.settings.project.gradle.running";
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public Runnable enableSearch(String option) {
|
||||
return null;
|
||||
}
|
||||
|
||||
private void createUIComponents() {
|
||||
myPreferredTestRunner = new ComboBox(getItems());
|
||||
}
|
||||
|
||||
private static TestRunnerItem getItem(GradleSystemRunningSettings.PreferredTestRunner preferredTestRunner) {
|
||||
for (TestRunnerItem item : getItems()) {
|
||||
if (item.value == preferredTestRunner) return item;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private static TestRunnerItem[] getItems() {
|
||||
return TEST_RUNNER_ITEMS;
|
||||
}
|
||||
|
||||
static class TestRunnerItem {
|
||||
public TestRunnerItem(GradleSystemRunningSettings.PreferredTestRunner value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
GradleSystemRunningSettings.PreferredTestRunner value;
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (this == o) return true;
|
||||
if (!(o instanceof TestRunnerItem)) return false;
|
||||
TestRunnerItem item = (TestRunnerItem)o;
|
||||
return value == item.value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return GradleBundle.message("gradle.preferred_test_runner." + (value == null ? "ask" : value.name()));
|
||||
}
|
||||
}
|
||||
}
|
||||
+85
@@ -0,0 +1,85 @@
|
||||
/*
|
||||
* 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.
|
||||
*/
|
||||
package org.jetbrains.plugins.gradle.settings;
|
||||
|
||||
import com.google.common.base.Objects;
|
||||
import com.intellij.openapi.components.*;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
/**
|
||||
* @author Vladislav.Soroka
|
||||
* @since 14/8/2014
|
||||
*/
|
||||
@State(
|
||||
name = "GradleSystemRunningSettings",
|
||||
storages = {
|
||||
@Storage(file = StoragePathMacros.APP_CONFIG + "/gradle.run.settings.xml")
|
||||
}
|
||||
)
|
||||
public class GradleSystemRunningSettings implements PersistentStateComponent<GradleSystemRunningSettings.MyState> {
|
||||
|
||||
@Nullable private PreferredTestRunner myPreferredTestRunner = PreferredTestRunner.PLATFORM_TEST_RUNNER;
|
||||
|
||||
@NotNull
|
||||
public static GradleSystemRunningSettings getInstance() {
|
||||
return ServiceManager.getService(GradleSystemRunningSettings.class);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Nullable
|
||||
@Override
|
||||
public GradleSystemRunningSettings.MyState getState() {
|
||||
MyState state = new MyState();
|
||||
state.preferredTestRunner = myPreferredTestRunner;
|
||||
return state;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void loadState(MyState state) {
|
||||
myPreferredTestRunner = state.preferredTestRunner;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public PreferredTestRunner getPreferredTestRunner() {
|
||||
return myPreferredTestRunner;
|
||||
}
|
||||
|
||||
public void setPreferredTestRunner(@Nullable PreferredTestRunner preferredTestRunner) {
|
||||
myPreferredTestRunner = preferredTestRunner;
|
||||
}
|
||||
|
||||
public static class MyState {
|
||||
public PreferredTestRunner preferredTestRunner;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (this == o) return true;
|
||||
if (!(o instanceof GradleSystemRunningSettings)) return false;
|
||||
GradleSystemRunningSettings settings = (GradleSystemRunningSettings)o;
|
||||
return Objects.equal(myPreferredTestRunner, settings.myPreferredTestRunner);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(myPreferredTestRunner);
|
||||
}
|
||||
|
||||
public enum PreferredTestRunner {
|
||||
PLATFORM_TEST_RUNNER, GRADLE_TEST_RUNNER
|
||||
}
|
||||
}
|
||||
@@ -11,7 +11,6 @@ public class GradleEnvironment {
|
||||
|
||||
@NonNls public static final boolean DEBUG_GRADLE_HOME_PROCESSING = Boolean.getBoolean("gradle.debug.home.processing");
|
||||
@NonNls public static final boolean ADJUST_USER_DIR = Boolean.getBoolean("gradle.adjust.userdir");
|
||||
@NonNls public static final boolean PREFER_IDEA_TEST_RUNNER = Boolean.getBoolean("idea.gradle.prefer.idea_test_runner");
|
||||
|
||||
public static class Headless {
|
||||
@NonNls public static final String GRADLE_DISTRIBUTION_TYPE = System.getProperty("idea.gradle.distributionType");
|
||||
|
||||
Reference in New Issue
Block a user