From d44aef3f3d2b98a7b29ace8a9828cc55e15f93ef Mon Sep 17 00:00:00 2001 From: Ilya Goncharov Date: Mon, 3 Feb 2020 19:51:05 +0300 Subject: [PATCH] [Gradle, JS] Check existence of input file before run and test #KT-36326 fixed --- .../kotlin/gradle/targets/js/ir/KotlinJsIrSubTarget.kt | 7 +++++-- .../kotlin/gradle/targets/js/nodejs/NodeJsExec.kt | 7 +++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrSubTarget.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrSubTarget.kt index e6ac140de69..9d14cc48764 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrSubTarget.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrSubTarget.kt @@ -122,8 +122,11 @@ abstract class KotlinJsIrSubTarget( testJs.dependsOn(nodeJs.npmInstallTask, nodeJs.nodeJsSetupTask) - testJs.onlyIf { - compileTask.outputFile.exists() + testJs.onlyIf { task -> + (task as KotlinJsTest).inputFileProperty + .asFile + .map { it.exists() } + .get() } testJs.compilation = compilation diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/nodejs/NodeJsExec.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/nodejs/NodeJsExec.kt index 5b8d61adb4f..a9c92ff2443 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/nodejs/NodeJsExec.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/nodejs/NodeJsExec.kt @@ -9,9 +9,11 @@ import org.gradle.api.file.RegularFileProperty import org.gradle.api.tasks.* import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation import org.jetbrains.kotlin.gradle.targets.js.RequiredKotlinJsDependency +import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrCompilation import org.jetbrains.kotlin.gradle.targets.js.npm.RequiresNpmDependencies import org.jetbrains.kotlin.gradle.targets.js.npm.npmProject import org.jetbrains.kotlin.gradle.tasks.registerTask +import org.jetbrains.kotlin.gradle.utils.getValue import org.jetbrains.kotlin.gradle.utils.newFileProperty open class NodeJsExec : AbstractExecTask(NodeJsExec::class.java), RequiresNpmDependencies { @@ -23,8 +25,9 @@ open class NodeJsExec : AbstractExecTask(NodeJsExec::class.java), Re init { onlyIf { - compilation.compileKotlinTask.outputFile - .exists() + inputFileProperty.asFile.map { + it.exists() + }.get() } }