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