From 24e3310393a9191de0fad38c59c12587294d2b53 Mon Sep 17 00:00:00 2001 From: Ilya Goncharov Date: Fri, 20 Dec 2019 14:22:24 +0300 Subject: [PATCH] [Gradle, JS] Add check on run and dist task - Check existence of compile output file to prevent fail in case of NO-SOURCE #KT-31894 fixed --- .../kotlin/gradle/targets/js/nodejs/NodeJsExec.kt | 7 +++++++ .../kotlin/gradle/targets/js/webpack/KotlinWebpack.kt | 6 ++++++ 2 files changed, 13 insertions(+) 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 8c6a763bbf5..e21c4ffc7b4 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 @@ -22,6 +22,13 @@ open class NodeJsExec : AbstractExecTask(NodeJsExec::class.java), Re @get:Internal override lateinit var compilation: KotlinJsCompilation + init { + onlyIf { + compilation.compileKotlinTask.outputFile + .exists() + } + } + @Input var sourceMapStackTraces = true diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/webpack/KotlinWebpack.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/webpack/KotlinWebpack.kt index e649d3413aa..66833efe843 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/webpack/KotlinWebpack.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/webpack/KotlinWebpack.kt @@ -56,6 +56,12 @@ open class KotlinWebpack : DefaultTask(), RequiresNpmDependencies { var entry: File? = null get() = field ?: compilation.compileKotlinTask.outputFile + init { + onlyIf { + entry!!.exists() + } + } + @get:Internal internal var resolveFromModulesFirst: Boolean = false