Scripting: configurations from gradle import should be always taken into account (KT-34442)
Do not rely on registry option ^KT-34442
This commit is contained in:
+9
-9
@@ -12,8 +12,8 @@ import com.intellij.util.Consumer
|
||||
import org.gradle.tooling.model.idea.IdeaProject
|
||||
import org.gradle.tooling.model.kotlin.dsl.KotlinDslModelsParameters.*
|
||||
import org.gradle.tooling.model.kotlin.dsl.KotlinDslScriptsModel
|
||||
import org.jetbrains.kotlin.idea.scripting.gradle.kotlinDslScriptsModelImportSupported
|
||||
import org.jetbrains.kotlin.idea.scripting.gradle.minimal_gradle_version_supported
|
||||
import org.jetbrains.kotlin.idea.scripting.gradle.shouldLoadDependenciesDuringImport
|
||||
import org.jetbrains.plugins.gradle.model.ProjectImportExtraModelProvider
|
||||
import org.jetbrains.plugins.gradle.service.project.AbstractProjectResolverExtension
|
||||
|
||||
@@ -32,11 +32,9 @@ class KotlinGradleBuildScriptsResolver : AbstractProjectResolverExtension() {
|
||||
}
|
||||
|
||||
override fun enhanceTaskProcessing(taskNames: MutableList<String>, jvmParametersSetup: String?, initScriptConsumer: Consumer<String>) {
|
||||
if (shouldLoadDependenciesDuringImport()) {
|
||||
initScriptConsumer.consume(
|
||||
"if (org.gradle.util.GradleVersion.current() >= org.gradle.util.GradleVersion.version(\"$minimal_gradle_version_supported\")) startParameter.taskNames += [\"${PREPARATION_TASK_NAME}\"]"
|
||||
)
|
||||
}
|
||||
initScriptConsumer.consume(
|
||||
"if (org.gradle.util.GradleVersion.current() >= org.gradle.util.GradleVersion.version(\"$minimal_gradle_version_supported\")) startParameter.taskNames += [\"${PREPARATION_TASK_NAME}\"]"
|
||||
)
|
||||
}
|
||||
|
||||
override fun getExtraModelProvider(): ProjectImportExtraModelProvider {
|
||||
@@ -46,9 +44,11 @@ class KotlinGradleBuildScriptsResolver : AbstractProjectResolverExtension() {
|
||||
override fun populateProjectExtraModels(gradleProject: IdeaProject, ideProject: DataNode<ProjectData>) {
|
||||
super.populateProjectExtraModels(gradleProject, ideProject)
|
||||
|
||||
resolverCtx.getExtraProject(null, KotlinDslScriptsModel::class.java)?.let { model ->
|
||||
// we need a copy to avoid memory leak, as model is java rmi proxy object
|
||||
ideProject.gradleKotlinBuildScripts = copy(model)
|
||||
if (kotlinDslScriptsModelImportSupported(resolverCtx.projectGradleVersion)) {
|
||||
resolverCtx.getExtraProject(null, KotlinDslScriptsModel::class.java)?.let { model ->
|
||||
// we need a copy to avoid memory leak, as model is java rmi proxy object
|
||||
ideProject.gradleKotlinBuildScripts = copy(model)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+9
-9
@@ -12,8 +12,8 @@ import com.intellij.util.Consumer
|
||||
import org.gradle.tooling.model.idea.IdeaProject
|
||||
import org.gradle.tooling.model.kotlin.dsl.KotlinDslModelsParameters.*
|
||||
import org.gradle.tooling.model.kotlin.dsl.KotlinDslScriptsModel
|
||||
import org.jetbrains.kotlin.idea.scripting.gradle.kotlinDslScriptsModelImportSupported
|
||||
import org.jetbrains.kotlin.idea.scripting.gradle.minimal_gradle_version_supported
|
||||
import org.jetbrains.kotlin.idea.scripting.gradle.shouldLoadDependenciesDuringImport
|
||||
import org.jetbrains.plugins.gradle.model.ProjectImportModelProvider
|
||||
import org.jetbrains.plugins.gradle.service.project.AbstractProjectResolverExtension
|
||||
|
||||
@@ -32,11 +32,9 @@ class KotlinGradleBuildScriptsResolver : AbstractProjectResolverExtension() {
|
||||
}
|
||||
|
||||
override fun enhanceTaskProcessing(taskNames: MutableList<String>, jvmParametersSetup: String?, initScriptConsumer: Consumer<String>) {
|
||||
if (shouldLoadDependenciesDuringImport()) {
|
||||
initScriptConsumer.consume(
|
||||
"if (org.gradle.util.GradleVersion.current() >= org.gradle.util.GradleVersion.version(\"$minimal_gradle_version_supported\")) startParameter.taskNames += [\"${PREPARATION_TASK_NAME}\"]"
|
||||
)
|
||||
}
|
||||
initScriptConsumer.consume(
|
||||
"if (org.gradle.util.GradleVersion.current() >= org.gradle.util.GradleVersion.version(\"$minimal_gradle_version_supported\")) startParameter.taskNames += [\"${PREPARATION_TASK_NAME}\"]"
|
||||
)
|
||||
}
|
||||
|
||||
override fun getModelProvider(): ProjectImportModelProvider {
|
||||
@@ -46,9 +44,11 @@ class KotlinGradleBuildScriptsResolver : AbstractProjectResolverExtension() {
|
||||
override fun populateProjectExtraModels(gradleProject: IdeaProject, ideProject: DataNode<ProjectData>) {
|
||||
super.populateProjectExtraModels(gradleProject, ideProject)
|
||||
|
||||
resolverCtx.getExtraProject(null, KotlinDslScriptsModel::class.java)?.let { model ->
|
||||
// we need a copy to avoid memory leak, as model is java rmi proxy object
|
||||
ideProject.gradleKotlinBuildScripts = copy(model)
|
||||
if (kotlinDslScriptsModelImportSupported(resolverCtx.projectGradleVersion)) {
|
||||
resolverCtx.getExtraProject(null, KotlinDslScriptsModel::class.java)?.let { model ->
|
||||
// we need a copy to avoid memory leak, as model is java rmi proxy object
|
||||
ideProject.gradleKotlinBuildScripts = copy(model)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
package org.jetbrains.kotlin.idea.scripting.gradle
|
||||
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.openapi.util.registry.Registry
|
||||
import com.intellij.openapi.vfs.VirtualFile
|
||||
import com.intellij.psi.PsiElement
|
||||
import com.intellij.psi.PsiManager
|
||||
import com.intellij.psi.PsiRecursiveElementVisitor
|
||||
import com.intellij.psi.PsiWhiteSpace
|
||||
import com.intellij.psi.impl.source.tree.LeafPsiElement
|
||||
import org.gradle.util.GradleVersion
|
||||
import org.jetbrains.kotlin.idea.util.application.runReadAction
|
||||
import org.jetbrains.kotlin.psi.KtCallExpression
|
||||
import org.jetbrains.kotlin.psi.KtFile
|
||||
@@ -61,6 +61,6 @@ fun getGradleScriptInputsStamp(
|
||||
|
||||
const val minimal_gradle_version_supported = "6.0"
|
||||
|
||||
fun shouldLoadDependenciesDuringImport(): Boolean {
|
||||
return Registry.`is`("kotlin.gradle.scripts.useIdeaProjectImport", false)
|
||||
}
|
||||
fun kotlinDslScriptsModelImportSupported(currentGradleVersion: String): Boolean {
|
||||
return GradleVersion.version(currentGradleVersion) >= GradleVersion.version(minimal_gradle_version_supported)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user