mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-101147 Gradle: Don't show unnecessary notification about invalid local path
This commit is contained in:
@@ -441,7 +441,7 @@ public class GradleConfigurable implements SearchableConfigurable, Configurable.
|
||||
return;
|
||||
}
|
||||
|
||||
GradleSettings settings = GradleSettings.getInstance(myProject);
|
||||
GradleSettings settings = myHelper.getSettings(myProject);
|
||||
|
||||
String linkedProjectPath = myLinkedGradleProjectPathField.getText();
|
||||
final String gradleHomePath = getPathToUse(myGradleHomeModifiedByUser, settings.getGradleHome(), myGradleHomePathField.getText());
|
||||
@@ -456,11 +456,11 @@ public class GradleConfigurable implements SearchableConfigurable, Configurable.
|
||||
else {
|
||||
preferLocalToWrapper = myUseLocalDistributionButton.isSelected();
|
||||
}
|
||||
GradleSettings.applySettings(linkedProjectPath, gradleHomePath, preferLocalToWrapper, serviceDirPath, myProject);
|
||||
myHelper.applySettings(linkedProjectPath, gradleHomePath, preferLocalToWrapper, serviceDirPath, myProject);
|
||||
|
||||
Project defaultProject = ProjectManager.getInstance().getDefaultProject();
|
||||
Project defaultProject = myHelper.getDefaultProject();
|
||||
if (myProject != defaultProject) {
|
||||
GradleSettings.applyPreferLocalInstallationToWrapper(preferLocalToWrapper, defaultProject);
|
||||
myHelper.applyPreferLocalInstallationToWrapper(preferLocalToWrapper, defaultProject);
|
||||
}
|
||||
|
||||
if (isValidGradleHome(gradleHomePath)) {
|
||||
@@ -476,7 +476,7 @@ public class GradleConfigurable implements SearchableConfigurable, Configurable.
|
||||
myGradleHomeSettingType = GradleHomeSettingType.DEDUCED;
|
||||
}
|
||||
}
|
||||
else {
|
||||
else if (preferLocalToWrapper) {
|
||||
if (StringUtil.isEmpty(gradleHomePath)) {
|
||||
myGradleHomeSettingType = GradleHomeSettingType.UNKNOWN;
|
||||
}
|
||||
@@ -696,9 +696,20 @@ public class GradleConfigurable implements SearchableConfigurable, Configurable.
|
||||
@Nullable
|
||||
File getGradleHome(@Nullable Project project);
|
||||
|
||||
@NotNull
|
||||
Project getDefaultProject();
|
||||
|
||||
@NotNull
|
||||
GradleSettings getSettings(@NotNull Project project);
|
||||
|
||||
void applySettings(@Nullable String linkedProjectPath,
|
||||
@Nullable String gradleHomePath,
|
||||
boolean preferLocalInstallationToWrapper,
|
||||
@Nullable String serviceDirectoryPath,
|
||||
@NotNull Project project);
|
||||
|
||||
void applyPreferLocalInstallationToWrapper(boolean preferLocalToWrapper, @NotNull Project project);
|
||||
|
||||
boolean isGradleWrapperDefined(@Nullable String linkedProjectPath);
|
||||
|
||||
void showBalloon(@NotNull MessageType messageType, @NotNull GradleHomeSettingType settingType, long delayMillis);
|
||||
@@ -722,13 +733,34 @@ public class GradleConfigurable implements SearchableConfigurable, Configurable.
|
||||
public File getGradleHome(@Nullable Project project) {
|
||||
return myInstallationManager.getGradleHome(project);
|
||||
}
|
||||
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public Project getDefaultProject() {
|
||||
return ProjectManager.getInstance().getDefaultProject();
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public GradleSettings getSettings(@NotNull Project project) {
|
||||
return GradleSettings.getInstance(project);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void applySettings(@Nullable String linkedProjectPath,
|
||||
@Nullable String gradleHomePath,
|
||||
boolean preferLocalInstallationToWrapper,
|
||||
@Nullable String serviceDirectoryPath,
|
||||
@NotNull Project project)
|
||||
{
|
||||
GradleSettings.applySettings(linkedProjectPath, gradleHomePath, preferLocalInstallationToWrapper, serviceDirectoryPath, project);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void applyPreferLocalInstallationToWrapper(boolean preferLocalToWrapper, @NotNull Project project) {
|
||||
GradleSettings.applyPreferLocalInstallationToWrapper(preferLocalToWrapper, project);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isGradleWrapperDefined(@Nullable String linkedProjectPath) {
|
||||
return GradleUtil.isGradleWrapperDefined(linkedProjectPath);
|
||||
|
||||
+17
-2
@@ -20,6 +20,7 @@ public class GradleConfigurableTest {
|
||||
|
||||
def GradleConfigurable configurable
|
||||
def projectImpl
|
||||
Project defaultProject = {} as Project
|
||||
Project project
|
||||
def helper
|
||||
Map<Project, GradleSettings> settings = [:].withDefault { new GradleSettings() }
|
||||
@@ -28,7 +29,10 @@ public class GradleConfigurableTest {
|
||||
void setUp() {
|
||||
helper = [
|
||||
getSettings : { settings[it] },
|
||||
getGradleHome : { new File(VALID_GRADLE_HOME) },
|
||||
applySettings: {linkedProjectPath, gradleHomePath, preferLocalInstallationToWrapper, serviceDirectoryPath, project -> },
|
||||
applyPreferLocalInstallationToWrapper: { preferLocalInstallationToWrapper, project -> },
|
||||
getGradleHome: { new File(VALID_GRADLE_HOME) },
|
||||
getDefaultProject: { defaultProject },
|
||||
isGradleSdkHome: { it == VALID_GRADLE_HOME },
|
||||
isGradleWrapperDefined: { it == VALID_LINKED_PATH_WITH_WRAPPER }
|
||||
]
|
||||
@@ -76,7 +80,7 @@ public class GradleConfigurableTest {
|
||||
|
||||
@SuppressWarnings("GroovyAssignabilityCheck")
|
||||
@Test
|
||||
void "invalid gradle home is not reported if home control inactive"() {
|
||||
void "invalid gradle home is not reported if home control is inactive"() {
|
||||
projectImpl.isDefault = { false }
|
||||
settings[project].linkedProjectPath = VALID_LINKED_PATH_WITH_WRAPPER
|
||||
settings[project].preferLocalInstallationToWrapper = false
|
||||
@@ -98,4 +102,15 @@ public class GradleConfigurableTest {
|
||||
fail()
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
void "do not show 'invalid gradle path' balloon if 'use wrapper' is selected"() {
|
||||
settings[project].linkedProjectPath = VALID_LINKED_PATH_WITH_WRAPPER
|
||||
settings[project].preferLocalInstallationToWrapper = false
|
||||
configurable.useWrapperButton.selected = false
|
||||
configurable.gradleHomePathField.text = INVALID_GRADLE_HOME
|
||||
configurable.useWrapperButton.selected = true
|
||||
helper.showBalloon = { messageType, settingType, long delay -> fail() }
|
||||
configurable.apply()
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user