From af717e03bdbdd0da74ce2a266214e810807221b8 Mon Sep 17 00:00:00 2001 From: Anton Lakotka Date: Tue, 21 Jun 2022 09:16:04 +0200 Subject: [PATCH] [Gradle] Support KotlinNativeLinkArtifactTask with Configuration Cache --- .../artifact/KotlinNativeLinkArtifactTask.kt | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/artifact/KotlinNativeLinkArtifactTask.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/artifact/KotlinNativeLinkArtifactTask.kt index 08f22567863..07288006ae3 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/artifact/KotlinNativeLinkArtifactTask.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/artifact/KotlinNativeLinkArtifactTask.kt @@ -34,13 +34,14 @@ open class KotlinNativeLinkArtifactTask @Inject constructor( @get:Input var baseName: String = project.name - private val defaultDestinationDir: File - get() { - val kind = outputKind.visibleName - val target = konanTarget.visibleName - val type = if (debuggable) "debug" else "release" - return project.buildDir.resolve("out/$kind/$target/$type") - } + private val buildDir = project.buildDir + + private val defaultDestinationDir: File get() { + val kind = outputKind.visibleName + val target = konanTarget.visibleName + val type = if (debuggable) "debug" else "release" + return buildDir.resolve("out/$kind/$target/$type") + } private var customDestinationDir: File? = null @@ -109,6 +110,8 @@ open class KotlinNativeLinkArtifactTask @Inject constructor( @get:Input var binaryOptions: Map = emptyMap() + private val nativeBinaryOptions = PropertiesProvider(project).nativeBinaryOptions + @get:Internal val kotlinOptions = object : KotlinCommonToolOptions { override var allWarningsAsErrors: Boolean = false @@ -158,7 +161,7 @@ open class KotlinNativeLinkArtifactTask @Inject constructor( fun FileCollection.klibs() = files.filter { it.extension == "klib" } - val localBinaryOptions = PropertiesProvider(project).nativeBinaryOptions + binaryOptions + val localBinaryOptions = nativeBinaryOptions + binaryOptions val buildArgs = buildKotlinNativeBinaryLinkerArgs( outFile = outFile,