[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 package org.jetbrains.kotlin.gradle.plugin.konan.tasks
import org.gradle.api.DefaultTask import org.gradle.api.DefaultTask
import org.gradle.api.file.Directory
import org.gradle.api.provider.Property import org.gradle.api.provider.Property
import org.gradle.api.tasks.* import org.gradle.api.tasks.*
import org.jetbrains.kotlin.gradle.plugin.konan.KonanCompilerRunner import org.jetbrains.kotlin.gradle.plugin.konan.KonanCompilerRunner
@@ -17,7 +18,7 @@ enum class KonanCacheKind(val outputKind: CompilerOutputKind) {
open class KonanCacheTask: DefaultTask() { open class KonanCacheTask: DefaultTask() {
@get:InputDirectory @get:InputDirectory
lateinit var originalKlib: File var originalKlib: File? = null
@get:Input @get:Input
lateinit var cacheRoot: String lateinit var cacheRoot: String
@@ -33,7 +34,7 @@ open class KonanCacheTask: DefaultTask() {
@get:OutputDirectory @get:OutputDirectory
val cacheFile: File val cacheFile: File
get() { get() {
val klibName = originalKlib.let { val klibName = originalKlib?.let {
if (it.isDirectory) it.name else it.nameWithoutExtension if (it.isDirectory) it.name else it.nameWithoutExtension
} }
return cacheDirectory.resolve("${klibName}-cache") return cacheDirectory.resolve("${klibName}-cache")
@@ -63,11 +64,12 @@ open class KonanCacheTask: DefaultTask() {
val additionalCacheFlags = PlatformManager(konanHome).let { val additionalCacheFlags = PlatformManager(konanHome).let {
it.targetByName(target).let(it::loader).additionalCacheFlags it.targetByName(target).let(it::loader).additionalCacheFlags
} }
requireNotNull(originalKlib)
val args = listOf( val args = listOf(
"-g", "-g",
"-target", target, "-target", target,
"-produce", cacheKind.outputKind.name.toLowerCase(), "-produce", cacheKind.outputKind.name.toLowerCase(),
"-Xadd-cache=${originalKlib.absolutePath}", "-Xadd-cache=${originalKlib?.absolutePath}",
"-Xcache-directory=${cacheDirectory.absolutePath}" "-Xcache-directory=${cacheDirectory.absolutePath}"
) + additionalCacheFlags + cachedLibraries.map { "-Xcached-library=${it.key},${it.value}" } ) + additionalCacheFlags + cachedLibraries.map { "-Xcached-library=${it.key},${it.value}" }
KonanCompilerRunner(project, konanHome = konanHome).run(args) KonanCompilerRunner(project, konanHome = konanHome).run(args)