From 56d34bfd53eddc0163f63a222a2f8a96a0510c40 Mon Sep 17 00:00:00 2001 From: Pavel Punegov Date: Thu, 21 Oct 2021 11:08:52 +0300 Subject: [PATCH] [K/N][build] KonanCacheTask: get rid of lateinit in input directory --- .../kotlin/gradle/plugin/konan/tasks/KonanCacheTask.kt | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/kotlin-native/tools/kotlin-native-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/konan/tasks/KonanCacheTask.kt b/kotlin-native/tools/kotlin-native-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/konan/tasks/KonanCacheTask.kt index 9e1920e37cb..4c8ddd16147 100644 --- a/kotlin-native/tools/kotlin-native-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/konan/tasks/KonanCacheTask.kt +++ b/kotlin-native/tools/kotlin-native-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/konan/tasks/KonanCacheTask.kt @@ -1,6 +1,7 @@ package org.jetbrains.kotlin.gradle.plugin.konan.tasks import org.gradle.api.DefaultTask +import org.gradle.api.file.Directory import org.gradle.api.provider.Property import org.gradle.api.tasks.* import org.jetbrains.kotlin.gradle.plugin.konan.KonanCompilerRunner @@ -17,7 +18,7 @@ enum class KonanCacheKind(val outputKind: CompilerOutputKind) { open class KonanCacheTask: DefaultTask() { @get:InputDirectory - lateinit var originalKlib: File + var originalKlib: File? = null @get:Input lateinit var cacheRoot: String @@ -33,7 +34,7 @@ open class KonanCacheTask: DefaultTask() { @get:OutputDirectory val cacheFile: File get() { - val klibName = originalKlib.let { + val klibName = originalKlib?.let { if (it.isDirectory) it.name else it.nameWithoutExtension } return cacheDirectory.resolve("${klibName}-cache") @@ -63,11 +64,12 @@ open class KonanCacheTask: DefaultTask() { val additionalCacheFlags = PlatformManager(konanHome).let { it.targetByName(target).let(it::loader).additionalCacheFlags } + requireNotNull(originalKlib) val args = listOf( "-g", "-target", target, "-produce", cacheKind.outputKind.name.toLowerCase(), - "-Xadd-cache=${originalKlib.absolutePath}", + "-Xadd-cache=${originalKlib?.absolutePath}", "-Xcache-directory=${cacheDirectory.absolutePath}" ) + additionalCacheFlags + cachedLibraries.map { "-Xcached-library=${it.key},${it.value}" } KonanCompilerRunner(project, konanHome = konanHome).run(args)