[K/N][build] KonanCacheTask: get rid of lateinit in input directory

This commit is contained in:
Pavel Punegov
2021-10-21 11:08:52 +03:00
committed by Space
parent a003d804d2
commit 56d34bfd53
@@ -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)