From a003d804d28a061f9b91c151fa1ac23776eb7145 Mon Sep 17 00:00:00 2001 From: Pavel Punegov Date: Mon, 18 Oct 2021 16:17:18 +0300 Subject: [PATCH] [K/N][build] Use Map for cached libraries --- kotlin-native/endorsedLibraries/build.gradle | 4 +++- .../kotlin/gradle/plugin/konan/tasks/KonanCacheTask.kt | 5 ++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/kotlin-native/endorsedLibraries/build.gradle b/kotlin-native/endorsedLibraries/build.gradle index d924b4a53e3..1ce60114e6e 100644 --- a/kotlin-native/endorsedLibraries/build.gradle +++ b/kotlin-native/endorsedLibraries/build.gradle @@ -77,7 +77,9 @@ targetList.each { target -> cacheRoot = library.project.file("build/cache/$target").path compilerDistributionPath.set(distDir) // TODO: should depend on stdlib producer task and its properties - cachedLibrary = "${dist}/klib/common/stdlib,${dist}/klib/cache/${target}-gSTATIC/stdlib-cache" + def clibs = [:] + clibs.put(project.file("$dist/klib/common/stdlib"), project.file("$dist/klib/cache/${target}-gSTATIC/stdlib-cache")) + cachedLibraries = clibs dependsOn "$library.projectName:${target}${library.taskName}" dependsOn ":kotlin-native:${target}CrossDistRuntime" 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 8f10c6821ae..9e1920e37cb 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 @@ -49,8 +49,7 @@ open class KonanCacheTask: DefaultTask() { } @get:Input - @get:Optional - var cachedLibrary: String? = null + var cachedLibraries: Map = emptyMap() @TaskAction fun compile() { @@ -70,7 +69,7 @@ open class KonanCacheTask: DefaultTask() { "-produce", cacheKind.outputKind.name.toLowerCase(), "-Xadd-cache=${originalKlib.absolutePath}", "-Xcache-directory=${cacheDirectory.absolutePath}" - ) + additionalCacheFlags + (cachedLibrary?.let { "-Xcached-library=$it" } ?: "") + ) + additionalCacheFlags + cachedLibraries.map { "-Xcached-library=${it.key},${it.value}" } KonanCompilerRunner(project, konanHome = konanHome).run(args) } } \ No newline at end of file