From c410c5d3cdafe7c67882fdb3eb61dab1b417ca70 Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Tue, 20 Sep 2022 01:45:11 +0200 Subject: [PATCH] Do not reset freeCompilerArgs for some kotlin-native modules Otherwise common compiler arguments which are set for all modules in the project in `buildSrc/src/main/kotlin/common-configuration.gradle.kts` are not applied. The most interesting of those are `-Xuse-k2` (if K2 is enabled) and `-Xjvm-default=all`. --- .../src/main/kotlin/common-configuration.gradle.kts | 13 +++++++++++++ kotlin-native/Interop/Indexer/build.gradle.kts | 2 +- kotlin-native/Interop/Runtime/build.gradle.kts | 3 +-- .../Interop/StubGenerator/build.gradle.kts | 6 +++--- .../endorsedLibraries/kotlinx.cli/build.gradle.kts | 2 +- kotlin-native/shared/build.gradle.kts | 2 +- .../utilities/basic-utils/build.gradle.kts | 2 +- kotlin-native/utilities/cli-runner/build.gradle | 2 +- 8 files changed, 22 insertions(+), 10 deletions(-) diff --git a/buildSrc/src/main/kotlin/common-configuration.gradle.kts b/buildSrc/src/main/kotlin/common-configuration.gradle.kts index 7d89db18ba8..2a88d7bb250 100644 --- a/buildSrc/src/main/kotlin/common-configuration.gradle.kts +++ b/buildSrc/src/main/kotlin/common-configuration.gradle.kts @@ -154,8 +154,21 @@ fun Project.configureKotlinCompilationOptions() { ":wasm:wasm.ir", // Uses multiplatform ":kotlin-stdlib-jvm-minimal-for-test", + ":kotlin-native:endorsedLibraries:kotlinx.cli", + ":kotlin-native:klib", // Requires serialization plugin ":js:js.tests", + // ISE "Cannot serialize error type: ERROR CLASS: Cannot calculate return type (local class/object?)" + ":kotlin-native-shared", + // Warnings about deprecated usages of companion objects in `::class` + ":kotlin-native:Interop:Runtime", + // Some warnings which are not printed out for some reason + ":kotlin-native:Interop:Indexer", + ":kotlin-native:Interop:Skia", + // ISE "Fake override should have at least one overridden descriptor", + ":kotlin-native:Interop:StubGenerator", + // Overload resolution ambiguity between candidates + ":kotlin-native:backend.native", ) // TODO: fix remaining warnings and remove this property. diff --git a/kotlin-native/Interop/Indexer/build.gradle.kts b/kotlin-native/Interop/Indexer/build.gradle.kts index a361aac64b3..5524511f6f1 100644 --- a/kotlin-native/Interop/Indexer/build.gradle.kts +++ b/kotlin-native/Interop/Indexer/build.gradle.kts @@ -176,7 +176,7 @@ val compileKotlin: org.jetbrains.kotlin.gradle.tasks.KotlinCompile by tasks tasks.withType().configureEach { kotlinOptions { allWarningsAsErrors = true - freeCompilerArgs = listOf("-Xskip-prerelease-check") + freeCompilerArgs += listOf("-Xskip-prerelease-check") } } diff --git a/kotlin-native/Interop/Runtime/build.gradle.kts b/kotlin-native/Interop/Runtime/build.gradle.kts index 1471b3a20f2..32db09b7a73 100644 --- a/kotlin-native/Interop/Runtime/build.gradle.kts +++ b/kotlin-native/Interop/Runtime/build.gradle.kts @@ -73,9 +73,8 @@ sourceSets.main.get().java.srcDir("src/jvm/kotlin") tasks.withType().configureEach { kotlinOptions { - freeCompilerArgs = listOf( + freeCompilerArgs += listOf( "-opt-in=kotlin.ExperimentalUnsignedTypes", - "-opt-in=kotlin.RequiresOptIn", "-Xskip-prerelease-check" ) allWarningsAsErrors = true diff --git a/kotlin-native/Interop/StubGenerator/build.gradle.kts b/kotlin-native/Interop/StubGenerator/build.gradle.kts index 128b1857143..f9702fbd441 100644 --- a/kotlin-native/Interop/StubGenerator/build.gradle.kts +++ b/kotlin-native/Interop/StubGenerator/build.gradle.kts @@ -46,9 +46,9 @@ dependencies { tasks { withType { kotlinOptions { - freeCompilerArgs = listOf( - "-opt-in=kotlin.ExperimentalUnsignedTypes", - "-Xskip-metadata-version-check" + freeCompilerArgs += listOf( + "-opt-in=kotlin.ExperimentalUnsignedTypes", + "-Xskip-metadata-version-check" ) allWarningsAsErrors = true } diff --git a/kotlin-native/endorsedLibraries/kotlinx.cli/build.gradle.kts b/kotlin-native/endorsedLibraries/kotlinx.cli/build.gradle.kts index 2ae530c9596..7dd0189890f 100644 --- a/kotlin-native/endorsedLibraries/kotlinx.cli/build.gradle.kts +++ b/kotlin-native/endorsedLibraries/kotlinx.cli/build.gradle.kts @@ -46,7 +46,7 @@ kotlin { compilations.all { kotlinOptions { - freeCompilerArgs = listOf("-opt-in=kotlinx.cli.ExperimentalCli", "-opt-in=kotlin.RequiresOptIn") + freeCompilerArgs += listOf("-opt-in=kotlinx.cli.ExperimentalCli") suppressWarnings = true } } diff --git a/kotlin-native/shared/build.gradle.kts b/kotlin-native/shared/build.gradle.kts index 90d137923a4..8f473174477 100644 --- a/kotlin-native/shared/build.gradle.kts +++ b/kotlin-native/shared/build.gradle.kts @@ -41,7 +41,7 @@ sourceSets["main"].withConvention(KotlinSourceSet::class) { tasks.withType { kotlinOptions.jvmTarget = "1.8" - kotlinOptions.freeCompilerArgs = listOf("-Xskip-prerelease-check") + kotlinOptions.freeCompilerArgs += listOf("-Xskip-prerelease-check") } tasks.jar { diff --git a/kotlin-native/utilities/basic-utils/build.gradle.kts b/kotlin-native/utilities/basic-utils/build.gradle.kts index f6842c9ae28..0f8dd62de4d 100644 --- a/kotlin-native/utilities/basic-utils/build.gradle.kts +++ b/kotlin-native/utilities/basic-utils/build.gradle.kts @@ -15,7 +15,7 @@ plugins { tasks.named("compileKotlin") { kotlinOptions { - freeCompilerArgs = listOf("-Xskip-metadata-version-check") + freeCompilerArgs += listOf("-Xskip-metadata-version-check") } } diff --git a/kotlin-native/utilities/cli-runner/build.gradle b/kotlin-native/utilities/cli-runner/build.gradle index d96db73c3c0..518d51f1735 100644 --- a/kotlin-native/utilities/cli-runner/build.gradle +++ b/kotlin-native/utilities/cli-runner/build.gradle @@ -10,7 +10,7 @@ apply plugin: 'kotlin' compileKotlin { kotlinOptions { - freeCompilerArgs = ['-Xskip-metadata-version-check'] + freeCompilerArgs += ['-Xskip-metadata-version-check'] } }