From 3090181cc5d87a6c30a432502897e4befad39a24 Mon Sep 17 00:00:00 2001 From: Ilya Gorbunov Date: Tue, 21 Mar 2023 08:28:58 +0100 Subject: [PATCH] [stdlib-mpp] Workaround legacy JS stdlib test run not using freshly-built kotlin.js Move kotlin.js and kotlin-test-js-v1 output closer to kotlin-stdlib-js-v1-test to avoid picking (or missing) kotlin.js from bootstrap higher in hierarchy #KT-56106 --- libraries/stdlib/build.gradle.kts | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/libraries/stdlib/build.gradle.kts b/libraries/stdlib/build.gradle.kts index 8e59318687d..ee1f9e6517c 100644 --- a/libraries/stdlib/build.gradle.kts +++ b/libraries/stdlib/build.gradle.kts @@ -4,6 +4,7 @@ import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsTargetDsl import org.jetbrains.kotlin.gradle.tasks.UsesKotlinJavaToolchain import plugins.configureDefaultPublishing import org.gradle.jvm.tasks.Jar +import org.jetbrains.kotlin.gradle.tasks.Kotlin2JsCompile plugins { id("kotlin-multiplatform") @@ -584,6 +585,20 @@ tasks { dependsOn(mergeJsV1) } + jsV1Target.compilations["test"].compileTaskProvider.configure { + val fs = serviceOf() + val jsOutputFileName = jsOutputFileName + val kotlinTestJsV1Output = (project.tasks.getByPath(":kotlin-test:kotlin-test-js-v1:compileKotlinJs") as Kotlin2JsCompile).outputFileProperty + doLast { + // copy freshly-built legacy kotlin.js into node_modules subdir of kotlin-stdlib-js-v1-test module + fs.copy { + from(jsOutputFileName) + from(kotlinTestJsV1Output) + into(destinationDirectory.dir("node_modules")) + } + } + } + val jsResultingJar by registering(Jar::class) { archiveClassifier.set("js") archiveVersion.set("")