[repo] Use BTA to compile settings plugins Switch compilation of settings conventions to use Build Tools API and Kotlin compiler version 2.0.21. This allows to continue using language version 1.8 which should be soon removed from Kotlin compiler dev version.
diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml index 61d6c85..a0aacbb 100644 --- a/gradle/verification-metadata.xml +++ b/gradle/verification-metadata.xml
@@ -4100,6 +4100,12 @@ <sha256 value="4109a7bed99846f2d77a75e2c83be8d5478d00473c91269a280610932f4fa275" origin="Generated by Gradle"/> </artifact> </component> + <component group="org.jetbrains.kotlin" name="kotlin-serialization-compiler-plugin-embeddable" version="2.0.21"> + <artifact name="kotlin-serialization-compiler-plugin-embeddable-2.0.21.jar"> + <md5 value="34119bc969638efc1318dff8e5e98678" origin="Generated by Gradle"/> + <sha256 value="defd26dbc581f31d5029ee44999e104692eb030eabad7d9364c23d8f0b8fd859" origin="Generated by Gradle"/> + </artifact> + </component> <component group="org.jetbrains.kotlin" name="kotlin-serialization-compiler-plugin-embeddable" version="2.3.0-dev-704"> <artifact name="kotlin-serialization-compiler-plugin-embeddable-2.3.0-dev-704.jar"> <md5 value="d61ea73ee47dc4d41dd8fe21af746830" origin="Generated by Gradle"/>
diff --git a/repo/gradle-settings-conventions/cache-redirector/build.gradle.kts b/repo/gradle-settings-conventions/cache-redirector/build.gradle.kts index 313350f..f657257 100644 --- a/repo/gradle-settings-conventions/cache-redirector/build.gradle.kts +++ b/repo/gradle-settings-conventions/cache-redirector/build.gradle.kts
@@ -1,3 +1,6 @@ +import org.jetbrains.kotlin.buildtools.api.ExperimentalBuildToolsApi +import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi + plugins { `kotlin-dsl` id("org.jetbrains.kotlin.jvm") @@ -7,4 +10,8 @@ mavenCentral { setUrl("https://cache-redirector.jetbrains.com/maven-central") } } -kotlin.jvmToolchain(8) +kotlin { + @OptIn(ExperimentalKotlinGradlePluginApi::class, ExperimentalBuildToolsApi::class) + compilerVersion = libs.versions.kotlin.`for`.gradle.plugins.compilation + jvmToolchain(11) +}
diff --git a/repo/gradle-settings-conventions/develocity/build.gradle.kts b/repo/gradle-settings-conventions/develocity/build.gradle.kts index 1b5e405..c5ae0c7 100644 --- a/repo/gradle-settings-conventions/develocity/build.gradle.kts +++ b/repo/gradle-settings-conventions/develocity/build.gradle.kts
@@ -1,3 +1,6 @@ +import org.jetbrains.kotlin.buildtools.api.ExperimentalBuildToolsApi +import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi + plugins { `kotlin-dsl` id("org.jetbrains.kotlin.jvm") @@ -9,7 +12,11 @@ gradlePluginPortal() } -kotlin.jvmToolchain(8) +kotlin { + @OptIn(ExperimentalKotlinGradlePluginApi::class, ExperimentalBuildToolsApi::class) + compilerVersion = libs.versions.kotlin.`for`.gradle.plugins.compilation + jvmToolchain(11) +} val buildGradlePluginVersion = extra.get("kotlin.build.gradlePlugin.version") dependencies {
diff --git a/repo/gradle-settings-conventions/gradle.properties b/repo/gradle-settings-conventions/gradle.properties index 1f8316b..c7f7f47 100644 --- a/repo/gradle-settings-conventions/gradle.properties +++ b/repo/gradle-settings-conventions/gradle.properties
@@ -5,3 +5,6 @@ kotlin.daemon.jvmargs=-Xmx3g org.gradle.kotlin.dsl.allWarningsAsErrors=true +kotlin.compiler.runViaBuildToolsApi=true +kotlin.compiler.execution.strategy=in-process +
diff --git a/repo/gradle-settings-conventions/internal-gradle-setup/build.gradle.kts b/repo/gradle-settings-conventions/internal-gradle-setup/build.gradle.kts index 87e8b08..e2e9269 100644 --- a/repo/gradle-settings-conventions/internal-gradle-setup/build.gradle.kts +++ b/repo/gradle-settings-conventions/internal-gradle-setup/build.gradle.kts
@@ -1,3 +1,6 @@ +import org.jetbrains.kotlin.buildtools.api.ExperimentalBuildToolsApi +import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi + plugins { `kotlin-dsl` kotlin("jvm") @@ -18,7 +21,22 @@ testRuntimeOnly(libs.junit.jupiter.engine) } -kotlin.jvmToolchain(8) +kotlin { + @OptIn(ExperimentalKotlinGradlePluginApi::class, ExperimentalBuildToolsApi::class) + compilerVersion = libs.versions.kotlin.`for`.gradle.plugins.compilation + jvmToolchain(11) +} + +configurations { + "kotlinCompilerPluginClasspathMain" { + resolutionStrategy.eachDependency { + if (requested.group == "org.jetbrains.kotlin" && requested.name == "kotlin-serialization-compiler-plugin-embeddable") { + useTarget("org.jetbrains.kotlin:kotlin-serialization-compiler-plugin-embeddable:${libs.versions.kotlin.`for`.gradle.plugins.compilation.get()}") + because("Compatible with Kotlin compiler ${libs.versions.kotlin.`for`.gradle.plugins.compilation.get()} version") + } + } + } +} tasks { test {
diff --git a/repo/gradle-settings-conventions/jvm-toolchain-provisioning/build.gradle.kts b/repo/gradle-settings-conventions/jvm-toolchain-provisioning/build.gradle.kts index bfec8c6..76d3467 100644 --- a/repo/gradle-settings-conventions/jvm-toolchain-provisioning/build.gradle.kts +++ b/repo/gradle-settings-conventions/jvm-toolchain-provisioning/build.gradle.kts
@@ -1,3 +1,6 @@ +import org.jetbrains.kotlin.buildtools.api.ExperimentalBuildToolsApi +import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi + plugins { `kotlin-dsl` id("org.jetbrains.kotlin.jvm") @@ -12,4 +15,8 @@ implementation(libs.gradle.toolchainsFoojayResolver.gradlePlugin) } -kotlin.jvmToolchain(8) +kotlin { + @OptIn(ExperimentalKotlinGradlePluginApi::class, ExperimentalBuildToolsApi::class) + compilerVersion = libs.versions.kotlin.`for`.gradle.plugins.compilation + jvmToolchain(11) +}
diff --git a/repo/gradle-settings-conventions/kotlin-bootstrap/build.gradle.kts b/repo/gradle-settings-conventions/kotlin-bootstrap/build.gradle.kts index 313350f..f657257 100644 --- a/repo/gradle-settings-conventions/kotlin-bootstrap/build.gradle.kts +++ b/repo/gradle-settings-conventions/kotlin-bootstrap/build.gradle.kts
@@ -1,3 +1,6 @@ +import org.jetbrains.kotlin.buildtools.api.ExperimentalBuildToolsApi +import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi + plugins { `kotlin-dsl` id("org.jetbrains.kotlin.jvm") @@ -7,4 +10,8 @@ mavenCentral { setUrl("https://cache-redirector.jetbrains.com/maven-central") } } -kotlin.jvmToolchain(8) +kotlin { + @OptIn(ExperimentalKotlinGradlePluginApi::class, ExperimentalBuildToolsApi::class) + compilerVersion = libs.versions.kotlin.`for`.gradle.plugins.compilation + jvmToolchain(11) +}
diff --git a/repo/gradle-settings-conventions/kotlin-daemon-config/build.gradle.kts b/repo/gradle-settings-conventions/kotlin-daemon-config/build.gradle.kts index 313350f..f657257 100644 --- a/repo/gradle-settings-conventions/kotlin-daemon-config/build.gradle.kts +++ b/repo/gradle-settings-conventions/kotlin-daemon-config/build.gradle.kts
@@ -1,3 +1,6 @@ +import org.jetbrains.kotlin.buildtools.api.ExperimentalBuildToolsApi +import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi + plugins { `kotlin-dsl` id("org.jetbrains.kotlin.jvm") @@ -7,4 +10,8 @@ mavenCentral { setUrl("https://cache-redirector.jetbrains.com/maven-central") } } -kotlin.jvmToolchain(8) +kotlin { + @OptIn(ExperimentalKotlinGradlePluginApi::class, ExperimentalBuildToolsApi::class) + compilerVersion = libs.versions.kotlin.`for`.gradle.plugins.compilation + jvmToolchain(11) +}