From 75c59cc361b74a930e1c0f380ff284d4b79b05e9 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 7 Oct 2026 18:54:06 +0000 Subject: [PATCH 1/4] Update kotlin monorepo to v2.4.20 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index b213cdb040..ac5d9a1315 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -13,7 +13,7 @@ junitPlatformVersionRange = "[1.12,7)" asm = '9.10.1' mockito4 = '4.11.0' mockito5 = '5.24.0' -workflows-kotlin = "2.3.21" +workflows-kotlin = "2.4.20" [libraries] jetbrains-annotations = "org.jetbrains:annotations:26.1.0" From f9f9b614695a5d796fe52c644542d901b732edc9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Leonard=20Br=C3=BCnings?= Date: Thu, 8 Oct 2026 11:17:38 +0200 Subject: [PATCH 2/4] Adapt workflow preprocessing to Kotlin 2.4 Kotlin 2.4 requires an extensions storage on the CompilerConfiguration, so create it via CompilerConfiguration.create() instead of the bare constructor. The compiled main.kts scripts also no longer see kotlin-stdlib and kotlin-reflect from the compiler's classpath, so add them to the script classpath explicitly. --- .../gradle/DetermineImportedFilesWorkAction.groovy | 10 ++++++---- .../gradle/PreprocessWorkflowsPlugin.groovy | 4 +++- gradle/libs.versions.toml | 2 ++ 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/build-logic/preprocess-workflows/src/main/groovy/org/spockframework/gradle/DetermineImportedFilesWorkAction.groovy b/build-logic/preprocess-workflows/src/main/groovy/org/spockframework/gradle/DetermineImportedFilesWorkAction.groovy index 5ffdeb16ef..ed609dfbac 100644 --- a/build-logic/preprocess-workflows/src/main/groovy/org/spockframework/gradle/DetermineImportedFilesWorkAction.groovy +++ b/build-logic/preprocess-workflows/src/main/groovy/org/spockframework/gradle/DetermineImportedFilesWorkAction.groovy @@ -6,6 +6,7 @@ import org.gradle.api.file.RegularFileProperty import org.gradle.workers.WorkAction import org.gradle.workers.WorkParameters import org.jetbrains.kotlin.cli.common.messages.MessageCollector +import org.jetbrains.kotlin.cli.CompilerConfigurationCreationKt import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment import org.jetbrains.kotlin.com.intellij.openapi.util.Disposer import org.jetbrains.kotlin.com.intellij.openapi.vfs.local.CoreLocalFileSystem @@ -17,7 +18,6 @@ import org.jetbrains.kotlin.psi.KtLiteralStringTemplateEntry import org.jetbrains.kotlin.psi.KtStringTemplateExpression import static org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles.JVM_CONFIG_FILES -import static org.jetbrains.kotlin.config.CommonConfigurationKeys.MESSAGE_COLLECTOR_KEY @CompileStatic abstract class DetermineImportedFilesWorkAction implements WorkAction { @@ -46,9 +46,11 @@ abstract class DetermineImportedFilesWorkAction implements WorkAction { libs.findLibrary('workflows-kotlin-scriptingCompiler').orElseThrow(AssertionError::new).get() ) def mainKtsClasspath = project.configurations.detachedConfiguration( - libs.findLibrary('workflows-kotlin-mainKts').orElseThrow(AssertionError::new).get() + libs.findLibrary('workflows-kotlin-mainKts').orElseThrow(AssertionError::new).get(), + libs.findLibrary('workflows-kotlin-stdlib').orElseThrow(AssertionError::new).get(), + libs.findLibrary('workflows-kotlin-reflect').orElseThrow(AssertionError::new).get() ).tap { it.transitive = false } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index ac5d9a1315..cf2e0c615e 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -44,7 +44,9 @@ junit-platform-testkit.module = "org.junit.platform:junit-platform-testkit" workflows-kotlin-compiler = { module = "org.jetbrains.kotlin:kotlin-compiler", version.ref = "workflows-kotlin" } workflows-kotlin-compilerEmbeddable = { module = "org.jetbrains.kotlin:kotlin-compiler-embeddable", version.ref = "workflows-kotlin" } workflows-kotlin-mainKts = { module = "org.jetbrains.kotlin:kotlin-main-kts", version.ref = "workflows-kotlin" } +workflows-kotlin-reflect = { module = "org.jetbrains.kotlin:kotlin-reflect", version.ref = "workflows-kotlin" } workflows-kotlin-scriptingCompiler = { module = "org.jetbrains.kotlin:kotlin-scripting-compiler", version.ref = "workflows-kotlin" } +workflows-kotlin-stdlib = { module = "org.jetbrains.kotlin:kotlin-stdlib", version.ref = "workflows-kotlin" } # just here so that renovate can figure out the dependencies groovy-v2 = { module = "org.codehaus.groovy:groovy", version.ref="groovy2" } From bfa7afcb464d33ba09529630fbcc1b2472f4b2ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Kautler?= Date: Thu, 8 Oct 2026 17:26:05 +0200 Subject: [PATCH 3/4] Properly adapt workflow preprocessing to Kotlin 2.4 --- .../DetermineImportedFilesWorkAction.groovy | 35 ++++++++++--------- .../gradle/PreprocessWorkflowsPlugin.groovy | 6 +--- gradle/libs.versions.toml | 2 -- 3 files changed, 19 insertions(+), 24 deletions(-) diff --git a/build-logic/preprocess-workflows/src/main/groovy/org/spockframework/gradle/DetermineImportedFilesWorkAction.groovy b/build-logic/preprocess-workflows/src/main/groovy/org/spockframework/gradle/DetermineImportedFilesWorkAction.groovy index ed609dfbac..b8981812f1 100644 --- a/build-logic/preprocess-workflows/src/main/groovy/org/spockframework/gradle/DetermineImportedFilesWorkAction.groovy +++ b/build-logic/preprocess-workflows/src/main/groovy/org/spockframework/gradle/DetermineImportedFilesWorkAction.groovy @@ -5,20 +5,20 @@ import org.gradle.api.file.DirectoryProperty import org.gradle.api.file.RegularFileProperty import org.gradle.workers.WorkAction import org.gradle.workers.WorkParameters -import org.jetbrains.kotlin.cli.common.messages.MessageCollector -import org.jetbrains.kotlin.cli.CompilerConfigurationCreationKt -import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment +import org.jetbrains.kotlin.cli.jvm.compiler.IdeaStandaloneExecutionSetup +import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreApplicationEnvironment +import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreApplicationEnvironmentMode.Production +import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreProjectEnvironment import org.jetbrains.kotlin.com.intellij.openapi.util.Disposer +import org.jetbrains.kotlin.idea.KotlinFileType +import org.jetbrains.kotlin.parsing.KotlinParserDefinition import org.jetbrains.kotlin.com.intellij.openapi.vfs.local.CoreLocalFileSystem import org.jetbrains.kotlin.com.intellij.openapi.vfs.local.CoreLocalVirtualFile import org.jetbrains.kotlin.com.intellij.psi.PsiManager -import org.jetbrains.kotlin.config.CompilerConfiguration import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.psi.KtLiteralStringTemplateEntry import org.jetbrains.kotlin.psi.KtStringTemplateExpression -import static org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles.JVM_CONFIG_FILES - @CompileStatic abstract class DetermineImportedFilesWorkAction implements WorkAction { @Override @@ -41,19 +41,20 @@ abstract class DetermineImportedFilesWorkAction implements WorkAction { ) def mainKtsClasspath = project.configurations.detachedConfiguration( libs.findLibrary('workflows-kotlin-mainKts').orElseThrow(AssertionError::new).get(), - libs.findLibrary('workflows-kotlin-stdlib').orElseThrow(AssertionError::new).get(), - libs.findLibrary('workflows-kotlin-reflect').orElseThrow(AssertionError::new).get() - ).tap { - it.transitive = false - } + ) def preprocessWorkflows = project.tasks.register('preprocessWorkflows') { it.group = 'github workflows' diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index cf2e0c615e..ac5d9a1315 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -44,9 +44,7 @@ junit-platform-testkit.module = "org.junit.platform:junit-platform-testkit" workflows-kotlin-compiler = { module = "org.jetbrains.kotlin:kotlin-compiler", version.ref = "workflows-kotlin" } workflows-kotlin-compilerEmbeddable = { module = "org.jetbrains.kotlin:kotlin-compiler-embeddable", version.ref = "workflows-kotlin" } workflows-kotlin-mainKts = { module = "org.jetbrains.kotlin:kotlin-main-kts", version.ref = "workflows-kotlin" } -workflows-kotlin-reflect = { module = "org.jetbrains.kotlin:kotlin-reflect", version.ref = "workflows-kotlin" } workflows-kotlin-scriptingCompiler = { module = "org.jetbrains.kotlin:kotlin-scripting-compiler", version.ref = "workflows-kotlin" } -workflows-kotlin-stdlib = { module = "org.jetbrains.kotlin:kotlin-stdlib", version.ref = "workflows-kotlin" } # just here so that renovate can figure out the dependencies groovy-v2 = { module = "org.codehaus.groovy:groovy", version.ref="groovy2" } From 6ade086c53a0fa253c177e913faad0f09196ba4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Kautler?= Date: Thu, 8 Oct 2026 17:47:35 +0200 Subject: [PATCH 4/4] Update Kotlin to 2.4.21 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index ac5d9a1315..47c931016f 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -13,7 +13,7 @@ junitPlatformVersionRange = "[1.12,7)" asm = '9.10.1' mockito4 = '4.11.0' mockito5 = '5.24.0' -workflows-kotlin = "2.4.20" +workflows-kotlin = "2.4.21" [libraries] jetbrains-annotations = "org.jetbrains:annotations:26.1.0"