From 90c867ae1db03c4a7e12af06c8c5eda5926073ae Mon Sep 17 00:00:00 2001 From: Zalim Bashorov Date: Thu, 21 Apr 2022 20:02:10 +0200 Subject: [PATCH] [JS] Define Node.js version in one place and use a single version everywhere Consequently, it fixes the inability to run some JS related tests on Apple devices with ARM. --- buildSrc/src/main/kotlin/dependencies.kt | 2 ++ gradle/versions.properties | 3 ++- js/js.tests/build.gradle.kts | 2 +- libraries/kotlin.test/js-ir/it/build.gradle.kts | 4 ++-- libraries/kotlin.test/js/it/build.gradle | 4 ++-- libraries/stdlib/js-v1/build.gradle | 2 +- libraries/tools/kotlin-test-js-runner/build.gradle.kts | 2 +- 7 files changed, 11 insertions(+), 8 deletions(-) diff --git a/buildSrc/src/main/kotlin/dependencies.kt b/buildSrc/src/main/kotlin/dependencies.kt index 4dd430d047d..3044c38e757 100644 --- a/buildSrc/src/main/kotlin/dependencies.kt +++ b/buildSrc/src/main/kotlin/dependencies.kt @@ -261,6 +261,8 @@ fun Project.kotlinxCollectionsImmutable() = val Project.kotlinNativeVersion: String get() = property("versions.kotlin-native") as String +val Project.nodejsVersion: String get() = property("versions.nodejs") as String + fun File.matchMaybeVersionedArtifact(baseName: String) = name.matches(baseName.toMaybeVersionedJarRegex()) private val wildcardsRe = """[^*?]+|(\*)|(\?)""".toRegex() diff --git a/gradle/versions.properties b/gradle/versions.properties index 0b41228e4cc..7a25cd778cd 100644 --- a/gradle/versions.properties +++ b/gradle/versions.properties @@ -47,4 +47,5 @@ versions.ktor-network=1.0.1 versions.native-platform=0.14 versions.protobuf=2.6.1 versions.r8=2.2.64 -versions.robolectric=4.0 \ No newline at end of file +versions.robolectric=4.0 +versions.nodejs=16.13.0 diff --git a/js/js.tests/build.gradle.kts b/js/js.tests/build.gradle.kts index df947cee8a6..ebd368297a8 100644 --- a/js/js.tests/build.gradle.kts +++ b/js/js.tests/build.gradle.kts @@ -14,7 +14,7 @@ plugins { node { download.set(true) - version.set("10.16.2") + version.set(nodejsVersion) nodeProjectDir.set(buildDir) } diff --git a/libraries/kotlin.test/js-ir/it/build.gradle.kts b/libraries/kotlin.test/js-ir/it/build.gradle.kts index 1ddba027d07..33ab6d4a931 100644 --- a/libraries/kotlin.test/js-ir/it/build.gradle.kts +++ b/libraries/kotlin.test/js-ir/it/build.gradle.kts @@ -12,7 +12,7 @@ plugins { description = "Kotlin-test integration tests for JS IR" node { - version.set("16.13.0") + version.set(nodejsVersion) download.set(true) } @@ -126,4 +126,4 @@ dependencies { tasks.named("compileTestKotlinJs") { dependsOn(jsMainSources) dependsOn(jsSources) -} \ No newline at end of file +} diff --git a/libraries/kotlin.test/js/it/build.gradle b/libraries/kotlin.test/js/it/build.gradle index 0a9d4672006..be57874a0b0 100644 --- a/libraries/kotlin.test/js/it/build.gradle +++ b/libraries/kotlin.test/js/it/build.gradle @@ -51,7 +51,7 @@ tasks.register("populateNodeModules", Copy) { } node { - version = '12.18.0' + version = DependenciesKt.getNodejsVersion(project) download = true } @@ -90,4 +90,4 @@ tasks.check { ['Jest', 'Jasmine', 'Mocha', 'Qunit', 'Tape'].each { dependsOn createFrameworkTest(it) } -} \ No newline at end of file +} diff --git a/libraries/stdlib/js-v1/build.gradle b/libraries/stdlib/js-v1/build.gradle index d344633445d..5d42c33736e 100644 --- a/libraries/stdlib/js-v1/build.gradle +++ b/libraries/stdlib/js-v1/build.gradle @@ -336,7 +336,7 @@ artifacts { node { download = true - version = '12.18.0' + version = DependenciesKt.getNodejsVersion(project) nodeProjectDir = buildDir } diff --git a/libraries/tools/kotlin-test-js-runner/build.gradle.kts b/libraries/tools/kotlin-test-js-runner/build.gradle.kts index f66ff333e47..4a366a37695 100644 --- a/libraries/tools/kotlin-test-js-runner/build.gradle.kts +++ b/libraries/tools/kotlin-test-js-runner/build.gradle.kts @@ -13,7 +13,7 @@ val default = configurations.getByName(Dependency.DEFAULT_CONFIGURATION) default.extendsFrom(configurations.publishedRuntime.get()) node { - version.set("16.2.0") + version.set(nodejsVersion) download.set(true) nodeProjectDir.set(projectDir) }