From 405e90abee6079cd4d9cdadd1a9fa4e5472ceb6f Mon Sep 17 00:00:00 2001 From: Nikolay Krasko Date: Tue, 5 Apr 2022 16:30:23 +0300 Subject: [PATCH] Apply -Xklib-relative-path-base to all KotlinCompile tasks As absolute paths were also revealed in atomicfu.jar kotlin-stdlib-wasm kotlin-test-wasm Use solution from Alexander Likhachev (avoid accessing buildDir, projectDir in doFirst()) to prevent breaking the configuration cache. Should be removed after fixing KT-50876 KTI-729 --- build.gradle.kts | 11 +++++++++++ libraries/kotlin.test/js-ir/build.gradle.kts | 6 ------ libraries/stdlib/js-ir/build.gradle.kts | 6 ------ 3 files changed, 11 insertions(+), 12 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 731d50de77d..494ad7a2654 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -494,6 +494,17 @@ allprojects { apiVersion = kotlinLanguageVersion freeCompilerArgs = commonCompilerArgs } + + val relativePathBaseArg: String? = + "-Xklib-relative-path-base=$buildDir,$projectDir".takeIf { + !kotlinBuildProperties.getBoolean("kotlin.build.use.absolute.paths.in.klib") + } + + doFirst { + if (relativePathBaseArg != null) { + kotlinOptions.freeCompilerArgs += relativePathBaseArg + } + } } val jvmCompilerArgs = listOf( diff --git a/libraries/kotlin.test/js-ir/build.gradle.kts b/libraries/kotlin.test/js-ir/build.gradle.kts index 2613286387f..f583b1baa92 100644 --- a/libraries/kotlin.test/js-ir/build.gradle.kts +++ b/libraries/kotlin.test/js-ir/build.gradle.kts @@ -52,12 +52,6 @@ tasks.withType>().configureEach { "-opt-in=kotlin.ExperimentalMultiplatform", "-opt-in=kotlin.contracts.ExperimentalContracts" ) - - doFirst { - kotlinOptions.freeCompilerArgs += listOfNotNull( - "-Xklib-relative-path-base=$buildDir,$projectDir".takeIf { !kotlinBuildProperties.getBoolean("kotlin.build.use.absolute.paths.in.klib") } - ) - } } tasks.named("compileKotlinJs") { diff --git a/libraries/stdlib/js-ir/build.gradle.kts b/libraries/stdlib/js-ir/build.gradle.kts index 61afbc84977..f7df4ee0e36 100644 --- a/libraries/stdlib/js-ir/build.gradle.kts +++ b/libraries/stdlib/js-ir/build.gradle.kts @@ -143,12 +143,6 @@ tasks.withType>().configureEach { "-opt-in=kotlin.ExperimentalUnsignedTypes", "-opt-in=kotlin.ExperimentalStdlibApi" ) - - doFirst { - kotlinOptions.freeCompilerArgs += listOfNotNull( - "-Xklib-relative-path-base=$buildDir,$projectDir".takeIf { !kotlinBuildProperties.getBoolean("kotlin.build.use.absolute.paths.in.klib") } - ) - } } val compileKotlinJs by tasks.existing(KotlinCompile::class) {