From cebcc655c89e74c3f10fad05abba082f42d1f1da Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 3 Jun 2026 20:56:14 +0000 Subject: [PATCH 1/2] Bump kotlin from 2.3.21 to 2.4.0 Bumps `kotlin` from 2.3.21 to 2.4.0. Updates `org.jetbrains.kotlin:kotlin-bom` from 2.3.21 to 2.4.0 - [Release notes](https://github.com/JetBrains/kotlin/releases) - [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md) - [Commits](https://github.com/JetBrains/kotlin/compare/v2.3.21...v2.4.0) Updates `org.jetbrains.kotlin:kotlin-gradle-plugin-api` from 2.3.21 to 2.4.0 - [Release notes](https://github.com/JetBrains/kotlin/releases) - [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md) - [Commits](https://github.com/JetBrains/kotlin/compare/v2.3.21...v2.4.0) Updates `org.jetbrains.kotlin:kotlin-gradle-plugin` from 2.3.21 to 2.4.0 - [Release notes](https://github.com/JetBrains/kotlin/releases) - [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md) - [Commits](https://github.com/JetBrains/kotlin/compare/v2.3.21...v2.4.0) Updates `org.jetbrains.kotlin:kotlin-sam-with-receiver` from 2.3.21 to 2.4.0 - [Release notes](https://github.com/JetBrains/kotlin/releases) - [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md) - [Commits](https://github.com/JetBrains/kotlin/compare/v2.3.21...v2.4.0) Updates `org.jetbrains.kotlin:kotlin-serialization` from 2.3.21 to 2.4.0 - [Release notes](https://github.com/JetBrains/kotlin/releases) - [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md) - [Commits](https://github.com/JetBrains/kotlin/compare/v2.3.21...v2.4.0) --- updated-dependencies: - dependency-name: org.jetbrains.kotlin:kotlin-bom dependency-version: 2.4.0 dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: org.jetbrains.kotlin:kotlin-gradle-plugin dependency-version: 2.4.0 dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: org.jetbrains.kotlin:kotlin-gradle-plugin-api dependency-version: 2.4.0 dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: org.jetbrains.kotlin:kotlin-sam-with-receiver dependency-version: 2.4.0 dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: org.jetbrains.kotlin:kotlin-serialization dependency-version: 2.4.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- 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 3a8b10a..d7aef70 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -6,7 +6,7 @@ develocity-gradle-plugin = "4.4.2" dokka = "2.1.0" foojay-resolver-gradle-plugin = "1.0.0" junit5 = "5.14.4" -kotlin = "2.3.21" +kotlin = "2.4.0" kotlinx-benchmark = "0.4.17" kotlinx-coroutines = "1.11.0" kotlinx-serialization = "1.11.0" From eac86eb5f10534f94fcb09fcef683f4d8b52ade2 Mon Sep 17 00:00:00 2001 From: technoir Date: Wed, 3 Jun 2026 22:19:26 +0100 Subject: [PATCH 2/2] Fix build --- .../common/configuration/Kotlin.kt | 20 ++++++++----------- .../configuration/KotlinMultiplatform.kt | 20 +++++++++---------- 2 files changed, 17 insertions(+), 23 deletions(-) diff --git a/common-conventions/src/main/kotlin/io/technoirlab/conventions/common/configuration/Kotlin.kt b/common-conventions/src/main/kotlin/io/technoirlab/conventions/common/configuration/Kotlin.kt index 5f403b5..1277ee8 100644 --- a/common-conventions/src/main/kotlin/io/technoirlab/conventions/common/configuration/Kotlin.kt +++ b/common-conventions/src/main/kotlin/io/technoirlab/conventions/common/configuration/Kotlin.kt @@ -10,7 +10,6 @@ import org.gradle.language.base.plugins.LifecycleBasePlugin import org.jetbrains.kotlin.gradle.dsl.JvmDefaultMode import org.jetbrains.kotlin.gradle.dsl.KotlinJvmProjectExtension import org.jetbrains.kotlin.gradle.dsl.KotlinProjectExtension -import org.jetbrains.kotlin.gradle.dsl.abi.AbiValidationExtension import org.jetbrains.kotlin.gradle.dsl.abi.ExperimentalAbiValidation import org.jetbrains.kotlin.samWithReceiver.gradle.SamWithReceiverExtension @@ -24,15 +23,9 @@ fun Project.configureKotlin( languageVersion.set(kotlinConfig.map { it.languageVersion }) jvmDefault.set(JvmDefaultMode.NO_COMPATIBILITY) freeCompilerArgs.addAll( - "-Xcontext-parameters", "-Xconsistent-data-class-copy-visibility" ) } - - @OptIn(ExperimentalAbiValidation::class) - extensions.configure(AbiValidationExtension::class) { - enabled.set(enableAbiValidation) - } } pluginManager.withPlugin("org.jetbrains.kotlin.plugin.sam.with.receiver") { @@ -44,12 +37,15 @@ fun Project.configureKotlin( afterEvaluate { extensions.configure(KotlinProjectExtension::class) { coreLibrariesVersion = kotlinConfig.get().coreLibrariesVersion - } - } - tasks.named(LifecycleBasePlugin.CHECK_TASK_NAME).configure { - if (enableAbiValidation.get()) { - dependsOn(tasks.named("checkKotlinAbi")) + if (enableAbiValidation.get()) { + @OptIn(ExperimentalAbiValidation::class) + abiValidation { + tasks.named(LifecycleBasePlugin.CHECK_TASK_NAME).configure { + dependsOn(checkTaskProvider) + } + } + } } } diff --git a/kotlin-multiplatform-conventions/src/main/kotlin/io/technoirlab/conventions/kotlin/multiplatform/configuration/KotlinMultiplatform.kt b/kotlin-multiplatform-conventions/src/main/kotlin/io/technoirlab/conventions/kotlin/multiplatform/configuration/KotlinMultiplatform.kt index f2dce3b..ab7ecc2 100644 --- a/kotlin-multiplatform-conventions/src/main/kotlin/io/technoirlab/conventions/kotlin/multiplatform/configuration/KotlinMultiplatform.kt +++ b/kotlin-multiplatform-conventions/src/main/kotlin/io/technoirlab/conventions/kotlin/multiplatform/configuration/KotlinMultiplatform.kt @@ -15,7 +15,6 @@ import org.jetbrains.kotlin.gradle.dsl.HasConfigurableKotlinCompilerOptions import org.jetbrains.kotlin.gradle.dsl.JvmDefaultMode import org.jetbrains.kotlin.gradle.dsl.KotlinJvmCompilerOptions import org.jetbrains.kotlin.gradle.dsl.KotlinVersion -import org.jetbrains.kotlin.gradle.dsl.abi.AbiValidationMultiplatformExtension import org.jetbrains.kotlin.gradle.dsl.abi.ExperimentalAbiValidation import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation import org.jetbrains.kotlin.gradle.plugin.KotlinNativeTargetConfigurator.Companion.RUN_GROUP @@ -39,16 +38,10 @@ internal fun Project.configureKotlinMultiplatform( extensions.configure(KmpExtension::class) { applyDefaultHierarchyTemplate() - @OptIn(ExperimentalAbiValidation::class) - extensions.configure(AbiValidationMultiplatformExtension::class) { - enabled.set(config.buildFeatures.abiValidation) - } - compilerOptions { apiVersion.set(kotlinVersion) languageVersion.set(kotlinVersion) freeCompilerArgs.addAll( - "-Xcontext-parameters", "-Xconsistent-data-class-copy-visibility", "-Xexpect-actual-classes" ) @@ -75,11 +68,16 @@ internal fun Project.configureKotlinMultiplatform( if (kotlinLibrariesVersion.isPresent) { coreLibrariesVersion = kotlinLibrariesVersion.get() } - } - tasks.named(LifecycleBasePlugin.CHECK_TASK_NAME).configure { - if (config.buildFeatures.abiValidation.get()) { - dependsOn(tasks.named("checkKotlinAbi")) + afterEvaluate { + if (config.buildFeatures.abiValidation.get()) { + @OptIn(ExperimentalAbiValidation::class) + abiValidation { + tasks.named(LifecycleBasePlugin.CHECK_TASK_NAME).configure { + dependsOn(checkTaskProvider) + } + } + } } } }