diff --git a/compiler/util-klib/src/org/jetbrains/kotlin/library/impl/KotlinLibraryImpl.kt b/compiler/util-klib/src/org/jetbrains/kotlin/library/impl/KotlinLibraryImpl.kt index e2ea0c626d3..eea9da24f70 100644 --- a/compiler/util-klib/src/org/jetbrains/kotlin/library/impl/KotlinLibraryImpl.kt +++ b/compiler/util-klib/src/org/jetbrains/kotlin/library/impl/KotlinLibraryImpl.kt @@ -262,6 +262,16 @@ fun createKotlinLibraryComponents( fun createKotlinLibrary(libraryFile: File): KotlinLibrary = resolveSingleFileKlib(libraryFile) +fun isKotlinLibrary(libraryFile: File): Boolean = try { + createKotlinLibrary(libraryFile) + true +} catch (e: Throwable) { + false +} + +fun isKotlinLibrary(libraryFile: java.io.File): Boolean = + isKotlinLibrary(File(libraryFile.absolutePath)) + val File.isPre_1_4_Library: Boolean get() { val baseAccess = BaseLibraryAccess(this, null) diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kotlin2JsGradlePluginIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kotlin2JsGradlePluginIT.kt index 84deffce27b..1fa066b906a 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kotlin2JsGradlePluginIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kotlin2JsGradlePluginIT.kt @@ -244,7 +244,7 @@ abstract class AbstractKotlin2JsGradlePluginIT(private val irBackend: Boolean) : assertSuccessful() checkIrCompilationMessage() if (irBackend) { - assertFileExists(kotlinClassesDir() + "manifest") + assertFileExists(kotlinClassesDir() + "default/manifest") } else { assertFileExists(kotlinClassesDir() + "kotlin2JsNoOutputFileProject.js") } @@ -265,7 +265,7 @@ abstract class AbstractKotlin2JsGradlePluginIT(private val irBackend: Boolean) : ":compileTestKotlin2Js" ) if (irBackend) { - assertFileExists("build/kotlin2js/main/manifest") + assertFileExists("build/kotlin2js/main/default/manifest") } else { assertFileExists("build/kotlin2js/main/module.js") } diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt index a9fd50f1c6c..d0fc2224154 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt @@ -37,6 +37,7 @@ import org.jetbrains.kotlin.gradle.plugin.mpp.ownModuleName import org.jetbrains.kotlin.gradle.report.BuildReportMode import org.jetbrains.kotlin.gradle.utils.* import org.jetbrains.kotlin.incremental.ChangedFiles +import org.jetbrains.kotlin.library.impl.isKotlinLibrary import org.jetbrains.kotlin.utils.LibraryUtils import java.io.File import javax.inject.Inject @@ -547,7 +548,7 @@ open class Kotlin2JsCompile : AbstractKotlinCompile(), Ko } private fun isHybridKotlinJsLibrary(file: File): Boolean = - LibraryUtils.isKotlinJavascriptLibrary(file) && LibraryUtils.isKotlinJavascriptIrLibrary(file) + LibraryUtils.isKotlinJavascriptLibrary(file) && isKotlinLibrary(file) private fun KotlinJsOptions.isPreIrBackendDisabled(): Boolean = listOf( @@ -570,7 +571,7 @@ open class Kotlin2JsCompile : AbstractKotlinCompile(), Ko private val libraryFilter: (File) -> Boolean get() = if (kotlinOptions.isIrBackendEnabled()) { if (kotlinOptions.isPreIrBackendDisabled()) { - LibraryUtils::isKotlinJavascriptIrLibrary + ::isKotlinLibrary } else { ::isHybridKotlinJsLibrary }