From ce3727e1b529e21838eaa223ee031331986ca9e9 Mon Sep 17 00:00:00 2001 From: "Alexander.Glukhov" Date: Mon, 17 Feb 2025 10:39:23 +0100 Subject: [PATCH] [gradle] do not use deprecated methods from GradleInstallationManager GitOrigin-RevId: f02061db65623297c74743735c074c66be27c2d5 --- .../src/org/jetbrains/plugins/gradle/GradleManager.java | 6 +++--- .../plugins/gradle/service/GradleInstallationManager.kt | 2 ++ .../plugins/gradle/settings/GradleLocalSettings.java | 3 ++- .../kotlin/idea/gradleJava/scripting/GradleImportHelper.kt | 2 +- .../gradleJava/scripting/ProjectGradleSettingsListener.kt | 3 ++- .../gradleJava/scripting/importing/KotlinDslSyncListener.kt | 4 ++-- .../gradleJava/scripting/roots/GradleBuildRootsManager.kt | 3 ++- 7 files changed, 14 insertions(+), 9 deletions(-) diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/GradleManager.java b/plugins/gradle/src/org/jetbrains/plugins/gradle/GradleManager.java index 9424c6bc6dc0..d50e63d17b1b 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/GradleManager.java +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/GradleManager.java @@ -110,15 +110,15 @@ public final class GradleManager String rootProjectPath = projectLevelSettings != null ? projectLevelSettings.getExternalProjectPath() : projectPath; GradleInstallationManager gradleInstallationManager = GradleInstallationManager.getInstance(); - File gradleHome = gradleInstallationManager.getGradleHome(project, rootProjectPath); + Path gradleHome = gradleInstallationManager.getGradleHomePath(project, rootProjectPath); String localGradlePath = null; if (gradleHome != null) { try { // Try to resolve symbolic links as there were problems with them at the gradle side. - localGradlePath = gradleHome.getCanonicalPath(); + localGradlePath = gradleHome.toRealPath().toString(); } catch (IOException e) { - localGradlePath = gradleHome.getAbsolutePath(); + localGradlePath = gradleHome.toAbsolutePath().toString(); } } diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/GradleInstallationManager.kt b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/GradleInstallationManager.kt index ead5f0e261e1..ac41dd248e85 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/GradleInstallationManager.kt +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/GradleInstallationManager.kt @@ -388,6 +388,7 @@ open class GradleInstallationManager : Disposable.Default { return null } + @JvmStatic fun getGradleVersion(gradleHome: Path?): String? { if (gradleHome == null) { return null @@ -516,6 +517,7 @@ open class GradleInstallationManager : Disposable.Default { return buildLayoutParameters.gradleVersion } + @JvmStatic fun parseDistributionVersion(path: String): GradleVersion? { var path = path path = StringUtil.substringAfterLast(path, "/") ?: return null diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/settings/GradleLocalSettings.java b/plugins/gradle/src/org/jetbrains/plugins/gradle/settings/GradleLocalSettings.java index 167fe0690340..530f8b457b1e 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/settings/GradleLocalSettings.java +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/settings/GradleLocalSettings.java @@ -11,6 +11,7 @@ import org.jetbrains.annotations.Nullable; import org.jetbrains.plugins.gradle.service.GradleInstallationManager; import org.jetbrains.plugins.gradle.util.GradleConstants; +import java.nio.file.Path; import java.util.HashMap; import java.util.Map; import java.util.Set; @@ -44,7 +45,7 @@ public final class GradleLocalSettings extends AbstractExternalSystemLocalSettin if (state.myGradleVersions == null) { state.myGradleVersions = new HashMap<>(); } - state.myGradleVersions.put(linkedProjectPath, GradleInstallationManager.getGradleVersion(gradleHome)); + state.myGradleVersions.put(linkedProjectPath, GradleInstallationManager.getGradleVersion(Path.of(gradleHome))); } @ApiStatus.Internal diff --git a/plugins/kotlin/gradle/gradle-java/src/org/jetbrains/kotlin/idea/gradleJava/scripting/GradleImportHelper.kt b/plugins/kotlin/gradle/gradle-java/src/org/jetbrains/kotlin/idea/gradleJava/scripting/GradleImportHelper.kt index 29e6251f9f40..377fe1dbb477 100644 --- a/plugins/kotlin/gradle/gradle-java/src/org/jetbrains/kotlin/idea/gradleJava/scripting/GradleImportHelper.kt +++ b/plugins/kotlin/gradle/gradle-java/src/org/jetbrains/kotlin/idea/gradleJava/scripting/GradleImportHelper.kt @@ -134,6 +134,6 @@ internal class LoadKtGradleConfigurationAction : AnAction() { } fun getGradleVersion(project: Project, settings: GradleProjectSettings): String { - val gradleHome = service().getGradleHome(project, settings.externalProjectPath)?.path + val gradleHome = service().getGradleHomePath(project, settings.externalProjectPath) return GradleInstallationManager.getGradleVersion(gradleHome) ?: GradleVersion.current().version } diff --git a/plugins/kotlin/gradle/gradle-java/src/org/jetbrains/kotlin/idea/gradleJava/scripting/ProjectGradleSettingsListener.kt b/plugins/kotlin/gradle/gradle-java/src/org/jetbrains/kotlin/idea/gradleJava/scripting/ProjectGradleSettingsListener.kt index 439a8a250ebf..df2d54ed68a6 100644 --- a/plugins/kotlin/gradle/gradle-java/src/org/jetbrains/kotlin/idea/gradleJava/scripting/ProjectGradleSettingsListener.kt +++ b/plugins/kotlin/gradle/gradle-java/src/org/jetbrains/kotlin/idea/gradleJava/scripting/ProjectGradleSettingsListener.kt @@ -16,6 +16,7 @@ import org.jetbrains.plugins.gradle.service.GradleInstallationManager import org.jetbrains.plugins.gradle.settings.DistributionType import org.jetbrains.plugins.gradle.settings.GradleProjectSettings import org.jetbrains.plugins.gradle.settings.GradleSettingsListener +import java.nio.file.Path import java.nio.file.Paths class ProjectGradleSettingsListener( @@ -60,7 +61,7 @@ class ProjectGradleSettingsListener( } override fun onGradleHomeChange(oldPath: String?, newPath: String?, linkedProjectPath: String) { - val version = GradleInstallationManager.getGradleVersion(newPath) + val version = GradleInstallationManager.getGradleVersion(newPath?.let { Path.of(it) }) buildRootsManager.reloadBuildRoot(linkedProjectPath, version) } diff --git a/plugins/kotlin/gradle/gradle-java/src/org/jetbrains/kotlin/idea/gradleJava/scripting/importing/KotlinDslSyncListener.kt b/plugins/kotlin/gradle/gradle-java/src/org/jetbrains/kotlin/idea/gradleJava/scripting/importing/KotlinDslSyncListener.kt index a795e71f00af..e3a50aea2c64 100644 --- a/plugins/kotlin/gradle/gradle-java/src/org/jetbrains/kotlin/idea/gradleJava/scripting/importing/KotlinDslSyncListener.kt +++ b/plugins/kotlin/gradle/gradle-java/src/org/jetbrains/kotlin/idea/gradleJava/scripting/importing/KotlinDslSyncListener.kt @@ -52,8 +52,8 @@ class KotlinDslSyncListener : ExternalSystemTaskNotificationListener { if (sync.gradleHome == null) { sync.gradleHome = GradleInstallationManager.getInstance() - .getGradleHome(project, sync.workingDir) - ?.path + .getGradleHomePath(project, sync.workingDir) + ?.toString() } if (sync.javaHome == null) { diff --git a/plugins/kotlin/gradle/gradle-java/src/org/jetbrains/kotlin/idea/gradleJava/scripting/roots/GradleBuildRootsManager.kt b/plugins/kotlin/gradle/gradle-java/src/org/jetbrains/kotlin/idea/gradleJava/scripting/roots/GradleBuildRootsManager.kt index 488aa8141714..a2b32f30e1d8 100644 --- a/plugins/kotlin/gradle/gradle-java/src/org/jetbrains/kotlin/idea/gradleJava/scripting/roots/GradleBuildRootsManager.kt +++ b/plugins/kotlin/gradle/gradle-java/src/org/jetbrains/kotlin/idea/gradleJava/scripting/roots/GradleBuildRootsManager.kt @@ -42,6 +42,7 @@ import org.jetbrains.plugins.gradle.settings.GradleSettings import org.jetbrains.plugins.gradle.util.GradleConstants import java.nio.file.FileSystems import java.nio.file.Files +import java.nio.file.Path import java.nio.file.Paths import java.nio.file.attribute.BasicFileAttributes import java.util.concurrent.ConcurrentLinkedQueue @@ -312,7 +313,7 @@ class GradleBuildRootsManager(val project: Project, private val coroutineScope: return tryCreateImportedRoot(settings.externalProjectPath) { GradleBuildRootDataSerializer.getInstance().read(it)?.let { data -> val gradleHome = data.gradleHome - if (gradleHome.isNotBlank() && GradleInstallationManager.getGradleVersion(gradleHome) != version) return@let null + if (gradleHome.isNotBlank() && GradleInstallationManager.getGradleVersion(Path.of(gradleHome)) != version) return@let null addFromSettings(data, settings) }