[K/N][Gradle] Make sure K/N Gradle plugin don't fail when K/N distribution directory has no platform libs

This commit is contained in:
Dmitriy Dolovov
2021-07-26 12:47:32 +03:00
parent 66c9d658e4
commit 59dcef81f7
@@ -837,14 +837,15 @@ internal class CacheBuilder(val project: Project, val binary: NativeBinary, val
private fun ensureCompilerProvidedLibsPrecached() {
val distribution = Distribution(project.konanHome)
val platformLibs = (listOf(File(distribution.stdlib)) + File(distribution.platformLibs(konanTarget))
.listFiles()).associateBy { it.name }
val platformLibs = mutableListOf<File>().apply {
this += File(distribution.stdlib)
this += File(distribution.platformLibs(konanTarget)).listFiles().orEmpty()
}.associateBy { it.name }
val visitedLibs = mutableSetOf<String>()
for (platformLibName in platformLibs.keys)
ensureCompilerProvidedLibPrecached(platformLibName, platformLibs, visitedLibs)
}
fun buildCompilerArgs(): List<String> = mutableListOf<String>().apply {
if (konanCacheKind != NativeCacheKind.NONE && !optimized && cacheWorksFor(konanTarget, project)) {
rootCacheDirectory.mkdirs()