Fix getting gradle version for new project

This commit is contained in:
Natalia Selezneva
2020-04-16 16:49:32 +03:00
parent 3904e0f97c
commit f5f69ccc1b
@@ -21,6 +21,7 @@ import org.jetbrains.kotlin.psi.KtScriptInitializer
import org.jetbrains.kotlin.psi.psiUtil.getChildrenOfType import org.jetbrains.kotlin.psi.psiUtil.getChildrenOfType
import org.jetbrains.plugins.gradle.settings.GradleLocalSettings import org.jetbrains.plugins.gradle.settings.GradleLocalSettings
import org.jetbrains.plugins.gradle.settings.GradleProjectSettings import org.jetbrains.plugins.gradle.settings.GradleProjectSettings
import org.jetbrains.plugins.gradle.settings.GradleSettings
import org.jetbrains.plugins.gradle.util.GradleConstants import org.jetbrains.plugins.gradle.util.GradleConstants
private val sections = arrayListOf("buildscript", "plugins", "initscript", "pluginManagement") private val sections = arrayListOf("buildscript", "plugins", "initscript", "pluginManagement")
@@ -92,6 +93,13 @@ fun useScriptConfigurationFromImportOnly(): Boolean {
return Registry.`is`("kotlin.gradle.scripts.useIdeaProjectImport", false) 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? { fun getGradleVersion(project: Project): String? {
val gradleSettings = ExternalSystemApiUtil.getSettings(project, GradleConstants.SYSTEM_ID) val gradleSettings = ExternalSystemApiUtil.getSettings(project, GradleConstants.SYSTEM_ID)
val projectSettings = gradleSettings.getLinkedProjectsSettings() val projectSettings = gradleSettings.getLinkedProjectsSettings()
@@ -99,7 +107,7 @@ fun getGradleVersion(project: Project): String? {
.firstOrNull() .firstOrNull()
if (projectSettings != null) { if (projectSettings != null) {
return GradleLocalSettings.getInstance(project).getGradleVersion(projectSettings.externalProjectPath) return getGradleVersion(projectSettings.externalProjectPath)
} }
return null return null
} }