From bdd92d86cdbb5fd17b7063f1ff4cd3fac49a96c0 Mon Sep 17 00:00:00 2001 From: Vlad Koshkin Date: Mon, 23 Jun 2025 18:31:43 +0200 Subject: [PATCH] [kotlin] K2: calculate gradle sdk once on import #KTIJ-34393 GitOrigin-RevId: 6b79ab7d3a79ec4dfcc154f0081d27715675b9fd --- .../k2/GradleScriptRefinedConfigurationProvider.kt | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/plugins/kotlin/gradle/scripting/kotlin.gradle.scripting.k2/src/org/jetbrains/kotlin/gradle/scripting/k2/GradleScriptRefinedConfigurationProvider.kt b/plugins/kotlin/gradle/scripting/kotlin.gradle.scripting.k2/src/org/jetbrains/kotlin/gradle/scripting/k2/GradleScriptRefinedConfigurationProvider.kt index 1f264f9f8ede..fd6f35f132ba 100644 --- a/plugins/kotlin/gradle/scripting/kotlin.gradle.scripting.k2/src/org/jetbrains/kotlin/gradle/scripting/k2/GradleScriptRefinedConfigurationProvider.kt +++ b/plugins/kotlin/gradle/scripting/kotlin.gradle.scripting.k2/src/org/jetbrains/kotlin/gradle/scripting/k2/GradleScriptRefinedConfigurationProvider.kt @@ -25,7 +25,6 @@ import org.jetbrains.kotlin.scripting.resolve.adjustByDefinition import org.jetbrains.kotlin.scripting.resolve.refineScriptCompilationConfiguration import org.jetbrains.plugins.gradle.util.GradleConstants import java.io.File -import java.nio.file.Path import java.util.concurrent.atomic.AtomicReference import java.util.function.Predicate import kotlin.script.experimental.api.* @@ -44,17 +43,16 @@ class GradleScriptRefinedConfigurationProvider( override fun get(virtualFile: VirtualFile): ScriptConfigurationWithSdk? = data.get()[virtualFile] suspend fun processScripts(scriptsData: GradleScriptModelData, storageToUpdate: MutableEntityStorage? = null) { + val sdk = scriptsData.javaHome.resolveSdk() + val javaHomePath = sdk?.homePath?.let { File(it) } + val configurations = scriptsData.models.associate { gradleScript: GradleScriptModel -> val sourceCode = VirtualFileScriptSource(gradleScript.virtualFile) val definition = findScriptDefinition(project, sourceCode) - val sdk = scriptsData.javaHome.resolveSdk() - - val javaHomePath = sdk?.homePath?.let { Path.of(it) } - val configuration = definition.compilationConfiguration.with { - javaHomePath?.let { - jvm.jdkHome(it.toFile()) + if (javaHomePath != null) { + jvm.jdkHome(javaHomePath) } defaultImports(gradleScript.imports) dependencies(JvmDependency(gradleScript.classPath.map { File(it) }))