From f5f69ccc1b22451484bc47c2e6a6a73bdd0435fe Mon Sep 17 00:00:00 2001 From: Natalia Selezneva Date: Thu, 16 Apr 2020 16:49:32 +0300 Subject: [PATCH] Fix getting gradle version for new project --- .../jetbrains/kotlin/idea/scripting/gradle/utils.kt | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/utils.kt b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/utils.kt index 5842c13b0b8..f5eeb4f9f3c 100644 --- a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/utils.kt +++ b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/utils.kt @@ -21,6 +21,7 @@ import org.jetbrains.kotlin.psi.KtScriptInitializer import org.jetbrains.kotlin.psi.psiUtil.getChildrenOfType import org.jetbrains.plugins.gradle.settings.GradleLocalSettings import org.jetbrains.plugins.gradle.settings.GradleProjectSettings +import org.jetbrains.plugins.gradle.settings.GradleSettings import org.jetbrains.plugins.gradle.util.GradleConstants private val sections = arrayListOf("buildscript", "plugins", "initscript", "pluginManagement") @@ -92,6 +93,13 @@ fun useScriptConfigurationFromImportOnly(): Boolean { return Registry.`is`("kotlin.gradle.scripts.useIdeaProjectImport", false) } +fun getGradleVersion(externalProjectPath: String): String? { + val localVersion = GradleLocalSettings.getInstance(project).getGradleVersion(externalProjectPath) + if (localVersion != null) return localVersion + + return GradleSettings.getInstance(project).getLinkedProjectSettings(externalProjectPath)?.resolveGradleVersion()?.version +} + fun getGradleVersion(project: Project): String? { val gradleSettings = ExternalSystemApiUtil.getSettings(project, GradleConstants.SYSTEM_ID) val projectSettings = gradleSettings.getLinkedProjectsSettings() @@ -99,7 +107,7 @@ fun getGradleVersion(project: Project): String? { .firstOrNull() if (projectSettings != null) { - return GradleLocalSettings.getInstance(project).getGradleVersion(projectSettings.externalProjectPath) + return getGradleVersion(projectSettings.externalProjectPath) } return null } \ No newline at end of file