From 5c039e25fc270aebd0d9a7d1c553b7c1268c2290 Mon Sep 17 00:00:00 2001 From: "Aleksei.Cherepanov" Date: Mon, 3 Apr 2023 09:24:21 +0000 Subject: [PATCH] Pin API and language version to 1.8 for Kotlin facet serialization used by IJ Facet serialization is located in Kotlin repo, and it uses new(1.9.*) stdlib in compile dependencies. But when it is used by IJ it has previous runtime stdlib dependency (looks like 1.8.0). So here is workaround, that specifies apiVersion and languageVersion, that does not produce such problematic outputs. #KTIJ-24903 Fixed Merge-request: KT-MR-9333 Merged-by: Aleksei Cherepanov --- jps/jps-common/build.gradle.kts | 8 ++++++++ jps/jps-platform-api-signatures/build.gradle.kts | 8 ++++++++ jps/jps-plugin/build.gradle.kts | 8 ++++++++ 3 files changed, 24 insertions(+) diff --git a/jps/jps-common/build.gradle.kts b/jps/jps-common/build.gradle.kts index 7c2b02e1a29..98b085d9285 100644 --- a/jps/jps-common/build.gradle.kts +++ b/jps/jps-common/build.gradle.kts @@ -1,3 +1,6 @@ +import org.jetbrains.kotlin.gradle.dsl.KotlinVersion +import org.jetbrains.kotlin.gradle.tasks.KotlinCompilationTask + plugins { kotlin("jvm") id("jps-compatible") @@ -38,3 +41,8 @@ sourceSets { } runtimeJar() + +tasks.withType>().configureEach { + compilerOptions.apiVersion.value(KotlinVersion.KOTLIN_1_8).finalizeValueOnRead() + compilerOptions.languageVersion.value(KotlinVersion.KOTLIN_1_8).finalizeValueOnRead() +} \ No newline at end of file diff --git a/jps/jps-platform-api-signatures/build.gradle.kts b/jps/jps-platform-api-signatures/build.gradle.kts index a0ce11b936a..3e407a1463b 100644 --- a/jps/jps-platform-api-signatures/build.gradle.kts +++ b/jps/jps-platform-api-signatures/build.gradle.kts @@ -1,3 +1,6 @@ +import org.jetbrains.kotlin.gradle.dsl.KotlinVersion +import org.jetbrains.kotlin.gradle.tasks.KotlinCompilationTask + plugins { kotlin("jvm") id("jps-compatible") @@ -10,3 +13,8 @@ dependencies { sourceSets { "main" { projectDefault() } } + +tasks.withType>().configureEach { + compilerOptions.apiVersion.value(KotlinVersion.KOTLIN_1_8).finalizeValueOnRead() + compilerOptions.languageVersion.value(KotlinVersion.KOTLIN_1_8).finalizeValueOnRead() +} \ No newline at end of file diff --git a/jps/jps-plugin/build.gradle.kts b/jps/jps-plugin/build.gradle.kts index fe4845d1ce2..0c58cd302eb 100644 --- a/jps/jps-plugin/build.gradle.kts +++ b/jps/jps-plugin/build.gradle.kts @@ -1,3 +1,6 @@ +import org.jetbrains.kotlin.gradle.dsl.KotlinVersion +import org.jetbrains.kotlin.gradle.tasks.KotlinCompilationTask + plugins { kotlin("jvm") id("jps-compatible") @@ -110,3 +113,8 @@ projectTest(parallel = true) { } testsJar {} + +tasks.withType>().configureEach { + compilerOptions.apiVersion.value(KotlinVersion.KOTLIN_1_8).finalizeValueOnRead() + compilerOptions.languageVersion.value(KotlinVersion.KOTLIN_1_8).finalizeValueOnRead() +} \ No newline at end of file