From afeb7745fd980b4e6288ef3b4b6f8f755725db05 Mon Sep 17 00:00:00 2001 From: Nikita Bobko Date: Fri, 27 May 2022 12:00:32 +0200 Subject: [PATCH] LazyKotlincDistDownloaderAndUnpacker: put js.engines.jar from bundled dist GitOrigin-RevId: bde338ae3d8c57589303effaea17827f80b3efe9 --- .../kotlin/idea/compiler/configuration/KotlinPluginLayout.kt | 4 ++++ .../configuration/LazyKotlincDistDownloaderAndUnpacker.kt | 2 ++ 2 files changed, 6 insertions(+) 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) }