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