[Gradle, JS] Check existence of input file before run and test

#KT-36326 fixed
This commit is contained in:
Ilya Goncharov
2020-02-03 19:51:05 +03:00
parent bcd2707fe6
commit d44aef3f3d
2 changed files with 10 additions and 4 deletions
@@ -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
@@ -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>(NodeJsExec::class.java), RequiresNpmDependencies {
@@ -23,8 +25,9 @@ open class NodeJsExec : AbstractExecTask<NodeJsExec>(NodeJsExec::class.java), Re
init {
onlyIf {
compilation.compileKotlinTask.outputFile
.exists()
inputFileProperty.asFile.map {
it.exists()
}.get()
}
}