diff --git a/plugins/kotlin/base/plugin/src/org/jetbrains/kotlin/idea/compiler/configuration/KotlinPluginLayout.kt b/plugins/kotlin/base/plugin/src/org/jetbrains/kotlin/idea/compiler/configuration/KotlinPluginLayout.kt index 00517de9269b..3b9803ab351d 100644 --- a/plugins/kotlin/base/plugin/src/org/jetbrains/kotlin/idea/compiler/configuration/KotlinPluginLayout.kt +++ b/plugins/kotlin/base/plugin/src/org/jetbrains/kotlin/idea/compiler/configuration/KotlinPluginLayout.kt @@ -29,6 +29,10 @@ sealed class KotlinPluginLayout { */ abstract val jpsPluginClasspath: List + val jsEngines by lazy { + kotlinc.resolve("lib").resolve("js.engines.jar").also { check(it.exists()) { "$it doesn't exist" } } + } + /** * Version of the stand-alone compiler (artifacts in the 'kotlinc/' directory of the Kotlin plugin). * Stand-alone compiler is always stable in 'master' and release branches. It is used for compilation with JPS. diff --git a/plugins/kotlin/base/plugin/src/org/jetbrains/kotlin/idea/compiler/configuration/LazyKotlincDistDownloaderAndUnpacker.kt b/plugins/kotlin/base/plugin/src/org/jetbrains/kotlin/idea/compiler/configuration/LazyKotlincDistDownloaderAndUnpacker.kt index 265d83ee1e67..b684a207acea 100644 --- a/plugins/kotlin/base/plugin/src/org/jetbrains/kotlin/idea/compiler/configuration/LazyKotlincDistDownloaderAndUnpacker.kt +++ b/plugins/kotlin/base/plugin/src/org/jetbrains/kotlin/idea/compiler/configuration/LazyKotlincDistDownloaderAndUnpacker.kt @@ -62,6 +62,8 @@ private class LazyDistDirLayoutProducer(version: String, private val unpackedDis for (jarInMavenRepo in input) { jarInMavenRepo.copyTo(lib.resolve(getDistJarNameFromMavenJar(jarInMavenRepo) ?: continue)) } + val jsEngines = KotlinPluginLayout.instance.jsEngines + jsEngines.copyTo(lib.resolve(jsEngines.name)) // js.engines is required to avoid runtime errors when compiling kts via JPS return listOf(unpackedDistDestination) }