From 2de705116551800770511ebfe263391b7c9041aa Mon Sep 17 00:00:00 2001 From: Ilya Goncharov Date: Tue, 24 Dec 2019 19:44:57 +0300 Subject: [PATCH] [Gradle, JS] Add produceJs --- .../targets/js/dsl/KotlinJsTargetDsl.kt | 2 ++ .../targets/js/ir/KotlinJsIrSubTarget.kt | 20 ++++++++++++++++--- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/dsl/KotlinJsTargetDsl.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/dsl/KotlinJsTargetDsl.kt index 613a67b1751..9db0d81155d 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/dsl/KotlinJsTargetDsl.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/dsl/KotlinJsTargetDsl.kt @@ -78,6 +78,8 @@ interface KotlinJsIrSubTargetDsl { fun produceKotlinLibrary() + fun produceJs() + val testRuns: NamedDomainObjectContainer } diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrSubTarget.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrSubTarget.kt index 0806471f62a..6259554922b 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrSubTarget.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrSubTarget.kt @@ -51,14 +51,24 @@ abstract class KotlinJsIrSubTarget( } override fun produceKotlinLibrary() { + produceByFlags(PRODUCE_KLIB_DIR) + } + + override fun produceJs() { + produceByFlags(PRODUCE_KLIB_DIR, PRODUCE_JS) + + configureMain() + } + + private fun produceByFlags(vararg flags: String) { configure() -// configureMain() + target.compilations .matching { it.name == KotlinCompilation.TEST_COMPILATION_NAME } .all { it.kotlinOptions { - freeCompilerArgs += listOf("-Xir-produce-klib-dir", "-Xir-produce-js") + freeCompilerArgs += listOf(PRODUCE_KLIB_DIR, PRODUCE_JS) } } @@ -66,7 +76,7 @@ abstract class KotlinJsIrSubTarget( .matching { it.name == KotlinCompilation.MAIN_COMPILATION_NAME } .all { it.kotlinOptions { - freeCompilerArgs += listOf("-Xir-produce-klib-dir") + freeCompilerArgs += flags.toList() } } } @@ -154,6 +164,10 @@ abstract class KotlinJsIrSubTarget( protected abstract fun configureMain(compilation: KotlinJsCompilation) companion object { + const val PRODUCE_JS = "-Xir-produce-js" + const val PRODUCE_KLIB_FILE = "-Xir-produce-klib-file" + const val PRODUCE_KLIB_DIR = "-Xir-produce-klib-dir" + const val RUN_TASK_NAME = "run" } } \ No newline at end of file