Workaround for bug in GradleInstallationManager.resolveGradleVersion()
Wrong gradle version when wrapper is used fixed in 201
This commit is contained in:
@@ -11,6 +11,7 @@ import com.intellij.notification.*
|
|||||||
import com.intellij.openapi.actionSystem.AnAction
|
import com.intellij.openapi.actionSystem.AnAction
|
||||||
import com.intellij.openapi.actionSystem.AnActionEvent
|
import com.intellij.openapi.actionSystem.AnActionEvent
|
||||||
import com.intellij.openapi.application.ApplicationManager
|
import com.intellij.openapi.application.ApplicationManager
|
||||||
|
import com.intellij.openapi.components.ServiceManager
|
||||||
import com.intellij.openapi.externalSystem.importing.ImportSpecBuilder
|
import com.intellij.openapi.externalSystem.importing.ImportSpecBuilder
|
||||||
import com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil
|
import com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil
|
||||||
import com.intellij.openapi.externalSystem.util.ExternalSystemUtil
|
import com.intellij.openapi.externalSystem.util.ExternalSystemUtil
|
||||||
@@ -24,6 +25,7 @@ import org.jetbrains.kotlin.idea.KotlinIdeaGradleBundle
|
|||||||
import org.jetbrains.kotlin.idea.scripting.gradle.roots.GradleBuildRootsManager
|
import org.jetbrains.kotlin.idea.scripting.gradle.roots.GradleBuildRootsManager
|
||||||
import org.jetbrains.kotlin.idea.util.application.getServiceSafe
|
import org.jetbrains.kotlin.idea.util.application.getServiceSafe
|
||||||
import org.jetbrains.kotlin.psi.UserDataProperty
|
import org.jetbrains.kotlin.psi.UserDataProperty
|
||||||
|
import org.jetbrains.plugins.gradle.service.GradleInstallationManager
|
||||||
import org.jetbrains.plugins.gradle.settings.GradleProjectSettings
|
import org.jetbrains.plugins.gradle.settings.GradleProjectSettings
|
||||||
import org.jetbrains.plugins.gradle.util.GradleConstants
|
import org.jetbrains.plugins.gradle.util.GradleConstants
|
||||||
|
|
||||||
@@ -121,3 +123,11 @@ private class ScriptConfigurationChangedNotification(val project: Project) :
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun getGradleVersion(project: Project, settings: GradleProjectSettings): String {
|
||||||
|
// workaround for bug in settings.resolveGradleVersion().version (fixed in 201)
|
||||||
|
return GradleInstallationManager.getGradleVersion(
|
||||||
|
ServiceManager.getService(GradleInstallationManager::class.java)
|
||||||
|
.getGradleHome(project, settings.externalProjectPath)?.path
|
||||||
|
) ?: GradleVersion.current().version
|
||||||
|
}
|
||||||
+4
@@ -105,3 +105,7 @@ class LoadConfigurationAction : AnAction(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun getGradleVersion(project: Project, settings: GradleProjectSettings): String {
|
||||||
|
return settings.resolveGradleVersion().version
|
||||||
|
}
|
||||||
+2
-2
@@ -273,7 +273,7 @@ class GradleBuildRootsManager(val project: Project) : GradleBuildRootsLocator(),
|
|||||||
val actualSettings = getGradleProjectSettings(workingDir)
|
val actualSettings = getGradleProjectSettings(workingDir)
|
||||||
val buildRoot = getBuildRootByWorkingDir(workingDir)
|
val buildRoot = getBuildRootByWorkingDir(workingDir)
|
||||||
|
|
||||||
val version = gradleVersion ?: actualSettings?.resolveGradleVersion()?.version
|
val version = gradleVersion ?: actualSettings?.let { getGradleVersion(project, it) }
|
||||||
return when {
|
return when {
|
||||||
buildRoot != null -> {
|
buildRoot != null -> {
|
||||||
when {
|
when {
|
||||||
@@ -302,7 +302,7 @@ class GradleBuildRootsManager(val project: Project) : GradleBuildRootsLocator(),
|
|||||||
remove(rootPath)
|
remove(rootPath)
|
||||||
return null
|
return null
|
||||||
} else {
|
} else {
|
||||||
val gradleVersion = version ?: settings.resolveGradleVersion().version
|
val gradleVersion = version ?: getGradleVersion(project, settings)
|
||||||
val newRoot = loadLinkedRoot(settings, gradleVersion)
|
val newRoot = loadLinkedRoot(settings, gradleVersion)
|
||||||
add(newRoot)
|
add(newRoot)
|
||||||
return newRoot
|
return newRoot
|
||||||
|
|||||||
Reference in New Issue
Block a user