diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml
index 95ae28d3837..b6175c73f27 100644
--- a/gradle/verification-metadata.xml
+++ b/gradle/verification-metadata.xml
@@ -1601,16 +1601,11 @@
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
@@ -6561,6 +6556,7 @@
+
diff --git a/js/js.tests/build.gradle.kts b/js/js.tests/build.gradle.kts
index 5a8c1fc437e..aa02af2c236 100644
--- a/js/js.tests/build.gradle.kts
+++ b/js/js.tests/build.gradle.kts
@@ -8,7 +8,7 @@ import org.jetbrains.kotlin.ideaExt.idea
plugins {
kotlin("jvm")
id("jps-compatible")
- id("com.github.node-gradle.node") version "3.0.1"
+ id("com.github.node-gradle.node") version "3.2.1"
id("de.undercouch.download")
}
diff --git a/js/npm/build.gradle.kts b/js/npm/build.gradle.kts
index 8712393119b..bf65e12e625 100644
--- a/js/npm/build.gradle.kts
+++ b/js/npm/build.gradle.kts
@@ -1,7 +1,7 @@
import com.github.gradle.node.npm.task.NpmTask
plugins {
- id("com.github.node-gradle.node") version "3.0.1"
+ id("com.github.node-gradle.node") version "3.2.1"
base
}
diff --git a/libraries/kotlin.test/js-ir/it/build.gradle.kts b/libraries/kotlin.test/js-ir/it/build.gradle.kts
index adac2f826ab..1ddba027d07 100644
--- a/libraries/kotlin.test/js-ir/it/build.gradle.kts
+++ b/libraries/kotlin.test/js-ir/it/build.gradle.kts
@@ -1,4 +1,4 @@
-import com.moowork.gradle.node.npm.NpmTask
+import com.github.gradle.node.npm.task.NpmTask
import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinUsages
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrLink
@@ -6,14 +6,14 @@ import java.io.FileOutputStream
plugins {
kotlin("js")
- id("com.github.node-gradle.node") version "2.2.0"
+ id("com.github.node-gradle.node") version "3.2.1"
}
description = "Kotlin-test integration tests for JS IR"
node {
- version = "16.13.0"
- download = true
+ version.set("16.13.0")
+ download.set(true)
}
val jsMainSources by task {
@@ -75,28 +75,30 @@ val populateNodeModules = tasks.register("populateNodeModules") {
fun createFrameworkTest(name: String): TaskProvider {
return tasks.register("test$name", NpmTask::class.java) {
dependsOn(compileTestDevelopmentExecutableKotlinJs, populateNodeModules, "npmInstall")
+ val testName = name
val lowerName = name.toLowerCase()
- val tcOutput = "$buildDir/tc-${lowerName}.log"
+ val tcOutput = project.file("$buildDir/tc-${lowerName}.log")
val stdOutput = "$buildDir/test-${lowerName}.log"
val errOutput = "$buildDir/test-${lowerName}.err.log"
+ val exitCodeFile = project.file("$buildDir/test-${lowerName}.exit-code")
// inputs.files(sourceSets.test.output)
inputs.dir("${buildDir}/node_modules")
- outputs.files(tcOutput, stdOutput, errOutput)
+ outputs.files(tcOutput, stdOutput, errOutput, exitCodeFile)
- setArgs(listOf("run", "test-$lowerName"))
+ args.set(listOf("run", "test-$lowerName"))
// args("run")
// args("test-$lowerName")
group = "verification"
- setExecOverrides(closureOf {
+ execOverrides {
isIgnoreExitValue = true
standardOutput = FileOutputStream(stdOutput)
errorOutput = FileOutputStream(errOutput)
- })
+ }
doLast {
- println(file(tcOutput).readText())
- if (result.exitValue != 0/* && !rootProject.ignoreTestFailures*/) {
- throw GradleException("$name integration test failed")
+ println(tcOutput.readText())
+ if (exitCodeFile.readText() != "0" /* && !rootProject.ignoreTestFailures*/) {
+ throw GradleException("$testName integration test failed")
}
}
diff --git a/libraries/kotlin.test/js/it/build.gradle b/libraries/kotlin.test/js/it/build.gradle
index 5f74d0b3982..0a9d4672006 100644
--- a/libraries/kotlin.test/js/it/build.gradle
+++ b/libraries/kotlin.test/js/it/build.gradle
@@ -2,8 +2,7 @@ import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinUsages
plugins {
- // TODO: update gradle-node-plugin to support configuration cache
- id "com.github.node-gradle.node" version "2.2.0"
+ id "com.github.node-gradle.node" version "3.2.1"
}
description = 'Kotlin-test integration tests for JS'
@@ -59,13 +58,15 @@ node {
def createFrameworkTest(def name) {
return tasks.register("test$name", NpmTask) {
dependsOn(compileTestKotlin2Js, populateNodeModules, npmInstall)
+ def testName = name
def lowerName = name.toLowerCase()
- def tcOutput = "$buildDir/tc-${lowerName}.log"
+ def tcOutput = project.file("$buildDir/tc-${lowerName}.log")
def stdOutput = "$buildDir/test-${lowerName}.log"
def errOutput = "$buildDir/test-${lowerName}.err.log"
+ def exitCodeFile = project.file("$buildDir/test-${lowerName}.exit-code")
inputs.files(sourceSets.test.output)
inputs.dir("${buildDir}/node_modules")
- outputs.files(tcOutput, stdOutput, errOutput)
+ outputs.files(tcOutput, stdOutput, errOutput, exitCodeFile)
args = ['run', "test-$lowerName"]
group = 'verification'
@@ -74,12 +75,13 @@ def createFrameworkTest(def name) {
it.standardOutput = new FileOutputStream(stdOutput)
it.errorOutput = new FileOutputStream(errOutput)
}
- doLast {
- println file(tcOutput).text
- if (result.exitValue != 0 && !rootProject.ignoreTestFailures) {
- throw new GradleException("$name integration test failed")
- }
+ def ignoreTestFailures = rootProject.ignoreTestFailures
+ doLast {
+ println tcOutput.text
+ if (exitCodeFile.text != "0" && !ignoreTestFailures) {
+ throw new GradleException("$testName integration test failed")
+ }
}
}
}
diff --git a/libraries/kotlin.test/js/it/js/test-result-checker.js b/libraries/kotlin.test/js/it/js/test-result-checker.js
index 86bdeee36ff..1bd44f89846 100644
--- a/libraries/kotlin.test/js/it/js/test-result-checker.js
+++ b/libraries/kotlin.test/js/it/js/test-result-checker.js
@@ -70,6 +70,7 @@ Tester.prototype.printResult = function () {
}
fs.writeFileSync('build/tc-' + this._frameworkName + '.log', message);
+ fs.writeFileSync('build/test-' + this._frameworkName + '.exit-code', this.exitCode().toString());
};
Tester.prototype.exitCode = function () {
diff --git a/libraries/tools/kotlin-test-js-runner/build.gradle.kts b/libraries/tools/kotlin-test-js-runner/build.gradle.kts
index 8adb4adf246..f66ff333e47 100644
--- a/libraries/tools/kotlin-test-js-runner/build.gradle.kts
+++ b/libraries/tools/kotlin-test-js-runner/build.gradle.kts
@@ -4,7 +4,7 @@ description = "Simple Kotlin/JS tests runner with TeamCity reporter"
plugins {
id("base")
- id("com.github.node-gradle.node") version "3.0.1"
+ id("com.github.node-gradle.node") version "3.2.1"
}
publish()
diff --git a/plugins/atomicfu/atomicfu-compiler/build.gradle.kts b/plugins/atomicfu/atomicfu-compiler/build.gradle.kts
index d3c8ee20ac6..f5f59ee3de3 100644
--- a/plugins/atomicfu/atomicfu-compiler/build.gradle.kts
+++ b/plugins/atomicfu/atomicfu-compiler/build.gradle.kts
@@ -7,13 +7,13 @@ description = "Atomicfu Compiler Plugin"
plugins {
kotlin("jvm")
id("jps-compatible")
- id("com.github.node-gradle.node") version "2.2.0"
+ id("com.github.node-gradle.node") version "3.2.1"
id("de.undercouch.download")
}
node {
- download = true
- version = "10.16.2"
+ download.set(true)
+ version.set("10.16.2")
}
val antLauncherJar by configurations.creating