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 4500b984ff7..2d7aece79b4 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 @@ -76,6 +76,8 @@ interface KotlinJsIrSubTargetDsl { } } + fun produceKotlinLibrary() + 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 2cb45940098..0103d190ea8 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 @@ -49,6 +49,24 @@ abstract class KotlinJsIrSubTarget( } } + override fun produceKotlinLibrary() { + target.compilations + .matching { it.name == KotlinCompilation.TEST_COMPILATION_NAME } + .all { + it.kotlinOptions { + freeCompilerArgs += listOf("-Xir-produce-klib-dir", "-Xir-produce-js") + } + } + + target.compilations + .matching { it.name == KotlinCompilation.MAIN_COMPILATION_NAME } + .all { + it.kotlinOptions { + freeCompilerArgs += listOf("-Xir-produce-klib-dir") + } + } + } + override fun testTask(body: KotlinJsTest.() -> Unit) { testRuns.getByName(KotlinTargetWithTests.DEFAULT_TEST_RUN_NAME).executionTask.configure(body) } diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrTargetConfigurator.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrTargetConfigurator.kt index 1c3685525f7..c25d5448b2a 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrTargetConfigurator.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinJsIrTargetConfigurator.kt @@ -57,6 +57,8 @@ open class KotlinJsIrTargetConfigurator(kotlinPluginVersion: String) : moduleKind = "umd" sourceMap = true sourceMapEmbedSources = null + + freeCompilerArgs += listOf("-Xir-only") } } }