IDEA-210281 Cleanup Gradle settings: removed unnecessary GradleSettingsService

GitOrigin-RevId: f16d4a9a9304ab44f3930faf2ef570a2c12545ab
This commit is contained in:
Anton Makeev
2019-05-17 19:02:56 +03:00
committed by intellij-monorepo-bot
parent b54aaf7e4e
commit f2af643473
13 changed files with 55 additions and 95 deletions
@@ -36,8 +36,8 @@ import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.plugins.gradle.service.project.GradleBuildSrcProjectsResolver;
import org.jetbrains.plugins.gradle.service.project.GradleProjectResolverUtil;
import org.jetbrains.plugins.gradle.service.settings.GradleSettingsService;
import org.jetbrains.plugins.gradle.service.task.GradleTaskManager;
import org.jetbrains.plugins.gradle.settings.GradleProjectSettings;
import org.jetbrains.plugins.gradle.settings.GradleSettings;
import org.jetbrains.plugins.gradle.util.GradleConstants;
@@ -160,7 +160,7 @@ public class GradleProjectTaskRunner extends ProjectTaskRunner {
public boolean canRun(@NotNull ProjectTask projectTask) {
if (projectTask instanceof ModuleBuildTask) {
Module module = ((ModuleBuildTask)projectTask).getModule();
if (!GradleSettingsService.isDelegatedBuildEnabled(module)) return false;
if (!GradleProjectSettings.isDelegatedBuildEnabled(module)) return false;
return isExternalSystemAwareModule(GradleConstants.SYSTEM_ID, module);
}
if (projectTask instanceof ProjectModelBuildTask) {
@@ -177,7 +177,7 @@ public class GradleProjectTaskRunner extends ProjectTaskRunner {
if (runProfile instanceof ModuleBasedConfiguration) {
RunConfigurationModule module = ((ModuleBasedConfiguration)runProfile).getConfigurationModule();
if (!isExternalSystemAwareModule(GradleConstants.SYSTEM_ID, module.getModule()) ||
!GradleSettingsService.isDelegatedBuildEnabled(module.getModule())) {
!GradleProjectSettings.isDelegatedBuildEnabled(module.getModule())) {
return false;
}
}
@@ -31,7 +31,7 @@ import org.jetbrains.annotations.TestOnly;
import org.jetbrains.plugins.gradle.execution.GradleRunnerUtil;
import org.jetbrains.plugins.gradle.service.execution.GradleRunConfiguration;
import org.jetbrains.plugins.gradle.service.project.GradleProjectResolverUtil;
import org.jetbrains.plugins.gradle.service.settings.GradleSettingsService;
import org.jetbrains.plugins.gradle.settings.GradleProjectSettings;
import org.jetbrains.plugins.gradle.settings.TestRunner;
import org.jetbrains.plugins.gradle.util.GradleConstants;
import org.jetbrains.plugins.gradle.util.TasksToRun;
@@ -239,12 +239,12 @@ public abstract class GradleTestRunConfigurationProducer extends RunConfiguratio
}
private static TestRunner getTestRunner(@NotNull Project project, @NotNull String projectPath) {
return GradleSettingsService.getInstance(project).getTestRunner(projectPath);
return GradleProjectSettings.getTestRunner(project, projectPath);
}
private static TestRunner getTestRunner(@NotNull PsiElement sourceElement) {
Module module = ModuleUtilCore.findModuleForPsiElement(sourceElement);
if (module == null) return PLATFORM;
return GradleSettingsService.getTestRunner(module);
return GradleProjectSettings.getTestRunner(module);
}
}
@@ -91,7 +91,6 @@
<applicationService serviceImplementation="org.jetbrains.plugins.gradle.service.GradleInstallationManager"/>
<projectService serviceImplementation="org.jetbrains.plugins.gradle.service.settings.GradleSettingsService"/>
<applicationService serviceImplementation="org.jetbrains.plugins.gradle.settings.GradleSystemSettings"/>
<projectService serviceImplementation="org.jetbrains.plugins.gradle.settings.GradleSettingsMigration$LegacyDefaultGradleProjectSettings"/>
<projectService serviceImplementation="org.jetbrains.plugins.gradle.settings.GradleSettings"/>
@@ -70,7 +70,6 @@ import org.jetbrains.plugins.gradle.service.project.GradleAutoImportAware;
import org.jetbrains.plugins.gradle.service.project.GradleProjectResolver;
import org.jetbrains.plugins.gradle.service.project.GradleProjectResolverExtension;
import org.jetbrains.plugins.gradle.service.settings.GradleConfigurable;
import org.jetbrains.plugins.gradle.service.settings.GradleSettingsService;
import org.jetbrains.plugins.gradle.service.task.GradleTaskManager;
import org.jetbrains.plugins.gradle.settings.*;
import org.jetbrains.plugins.gradle.util.GradleConstants;
@@ -214,7 +213,7 @@ public final class GradleManager
result.setResolveModulePerSourceSet(projectLevelSettings.isResolveModulePerSourceSet());
result.setUseQualifiedModuleNames(projectLevelSettings.isUseQualifiedModuleNames());
}
boolean delegatedBuildEnabled = GradleSettingsService.getInstance(project).isDelegatedBuildEnabled(projectPath);
boolean delegatedBuildEnabled = GradleProjectSettings.isDelegatedBuildEnabled(project, projectPath);
result.setDelegatedBuild(delegatedBuildEnabled);
configureExecutionWorkspace(projectLevelSettings, settings, result, project, projectPath);
@@ -33,7 +33,6 @@ import org.jetbrains.plugins.gradle.model.ExternalProject;
import org.jetbrains.plugins.gradle.model.ExternalSourceDirectorySet;
import org.jetbrains.plugins.gradle.model.ExternalSourceSet;
import org.jetbrains.plugins.gradle.service.project.data.ExternalProjectDataCache;
import org.jetbrains.plugins.gradle.service.settings.GradleSettingsService;
import org.jetbrains.plugins.gradle.settings.GradleLocalSettings;
import org.jetbrains.plugins.gradle.settings.GradleProjectSettings;
import org.jetbrains.plugins.gradle.settings.GradleSettings;
@@ -127,7 +126,7 @@ public class GradleOrderEnumeratorHandler extends OrderEnumerationHandler {
externalProjectDataCache.findExternalProject(externalRootProject, rootModel.getModule());
if (externalSourceSets.isEmpty()) return false;
boolean isDelegatedBuildEnabled = GradleSettingsService.isDelegatedBuildEnabled(rootModel.getModule());
boolean isDelegatedBuildEnabled = GradleProjectSettings.isDelegatedBuildEnabled(rootModel.getModule());
for (ExternalSourceSet sourceSet : externalSourceSets.values()) {
if (includeTests) {
if (isDelegatedBuildEnabled) {
@@ -1,59 +0,0 @@
// 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 org.jetbrains.plugins.gradle.service.settings;
import com.intellij.openapi.components.ServiceManager;
import com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.project.Project;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.plugins.gradle.settings.GradleProjectSettings;
import org.jetbrains.plugins.gradle.settings.GradleSettings;
import org.jetbrains.plugins.gradle.settings.TestRunner;
/**
* {@link GradleSettingsService} provides effective settings for linked gradle projects.
*
* @see GradleProjectSettings
*
* @author Vladislav.Soroka
*/
public class GradleSettingsService {
@NotNull
private final Project myProject;
public GradleSettingsService(@NotNull Project project) {
myProject = project;
}
public boolean isDelegatedBuildEnabled(@Nullable String gradleProjectPath) {
GradleProjectSettings projectSettings = gradleProjectPath == null
? null : GradleSettings.getInstance(myProject).getLinkedProjectSettings(gradleProjectPath);
if (projectSettings == null) return false;
return projectSettings.getDelegatedBuild();
}
@NotNull
public TestRunner getTestRunner(@Nullable String gradleProjectPath) {
GradleProjectSettings projectSettings = gradleProjectPath == null
? null :GradleSettings.getInstance(myProject).getLinkedProjectSettings(gradleProjectPath);
if (projectSettings == null) return TestRunner.PLATFORM;
return projectSettings.getTestRunner();
}
public static boolean isDelegatedBuildEnabled(@NotNull Module module) {
return getInstance(module.getProject()).isDelegatedBuildEnabled(ExternalSystemApiUtil.getExternalRootProjectPath(module));
}
@NotNull
public static TestRunner getTestRunner(@NotNull Module module) {
return getInstance(module.getProject()).getTestRunner(ExternalSystemApiUtil.getExternalRootProjectPath(module));
}
@NotNull
public static GradleSettingsService getInstance(@NotNull Project project) {
return ServiceManager.getService(project, GradleSettingsService.class);
}
}
@@ -4,6 +4,8 @@ package org.jetbrains.plugins.gradle.settings;
import com.intellij.openapi.externalSystem.service.execution.ExternalSystemJdkUtil;
import com.intellij.openapi.externalSystem.settings.ExternalProjectSettings;
import com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.project.Project;
import com.intellij.util.ObjectUtils;
import com.intellij.util.SmartList;
import com.intellij.util.ThreeState;
@@ -13,7 +15,6 @@ import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.plugins.gradle.model.data.BuildParticipant;
import org.jetbrains.plugins.gradle.service.GradleInstallationManager;
import org.jetbrains.plugins.gradle.service.settings.GradleSettingsService;
import java.util.ArrayList;
import java.util.List;
@@ -22,8 +23,6 @@ import java.util.Optional;
/**
* {@link GradleProjectSettings} holds settings for the linked gradle project.
*
* @see GradleSettingsService
*
* @author Denis Zhdanov
*/
public class GradleProjectSettings extends ExternalProjectSettings {
@@ -157,6 +156,18 @@ public class GradleProjectSettings extends ExternalProjectSettings {
this.delegatedBuild = state;
}
public static boolean isDelegatedBuildEnabled(@NotNull Project project, @Nullable String gradleProjectPath) {
GradleProjectSettings projectSettings = gradleProjectPath == null
? null : GradleSettings.getInstance(project).getLinkedProjectSettings(gradleProjectPath);
if (projectSettings == null) return false;
return projectSettings.getDelegatedBuild();
}
public static boolean isDelegatedBuildEnabled(@NotNull Module module) {
return isDelegatedBuildEnabled(module.getProject(), ExternalSystemApiUtil.getExternalRootProjectPath(module));
}
/**
* @return test runner option.
*/
@@ -182,6 +193,20 @@ public class GradleProjectSettings extends ExternalProjectSettings {
this.testRunner = testRunner;
}
@NotNull
public static TestRunner getTestRunner(@NotNull Project project, @Nullable String gradleProjectPath) {
GradleProjectSettings projectSettings = gradleProjectPath == null
? null : GradleSettings.getInstance(project).getLinkedProjectSettings(gradleProjectPath);
if (projectSettings == null) return TestRunner.PLATFORM;
return projectSettings.getTestRunner();
}
@NotNull
public static TestRunner getTestRunner(@NotNull Module module) {
return getTestRunner(module.getProject(), ExternalSystemApiUtil.getExternalRootProjectPath(module));
}
@NotNull
public GradleVersion resolveGradleVersion() {
GradleVersion version = GradleInstallationManager.getGradleVersion(this);
@@ -17,7 +17,6 @@ import com.intellij.util.xmlb.annotations.XCollection;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.plugins.gradle.config.DelegatingGradleSettingsListenerAdapter;
import org.jetbrains.plugins.gradle.service.settings.GradleSettingsService;
import java.util.Collection;
import java.util.Set;
@@ -140,11 +139,11 @@ public class GradleSettings extends AbstractExternalSystemSettings<GradleSetting
ExternalProjectsManagerImpl.getInstance(getProject()).setStoreExternally(storeProjectFilesExternally != ThreeState.NO);
}
if (!Comparing.equal(old.getDelegatedBuild(), current.getDelegatedBuild())) {
boolean delegatedBuild = GradleSettingsService.getInstance(getProject()).isDelegatedBuildEnabled(current.getExternalProjectPath());
boolean delegatedBuild = GradleProjectSettings.isDelegatedBuildEnabled(getProject(), current.getExternalProjectPath());
getPublisher().onBuildDelegationChange(delegatedBuild, current.getExternalProjectPath());
}
if (!Comparing.equal(old.getTestRunner(), current.getTestRunner())) {
TestRunner testRunner = GradleSettingsService.getInstance(getProject()).getTestRunner(current.getExternalProjectPath());
TestRunner testRunner = GradleProjectSettings.getTestRunner(getProject(), current.getExternalProjectPath());
getPublisher().onTestRunnerChange(testRunner, current.getExternalProjectPath());
}
}
@@ -5,10 +5,9 @@ import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.module.Module;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.plugins.gradle.service.settings.GradleSettingsService;
/**
* @deprecated use {@link GradleSettingsService}
* @deprecated use {@link GradleProjectSettings}
*/
@Deprecated
@ApiStatus.ScheduledForRemoval(inVersion = "2019.2")
@@ -22,7 +21,7 @@ public class GradleSystemRunningSettings {
}
/**
* @deprecated use {@link GradleSettingsService#isDelegatedBuildEnabled(Module)} )
* @deprecated use {@link GradleProjectSettings#isDelegatedBuildEnabled(Module)} )
*/
@Deprecated
public boolean isUseGradleAwareMake() {
@@ -9,7 +9,7 @@ import com.intellij.openapi.externalSystem.statistics.ExternalSystemUsagesCollec
import com.intellij.openapi.project.Project
import com.intellij.openapi.util.Version
import org.gradle.util.GradleVersion
import org.jetbrains.plugins.gradle.service.settings.GradleSettingsService
import org.jetbrains.plugins.gradle.settings.GradleProjectSettings
import org.jetbrains.plugins.gradle.settings.GradleSettings
class GradleSettingsCollector : ProjectUsagesCollector() {
@@ -32,7 +32,6 @@ class GradleSettingsCollector : ProjectUsagesCollector() {
usages.add(getBooleanUsage("hasCustomGradleVmOptions", !gradleSettings.gradleVmOptions.isNullOrBlank()))
usages.add(getBooleanUsage("showSelectiveImportDialogOnInitialImport", gradleSettings.showSelectiveImportDialogOnInitialImport()))
val settingsService = GradleSettingsService.getInstance(project)
// project settings
for (setting in gradleSettings.linkedProjectsSettings) {
val projectPath = setting.externalProjectPath
@@ -55,8 +54,10 @@ class GradleSettingsCollector : ProjectUsagesCollector() {
usages.add(UsageDescriptor("gradleVersion." + anonymizeGradleVersion(gradleVersion), 1))
}
usages.add(getBooleanUsage("delegateBuildRun", settingsService.isDelegatedBuildEnabled(projectPath)))
usages.add(getEnumUsage("preferredTestRunner", settingsService.getTestRunner(projectPath)))
usages.add(getBooleanUsage("delegateBuildRun",
GradleProjectSettings.isDelegatedBuildEnabled(project, projectPath)))
usages.add(getEnumUsage("preferredTestRunner",
GradleProjectSettings.getTestRunner(project, projectPath)))
}
return usages
}
@@ -26,7 +26,7 @@ import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.jps.model.java.JavaSourceRootType;
import org.jetbrains.plugins.gradle.GradleManager;
import org.jetbrains.plugins.gradle.service.settings.GradleSettingsService;
import org.jetbrains.plugins.gradle.settings.GradleProjectSettings;
import org.jetbrains.plugins.gradle.settings.GradleSettings;
import org.jetbrains.plugins.gradle.tooling.annotation.TargetVersions;
import org.jetbrains.plugins.gradle.util.GradleConstants;
@@ -692,7 +692,7 @@ public class GradleFoldersImportingTest extends GradleImportingTestCase {
}
protected void assertDefaultGradleJavaProjectFolders(@NotNull String mainModuleName) {
boolean isDelegatedBuild = GradleSettingsService.getInstance(myProject).isDelegatedBuildEnabled(getProjectPath());
boolean isDelegatedBuild = GradleProjectSettings.isDelegatedBuildEnabled(myProject, getProjectPath());
String[] excludes = isDelegatedBuild ? new String[]{".gradle", "build"} : new String[]{".gradle", "build", "out"};
assertExcludes(mainModuleName, excludes);
final String mainSourceSetModuleName = mainModuleName + ".main";
@@ -707,7 +707,7 @@ public class GradleFoldersImportingTest extends GradleImportingTestCase {
protected void assertDefaultGradleJavaProjectFoldersForMergedModule(@NotNull String moduleName) {
assertContentRoots(moduleName, getProjectPath());
boolean isDelegatedBuild = GradleSettingsService.getInstance(myProject).isDelegatedBuildEnabled(getProjectPath());
boolean isDelegatedBuild = GradleProjectSettings.isDelegatedBuildEnabled(myProject, getProjectPath());
String[] excludes = isDelegatedBuild ? new String[]{".gradle", "build"} : new String[]{".gradle", "build", "out"};
assertExcludes(moduleName, excludes);
assertSources(moduleName, "src/main/java");
@@ -39,7 +39,7 @@ import com.intellij.psi.codeStyle.CodeStyleSettings;
import com.intellij.testFramework.PlatformTestUtil;
import org.intellij.lang.annotations.Language;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.plugins.gradle.service.settings.GradleSettingsService;
import org.jetbrains.plugins.gradle.settings.GradleProjectSettings;
import org.jetbrains.plugins.gradle.settings.GradleSettings;
import org.jetbrains.plugins.gradle.settings.TestRunner;
import org.junit.Ignore;
@@ -499,10 +499,9 @@ public class GradleSettingsImportingTest extends GradleSettingsImportingTestCase
"}")
);
GradleSettingsService settingsService = GradleSettingsService.getInstance(myProject);
String projectPath = getCurrentExternalProjectSettings().getExternalProjectPath();
assertTrue(settingsService.isDelegatedBuildEnabled(projectPath));
assertEquals(TestRunner.CHOOSE_PER_TEST, settingsService.getTestRunner(projectPath));
assertTrue(GradleProjectSettings.isDelegatedBuildEnabled(myProject, projectPath));
assertEquals(TestRunner.CHOOSE_PER_TEST, GradleProjectSettings.getTestRunner(myProject, projectPath));
}
@Test
@@ -8,7 +8,6 @@ import com.intellij.testFramework.UsefulTestCase
import com.intellij.testFramework.fixtures.IdeaProjectTestFixture
import com.intellij.testFramework.fixtures.IdeaTestFixtureFactory
import com.intellij.util.ThrowableRunnable
import org.jetbrains.plugins.gradle.service.settings.GradleSettingsService
import org.jetbrains.plugins.gradle.settings.TestRunner.GRADLE
import org.junit.After
import org.junit.Before
@@ -18,7 +17,6 @@ class GradleSettingsTest : UsefulTestCase() {
private lateinit var myTestFixture: IdeaProjectTestFixture
private lateinit var myProject: Project
private lateinit var settingsService: GradleSettingsService
private lateinit var gradleProjectSettings: GradleProjectSettings
@Before
@@ -28,7 +26,6 @@ class GradleSettingsTest : UsefulTestCase() {
myTestFixture.setUp()
myProject = myTestFixture.project
settingsService = GradleSettingsService.getInstance(myProject)
gradleProjectSettings = GradleProjectSettings().apply { externalProjectPath = myProject.guessProjectDir()!!.path }
GradleSettings.getInstance(myProject).linkProject(gradleProjectSettings)
}
@@ -45,10 +42,12 @@ class GradleSettingsTest : UsefulTestCase() {
fun `test delegation settings default configuration`() {
// check test runner defaults
assertEquals(GRADLE, gradleProjectSettings.testRunner)
assertEquals(GRADLE, settingsService.getTestRunner(gradleProjectSettings.externalProjectPath))
assertEquals(GRADLE, GradleProjectSettings.getTestRunner(myProject,
gradleProjectSettings.externalProjectPath))
// check build/run defaults
assertTrue(gradleProjectSettings.delegatedBuild)
assertTrue(settingsService.isDelegatedBuildEnabled(gradleProjectSettings.externalProjectPath))
assertTrue(GradleProjectSettings.isDelegatedBuildEnabled(myProject,
gradleProjectSettings.externalProjectPath))
}
}