From 79fa3c2c30a6c8f69a6822891f031736b47ad09d Mon Sep 17 00:00:00 2001 From: Ilya Goncharov Date: Wed, 22 Jan 2020 14:43:59 +0300 Subject: [PATCH] [Gradle, JS] Fix check on klib --- .../src/org/jetbrains/kotlin/utils/LibraryUtils.kt | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/compiler/util/src/org/jetbrains/kotlin/utils/LibraryUtils.kt b/compiler/util/src/org/jetbrains/kotlin/utils/LibraryUtils.kt index 2216f7f9cab..7586702eec8 100644 --- a/compiler/util/src/org/jetbrains/kotlin/utils/LibraryUtils.kt +++ b/compiler/util/src/org/jetbrains/kotlin/utils/LibraryUtils.kt @@ -67,8 +67,7 @@ object LibraryUtils { return checkAttributeValue(library, TITLE_KOTLIN_JAVASCRIPT_STDLIB, Attributes.Name.IMPLEMENTATION_TITLE) } - private fun isZippedKlib(candidate: File): Boolean { - if (candidate.extension == "klib") return true + private fun isZippedKlibInZip(candidate: File): Boolean { var manifestFound = false var irFound = false for (entry in ZipFile(candidate).entries()) { @@ -78,10 +77,15 @@ object LibraryUtils { return manifestFound && irFound } + private fun isZippedKlib(candidate: File): Boolean { + return candidate.extension == "klib" + } + @JvmStatic fun isKotlinJavascriptIrLibrary(candidate: File): Boolean { return when { - FileUtil.isJarOrZip(candidate) -> isZippedKlib(candidate) + isZippedKlib(candidate) -> true + FileUtil.isJarOrZip(candidate) -> isZippedKlibInZip(candidate) !File(candidate, "manifest").isFile -> false !File(candidate, "ir").isDirectory -> false else -> true