From e7764444596528b75ea967df17948490e0c9849b Mon Sep 17 00:00:00 2001 From: Ilya Goncharov Date: Mon, 20 Jul 2020 12:26:01 +0300 Subject: [PATCH] [Gradle, JS] binaries executable for legacy by default ^KT-40320 fixed --- .../jetbrains/kotlin/gradle/plugin/KotlinProperties.kt | 6 ++++++ .../jetbrains/kotlin/gradle/targets/js/KotlinJsTarget.kt | 9 +++++++++ 2 files changed, 15 insertions(+) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinProperties.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinProperties.kt index 60916deb739..f77e147c176 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinProperties.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinProperties.kt @@ -202,6 +202,12 @@ internal class PropertiesProvider private constructor(private val project: Proje val jsCompiler: KotlinJsCompilerType get() = property(jsCompilerProperty)?.let { KotlinJsCompilerType.byArgumentOrNull(it) } ?: KotlinJsCompilerType.LEGACY + /** + * Use Kotlin/JS backend compiler type + */ + val jsLegacyExecutableExplicitly: Boolean + get() = booleanProperty("kotlin.js.legacy.executable.explicitly") ?: false + val stdlibDefaultDependency: Boolean get() = booleanProperty("kotlin.stdlib.default.dependency") ?: true 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 420b0abf690..5006f1a105f 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 @@ -136,6 +136,10 @@ constructor( project.objects.newInstance(KotlinBrowserJs::class.java, this).also { it.configure() + if (!PropertiesProvider(project).jsLegacyExecutableExplicitly) { + binaries.executable() + } + browserConfiguredHandlers.forEach { handler -> handler(it) } @@ -158,6 +162,11 @@ constructor( private val nodejsLazyDelegate = lazy { project.objects.newInstance(KotlinNodeJs::class.java, this).also { it.configure() + + if (!PropertiesProvider(project).jsLegacyExecutableExplicitly) { + binaries.executable() + } + nodejsConfiguredHandlers.forEach { handler -> handler(it) }