From 5602fcdf76406f9f42e78a3bdfcd31ce1774e34a Mon Sep 17 00:00:00 2001 From: Dmitriy Novozhilov Date: Tue, 10 Oct 2023 17:40:04 +0300 Subject: [PATCH] [Build] Handle renderDiagnosticNames build property in stdlib and dom-api-compat modules --- .../kotlin-dom-api-compat/build.gradle.kts | 6 +++++- libraries/stdlib/build.gradle.kts | 21 ++++++++++++------- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/libraries/kotlin-dom-api-compat/build.gradle.kts b/libraries/kotlin-dom-api-compat/build.gradle.kts index 616e7a1693c..08b234204ee 100644 --- a/libraries/kotlin-dom-api-compat/build.gradle.kts +++ b/libraries/kotlin-dom-api-compat/build.gradle.kts @@ -36,6 +36,10 @@ tasks.withType().configureEa "-opt-in=kotlin.ExperimentalMultiplatform", "-opt-in=kotlin.contracts.ExperimentalContracts", ) + val renderDiagnosticNames by extra(project.kotlinBuildProperties.renderDiagnosticNames) + if (renderDiagnosticNames) { + compilerOptions.freeCompilerArgs.add("-Xrender-internal-diagnostic-names") + } friendPaths.from(libraries) compilerOptions.allWarningsAsErrors.set(true) } @@ -61,4 +65,4 @@ publishing { } } -configureDefaultPublishing() \ No newline at end of file +configureDefaultPublishing() diff --git a/libraries/stdlib/build.gradle.kts b/libraries/stdlib/build.gradle.kts index 6d674471e11..a3a3d357e1e 100644 --- a/libraries/stdlib/build.gradle.kts +++ b/libraries/stdlib/build.gradle.kts @@ -69,15 +69,19 @@ val commonTestOptIns = listOf( ) kotlin { + val renderDiagnosticNames by extra(project.kotlinBuildProperties.renderDiagnosticNames) + val diagnosticNamesArg = if (renderDiagnosticNames) "-Xrender-internal-diagnostic-names" else null + metadata { compilations { all { compileTaskProvider.configure { kotlinOptions { - freeCompilerArgs = listOf( + freeCompilerArgs = listOfNotNull( "-Xallow-kotlin-package", "-module-name", "kotlin-stdlib-common", "-Xexpect-actual-classes", + diagnosticNamesArg, ) } // workaround for compiling legacy MPP metadata, remove when this compilation is not needed anymore @@ -93,7 +97,7 @@ kotlin { val compileOnlyDeclarations by creating { compileTaskProvider.configure { kotlinOptions { - freeCompilerArgs = listOf("-Xallow-kotlin-package") + freeCompilerArgs = listOfNotNull("-Xallow-kotlin-package", diagnosticNamesArg) } } } @@ -106,13 +110,14 @@ kotlin { moduleName = "kotlin-stdlib" jvmTarget = "1.8" // providing exhaustive list of args here - freeCompilerArgs = listOf( + freeCompilerArgs = listOfNotNull( "-Xallow-kotlin-package", "-Xexpect-actual-classes", "-Xmultifile-parts-inherit", "-Xuse-14-inline-classes-mangling-scheme", "-Xbuiltins-from-sources", "-Xno-new-java-annotation-targets", + diagnosticNamesArg, ) } } @@ -130,10 +135,11 @@ kotlin { kotlinOptions { moduleName = "kotlin-stdlib-jdk7" jvmTarget = "1.8" - freeCompilerArgs = listOf( + freeCompilerArgs = listOfNotNull( "-Xallow-kotlin-package", "-Xmultifile-parts-inherit", - "-Xno-new-java-annotation-targets" + "-Xno-new-java-annotation-targets", + diagnosticNamesArg, ) } } @@ -144,10 +150,11 @@ kotlin { compileTaskProvider.configure { kotlinOptions { moduleName = "kotlin-stdlib-jdk8" - freeCompilerArgs = listOf( + freeCompilerArgs = listOfNotNull( "-Xallow-kotlin-package", "-Xmultifile-parts-inherit", - "-Xno-new-java-annotation-targets" + "-Xno-new-java-annotation-targets", + diagnosticNamesArg, ) } }