Skip to content

Commit aabb359

Browse files
ilgonmicSpace Team
authored and
Space Team
committed
[Wasm] Fix task dependencies from wasm tests on toolingInstall task
^KT-75714 fixed
1 parent e053d7c commit aabb359

File tree

4 files changed

+27
-0
lines changed

4 files changed

+27
-0
lines changed

libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/WasmPackageManagerGradlePluginIT.kt

+11
Original file line numberDiff line numberDiff line change
@@ -155,4 +155,15 @@ abstract class WasmPackageManagerGradlePluginIT : KGPBaseTest() {
155155
}
156156
}
157157
}
158+
159+
@DisplayName("Install tooling for wasm browser tasks")
160+
@GradleTest
161+
@TestMetadata("kotlin-wasm-package-lock-project")
162+
fun testWasmInstallToolingBeforeTests(gradleVersion: GradleVersion) {
163+
project("kotlin-wasm-package-lock-project", gradleVersion) {
164+
build(":wasmJsBrowserTest") {
165+
assertTasksExecuted(":wasmKotlinToolingInstall")
166+
}
167+
}
168+
}
158169
}

libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-wasm-package-lock-project/build.gradle.kts

+6
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,11 @@ kotlin {
1515
binaries.executable()
1616
nodejs {
1717
}
18+
browser {
19+
// CI doesn't have browser, so that's why we have to disable test task execution
20+
testTask {
21+
enabled = false
22+
}
23+
}
1824
}
1925
}

libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinBrowserJsIr.kt

+5
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,10 @@ import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType
1010
import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsBrowserDsl
1111
import org.jetbrains.kotlin.gradle.targets.js.testing.KotlinJsTest
1212
import org.jetbrains.kotlin.gradle.targets.js.testing.karma.KotlinKarma
13+
import org.jetbrains.kotlin.gradle.targets.js.webTargetVariant
1314
import org.jetbrains.kotlin.gradle.targets.js.webpack.KotlinWebpack
1415
import org.jetbrains.kotlin.gradle.targets.js.webpack.KotlinWebpackConfig
16+
import org.jetbrains.kotlin.gradle.targets.wasm.nodejs.WasmNodeJsRootExtension
1517
import org.jetbrains.kotlin.gradle.utils.withType
1618
import javax.inject.Inject
1719

@@ -30,6 +32,9 @@ abstract class KotlinBrowserJsIr @Inject constructor(target: KotlinJsIrTarget) :
3032
test.dependsOn(
3133
nodeJsRoot.npmInstallTaskProvider,
3234
)
35+
if (target.webTargetVariant(jsVariant = false, wasmVariant = true)) {
36+
test.dependsOn((nodeJsRoot as WasmNodeJsRootExtension).toolingInstallTaskProvider)
37+
}
3338

3439
test.dependsOn(binary.linkSyncTask)
3540
}

libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinNodeJsIr.kt

+5
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsNodeDsl
1515
import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsExec
1616
import org.jetbrains.kotlin.gradle.targets.js.testing.KotlinJsTest
1717
import org.jetbrains.kotlin.gradle.targets.js.testing.KotlinWasmNode
18+
import org.jetbrains.kotlin.gradle.targets.js.webTargetVariant
19+
import org.jetbrains.kotlin.gradle.targets.wasm.nodejs.WasmNodeJsRootExtension
1820
import org.jetbrains.kotlin.gradle.utils.withType
1921
import javax.inject.Inject
2022

@@ -62,6 +64,9 @@ internal constructor(
6264
test.dependsOn(
6365
nodeJsRoot.npmInstallTaskProvider,
6466
)
67+
if (target.webTargetVariant(jsVariant = false, wasmVariant = true)) {
68+
test.dependsOn((nodeJsRoot as WasmNodeJsRootExtension).toolingInstallTaskProvider)
69+
}
6570
test.dependsOn(nodeJsRoot.packageManagerExtension.map { it.postInstallTasks })
6671
test.dependsOn(binary.linkSyncTask)
6772
}

0 commit comments

Comments
 (0)