From 0c34acd09a3ff3c679c82a3c30c40c2c01fe163c Mon Sep 17 00:00:00 2001 From: Ilya Goncharov Date: Thu, 13 Feb 2020 16:17:50 +0300 Subject: [PATCH] [Gradle, JS] Produce executable for ir compilation --- .../gradle/targets/js/ir/KotlinJsIrCompilation.kt | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrCompilation.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrCompilation.kt index 16617071a15..7f3a379c551 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrCompilation.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrCompilation.kt @@ -10,6 +10,7 @@ import org.gradle.util.WrapUtil import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet import org.jetbrains.kotlin.gradle.plugin.KotlinTarget import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation +import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsSubTargetContainerDsl import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName class KotlinJsIrCompilation( @@ -20,8 +21,18 @@ class KotlinJsIrCompilation( internal val binaries: KotlinJsBinaryContainer = target.project.objects.newInstance( KotlinJsBinaryContainer::class.java, - this, - WrapUtil.toDomainObjectSet(JsBinary::class.java) + target, + WrapUtil.toDomainObjectSet(JsBinary::class.java).apply { + matching { it is Executable }.all { + (target as KotlinJsSubTargetContainerDsl).whenBrowserConfigured { + (this as KotlinJsIrSubTarget).produceExecutable() + } + + (target as KotlinJsSubTargetContainerDsl).whenNodejsConfigured { + (this as KotlinJsIrSubTarget).produceExecutable() + } + } + } ) internal val allSources: MutableSet = mutableSetOf()