diff --git a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/KotlinGradleBuildScriptsResolver.kt b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/KotlinGradleBuildScriptsResolver.kt index fd3b10ea3a7..f2e4b6a8dc5 100644 --- a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/KotlinGradleBuildScriptsResolver.kt +++ b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/KotlinGradleBuildScriptsResolver.kt @@ -8,11 +8,12 @@ package org.jetbrains.kotlin.idea.configuration import com.intellij.openapi.externalSystem.model.DataNode import com.intellij.openapi.externalSystem.model.project.ProjectData import com.intellij.openapi.util.Pair -import com.intellij.openapi.util.registry.Registry 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.minimal_gradle_version_supported +import org.jetbrains.kotlin.idea.scripting.shouldLoadDependenciesDuringImport import org.jetbrains.plugins.gradle.model.ProjectImportExtraModelProvider import org.jetbrains.plugins.gradle.service.project.AbstractProjectResolverExtension @@ -31,8 +32,10 @@ class KotlinGradleBuildScriptsResolver : AbstractProjectResolverExtension() { } override fun enhanceTaskProcessing(taskNames: MutableList, jvmParametersSetup: String?, initScriptConsumer: Consumer) { - if (Registry.`is`("kotlin.gradle.scripts.useIdeaProjectImport", false)) { - initScriptConsumer.consume("startParameter.taskNames += [\"${PREPARATION_TASK_NAME}\"]") + if (shouldLoadDependenciesDuringImport()) { + initScriptConsumer.consume( + "if (org.gradle.util.GradleVersion.current() >= org.gradle.util.GradleVersion.version(\"$minimal_gradle_version_supported\")) startParameter.taskNames += [\"${PREPARATION_TASK_NAME}\"]" + ) } } diff --git a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/KotlinGradleBuildScriptsResolver.kt.193 b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/KotlinGradleBuildScriptsResolver.kt.193 index ba993a6b974..1ff255b13b1 100644 --- a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/KotlinGradleBuildScriptsResolver.kt.193 +++ b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/KotlinGradleBuildScriptsResolver.kt.193 @@ -8,11 +8,12 @@ package org.jetbrains.kotlin.idea.configuration import com.intellij.openapi.externalSystem.model.DataNode import com.intellij.openapi.externalSystem.model.project.ProjectData import com.intellij.openapi.util.Pair -import com.intellij.openapi.util.registry.Registry 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.minimal_gradle_version_supported +import org.jetbrains.kotlin.idea.scripting.shouldLoadDependenciesDuringImport import org.jetbrains.plugins.gradle.model.ProjectImportModelProvider import org.jetbrains.plugins.gradle.service.project.AbstractProjectResolverExtension @@ -31,8 +32,10 @@ class KotlinGradleBuildScriptsResolver : AbstractProjectResolverExtension() { } override fun enhanceTaskProcessing(taskNames: MutableList, jvmParametersSetup: String?, initScriptConsumer: Consumer) { - if (Registry.`is`("kotlin.gradle.scripts.useIdeaProjectImport", false)) { - initScriptConsumer.consume("startParameter.taskNames += [\"${PREPARATION_TASK_NAME}\"]") + if (shouldLoadDependenciesDuringImport()) { + initScriptConsumer.consume( + "if (org.gradle.util.GradleVersion.current() >= org.gradle.util.GradleVersion.version(\"$minimal_gradle_version_supported\")) startParameter.taskNames += [\"${PREPARATION_TASK_NAME}\"]" + ) } } diff --git a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/util.kt b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/util.kt new file mode 100644 index 00000000000..1d677439297 --- /dev/null +++ b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/util.kt @@ -0,0 +1,14 @@ +/* + * Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.idea.scripting + +import com.intellij.openapi.util.registry.Registry + +const val minimal_gradle_version_supported = "6.0" + +fun shouldLoadDependenciesDuringImport(): Boolean { + return Registry.`is`("kotlin.gradle.scripts.useIdeaProjectImport", false) +} \ No newline at end of file