diff --git a/build-common/build.gradle.kts b/build-common/build.gradle.kts index dda121f75c1..875b70fbdc0 100644 --- a/build-common/build.gradle.kts +++ b/build-common/build.gradle.kts @@ -1,3 +1,6 @@ +import org.jetbrains.kotlin.gradle.dsl.KotlinVersion as GradleKotlinVersion +import org.jetbrains.kotlin.gradle.tasks.KotlinCompilationTask + description = "Kotlin Build Common" plugins { @@ -46,3 +49,10 @@ projectTest(parallel = true) projectTest("testJUnit5", jUnitMode = JUnitMode.JUnit5, parallel = true) { useJUnitPlatform() } + +// 1.9 level breaks Kotlin Gradle plugins via changes in enums (KT-48872) +// We limit api and LV until KGP will stop using Kotlin compiler directly (KT-56574) +tasks.withType>().configureEach { + compilerOptions.apiVersion.value(GradleKotlinVersion.KOTLIN_1_8).finalizeValueOnRead() + compilerOptions.languageVersion.value(GradleKotlinVersion.KOTLIN_1_8).finalizeValueOnRead() +} diff --git a/compiler/cli/cli-common/build.gradle.kts b/compiler/cli/cli-common/build.gradle.kts index 9fd7ae56c88..2f71d0dbf5a 100644 --- a/compiler/cli/cli-common/build.gradle.kts +++ b/compiler/cli/cli-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") @@ -27,3 +30,10 @@ tasks.getByName("jar") { //excludes unused bunch files exclude("META-INF/extensions/*.xml.**") } + +// 1.9 level breaks Kotlin Gradle plugins via changes in enums (KT-48872) +// We limit api and LV until KGP will stop using Kotlin compiler directly (KT-56574) +tasks.withType>().configureEach { + compilerOptions.apiVersion.value(KotlinVersion.KOTLIN_1_8).finalizeValueOnRead() + compilerOptions.languageVersion.value(KotlinVersion.KOTLIN_1_8).finalizeValueOnRead() +} diff --git a/compiler/config.jvm/build.gradle.kts b/compiler/config.jvm/build.gradle.kts index 52e0265427c..c8564261562 100644 --- a/compiler/config.jvm/build.gradle.kts +++ b/compiler/config.jvm/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") @@ -13,3 +16,10 @@ sourceSets { "main" { projectDefault() } "test" { } } + +// 1.9 level breaks Kotlin Gradle plugins via changes in enums (KT-48872) +// We limit api and LV until KGP will stop using Kotlin compiler directly (KT-56574) +tasks.withType>().configureEach { + compilerOptions.apiVersion.value(KotlinVersion.KOTLIN_1_8).finalizeValueOnRead() + compilerOptions.languageVersion.value(KotlinVersion.KOTLIN_1_8).finalizeValueOnRead() +} diff --git a/compiler/daemon/daemon-client/build.gradle.kts b/compiler/daemon/daemon-client/build.gradle.kts index b27039cb18a..a02f61fb894 100644 --- a/compiler/daemon/daemon-client/build.gradle.kts +++ b/compiler/daemon/daemon-client/build.gradle.kts @@ -1,3 +1,6 @@ +import org.jetbrains.kotlin.gradle.dsl.KotlinVersion +import org.jetbrains.kotlin.gradle.tasks.KotlinCompilationTask + description = "Kotlin Daemon Client" plugins { @@ -35,11 +38,14 @@ dependencies { } } -tasks.withType> { - kotlinOptions { +tasks.withType> { + compilerOptions { // This module is being run from within Gradle, older versions of which only have older kotlin-stdlib in the runtime classpath. - apiVersion = "1.4" - freeCompilerArgs += "-Xsuppress-version-warnings" + @Suppress("DEPRECATION") + apiVersion.set(KotlinVersion.KOTLIN_1_4) + @Suppress("DEPRECATION") + languageVersion.set(KotlinVersion.KOTLIN_1_4) + freeCompilerArgs.add("-Xsuppress-version-warnings") } } diff --git a/compiler/daemon/daemon-common/build.gradle.kts b/compiler/daemon/daemon-common/build.gradle.kts index e45efbab0e2..c4fbc0de032 100644 --- a/compiler/daemon/daemon-common/build.gradle.kts +++ b/compiler/daemon/daemon-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") @@ -16,3 +19,11 @@ sourceSets { "main" { projectDefault() } "test" {} } + +// 1.9 level breaks Kotlin Gradle plugins via changes in enums (KT-48872) +// We limit api and LV until KGP will stop using Kotlin compiler directly (KT-56574) +tasks.withType>().configureEach { + compilerOptions.apiVersion.value(KotlinVersion.KOTLIN_1_8).finalizeValueOnRead() + compilerOptions.languageVersion.value(KotlinVersion.KOTLIN_1_8).finalizeValueOnRead() +} + diff --git a/compiler/frontend.common/build.gradle.kts b/compiler/frontend.common/build.gradle.kts index 179df840a88..ce2f074fabe 100644 --- a/compiler/frontend.common/build.gradle.kts +++ b/compiler/frontend.common/build.gradle.kts @@ -1,3 +1,7 @@ +import org.jetbrains.kotlin.gradle.dsl.KotlinVersion +import org.jetbrains.kotlin.gradle.tasks.KotlinCompilationTask + + plugins { kotlin("jvm") id("jps-compatible") @@ -14,3 +18,10 @@ sourceSets { "main" { projectDefault() } "test" {} } + +// 1.9 level breaks Kotlin Gradle plugins via changes in enums (KT-48872) +// We limit api and LV until KGP will stop using Kotlin compiler directly (KT-56574) +tasks.withType>().configureEach { + compilerOptions.apiVersion.value(KotlinVersion.KOTLIN_1_8).finalizeValueOnRead() + compilerOptions.languageVersion.value(KotlinVersion.KOTLIN_1_8).finalizeValueOnRead() +} diff --git a/compiler/incremental-compilation-impl/build.gradle.kts b/compiler/incremental-compilation-impl/build.gradle.kts index 110b467fe31..c6d43a045d9 100644 --- a/compiler/incremental-compilation-impl/build.gradle.kts +++ b/compiler/incremental-compilation-impl/build.gradle.kts @@ -1,3 +1,5 @@ +import org.jetbrains.kotlin.gradle.dsl.KotlinVersion +import org.jetbrains.kotlin.gradle.tasks.KotlinCompilationTask plugins { kotlin("jvm") @@ -53,3 +55,10 @@ projectTest("testJvmICWithJdk11", parallel = true) { } testsJar() + +// 1.9 level breaks Kotlin Gradle plugins via changes in enums (KT-48872) +// We limit api and LV until KGP will stop using Kotlin compiler directly (KT-56574) +tasks.withType>().configureEach { + compilerOptions.apiVersion.value(KotlinVersion.KOTLIN_1_8).finalizeValueOnRead() + compilerOptions.languageVersion.value(KotlinVersion.KOTLIN_1_8).finalizeValueOnRead() +} diff --git a/compiler/util/build.gradle.kts b/compiler/util/build.gradle.kts index bfe49e70214..835a9f7ce69 100644 --- a/compiler/util/build.gradle.kts +++ b/compiler/util/build.gradle.kts @@ -1,3 +1,6 @@ +import org.jetbrains.kotlin.gradle.dsl.KotlinVersion as GradleKotlinVersion +import org.jetbrains.kotlin.gradle.tasks.KotlinCompilationTask + plugins { kotlin("jvm") id("jps-compatible") @@ -21,3 +24,10 @@ sourceSets { } "test" {} } + +// 1.9 level breaks Kotlin Gradle plugins via changes in enums (KT-48872) +// We limit api and LV until KGP will stop using Kotlin compiler directly (KT-56574) +tasks.withType>().configureEach { + compilerOptions.apiVersion.value(GradleKotlinVersion.KOTLIN_1_8).finalizeValueOnRead() + compilerOptions.languageVersion.value(GradleKotlinVersion.KOTLIN_1_8).finalizeValueOnRead() +} diff --git a/core/deserialization.common.jvm/build.gradle.kts b/core/deserialization.common.jvm/build.gradle.kts index b028bc4d89e..9f2a00ba503 100644 --- a/core/deserialization.common.jvm/build.gradle.kts +++ b/core/deserialization.common.jvm/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") @@ -15,3 +18,10 @@ sourceSets { "main" { projectDefault() } "test" {} } + +// 1.9 level breaks Kotlin Gradle plugins via changes in enums (KT-48872) +// We limit api and LV until KGP will stop using Kotlin compiler directly (KT-56574) +tasks.withType>().configureEach { + compilerOptions.apiVersion.value(KotlinVersion.KOTLIN_1_8).finalizeValueOnRead() + compilerOptions.languageVersion.value(KotlinVersion.KOTLIN_1_8).finalizeValueOnRead() +} diff --git a/core/util.runtime/build.gradle.kts b/core/util.runtime/build.gradle.kts index 75d285f5606..49345040c26 100644 --- a/core/util.runtime/build.gradle.kts +++ b/core/util.runtime/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") @@ -13,3 +16,10 @@ sourceSets { "main" { projectDefault() } "test" {} } + +// 1.9 level breaks Kotlin Gradle plugins via changes in enums (KT-48872) +// We limit api and LV until KGP will stop using Kotlin compiler directly (KT-56574) +tasks.withType>().configureEach { + compilerOptions.apiVersion.value(KotlinVersion.KOTLIN_1_8).finalizeValueOnRead() + compilerOptions.languageVersion.value(KotlinVersion.KOTLIN_1_8).finalizeValueOnRead() +} diff --git a/libraries/scripting/common/build.gradle.kts b/libraries/scripting/common/build.gradle.kts index ddabe603dfb..423721cd0ba 100644 --- a/libraries/scripting/common/build.gradle.kts +++ b/libraries/scripting/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") @@ -27,3 +30,10 @@ publish() runtimeJar() sourcesJar() javadocJar() + +// 1.9 level breaks Kotlin Gradle plugins via changes in enums (KT-48872) +// We limit api and LV until KGP will stop using Kotlin compiler directly (KT-56574) +tasks.withType>().configureEach { + compilerOptions.apiVersion.value(KotlinVersion.KOTLIN_1_8).finalizeValueOnRead() + compilerOptions.languageVersion.value(KotlinVersion.KOTLIN_1_8).finalizeValueOnRead() +} diff --git a/libraries/tools/kotlin-gradle-plugin-idea/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-idea/build.gradle.kts index 1d91ab4c96d..3cb69cf7a46 100644 --- a/libraries/tools/kotlin-gradle-plugin-idea/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-idea/build.gradle.kts @@ -1,3 +1,5 @@ +import org.jetbrains.kotlin.gradle.dsl.KotlinVersion +import org.jetbrains.kotlin.gradle.tasks.KotlinCompilationTask import plugins.KotlinBuildPublishingPlugin.Companion.ADHOC_COMPONENT_NAME plugins { @@ -7,9 +9,16 @@ plugins { id("org.jetbrains.kotlinx.binary-compatibility-validator") } +@Suppress("DEPRECATION") +tasks.withType>().configureEach { + compilerOptions { + apiVersion.value(KotlinVersion.KOTLIN_1_5).finalizeValueOnRead() + languageVersion.value(KotlinVersion.KOTLIN_1_5).finalizeValueOnRead() + freeCompilerArgs.add("-Xsuppress-version-warnings") + } +} + kotlin.sourceSets.configureEach { - languageSettings.apiVersion = "1.4" - languageSettings.languageVersion = "1.4" languageSettings.optIn("org.jetbrains.kotlin.gradle.InternalKotlinGradlePluginApi") } diff --git a/native/commonizer-api/build.gradle.kts b/native/commonizer-api/build.gradle.kts index 1d4b96a6d2c..c42a4cd3986 100644 --- a/native/commonizer-api/build.gradle.kts +++ b/native/commonizer-api/build.gradle.kts @@ -1,3 +1,6 @@ +import org.jetbrains.kotlin.gradle.dsl.KotlinVersion +import org.jetbrains.kotlin.gradle.tasks.KotlinCompilationTask + plugins { kotlin("jvm") } @@ -36,3 +39,10 @@ projectTest(parallel = false) { runtimeJar() sourcesJar() javadocJar() + +// 1.9 level breaks Kotlin Gradle plugins via changes in enums (KT-48872) +// We limit api and LV until KGP will stop using Kotlin compiler directly (KT-56574) +tasks.withType>().configureEach { + compilerOptions.apiVersion.value(KotlinVersion.KOTLIN_1_8).finalizeValueOnRead() + compilerOptions.languageVersion.value(KotlinVersion.KOTLIN_1_8).finalizeValueOnRead() +}