From e631146fa7f057b152eaa9554aa61b09d0c12c31 Mon Sep 17 00:00:00 2001 From: Ilya Goncharov Date: Fri, 21 Feb 2020 12:37:40 +0300 Subject: [PATCH] [Gradle, JS] Fix DSL for Gradle JS wizard --- .../KotlinDslGradleKotlinFrameworkSupportProvider.kt | 11 ++++++++++- .../kotlin/gradle/targets/js/KotlinJsTarget.kt | 4 ++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/KotlinDslGradleKotlinFrameworkSupportProvider.kt b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/KotlinDslGradleKotlinFrameworkSupportProvider.kt index 977cc796709..d7db2685171 100644 --- a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/KotlinDslGradleKotlinFrameworkSupportProvider.kt +++ b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/KotlinDslGradleKotlinFrameworkSupportProvider.kt @@ -182,7 +182,16 @@ abstract class AbstractKotlinDslGradleKotlinJSFrameworkSupportProvider( ) { super.addSupport(projectId, module, rootModel, modifiableModelsProvider, buildScriptData) - buildScriptData.addOther("kotlin.target.$jsSubTargetName { }") + buildScriptData.addOther( + """ + kotlin { + target { + $jsSubTargetName { } + produceExecutable() + } + } + """.trimIndent() + ) val artifactId = MAVEN_JS_STDLIB_ID.removePrefix("kotlin-") buildScriptData.addDependencyNotation(composeDependency(buildScriptData, artifactId)) } diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsTarget.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsTarget.kt index f33ab5b59af..f4cb204cee1 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsTarget.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsTarget.kt @@ -156,6 +156,10 @@ constructor( "Only one producing type supported. Try to set $producingType but previously ${this.producingType} found" } + if (this.producingType != null) { + return + } + this.producingType = producingType whenBrowserConfigured {