diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinBrowserJsIr.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinBrowserJsIr.kt index 12688680038..8b6a5d4d889 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinBrowserJsIr.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinBrowserJsIr.kt @@ -60,12 +60,7 @@ open class KotlinBrowserJsIr @Inject constructor(target: KotlinJsIrTarget) : project.logger.warn("dceTask configuration is useless with IR compiler. Use @JsExport on declarations instead.") } - override fun configureMain(compilation: KotlinJsIrCompilation) { - configureRun(compilation) - configureBuild(compilation) - } - - private fun configureRun( + override fun configureRun( compilation: KotlinJsIrCompilation ) { @@ -122,7 +117,7 @@ open class KotlinBrowserJsIr @Inject constructor(target: KotlinJsIrTarget) : } } - private fun configureBuild( + override fun configureBuild( compilation: KotlinJsIrCompilation ) { val project = compilation.target.project 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 1822cef5348..c5cce6dabfd 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 @@ -141,7 +141,14 @@ abstract class KotlinJsIrSubTarget( } } - protected abstract fun configureMain(compilation: KotlinJsIrCompilation) + private fun configureMain(compilation: KotlinJsIrCompilation) { + configureRun(compilation) + configureBuild(compilation) + } + + protected abstract fun configureRun(compilation: KotlinJsIrCompilation) + + protected abstract fun configureBuild(compilation: KotlinJsIrCompilation) companion object { const val RUN_TASK_NAME = "run" diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinNodeJsIr.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinNodeJsIr.kt index a31f869f721..5823ab9ed4f 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinNodeJsIr.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinNodeJsIr.kt @@ -5,6 +5,7 @@ package org.jetbrains.kotlin.gradle.targets.js.ir +import org.gradle.language.base.plugins.LifecycleBasePlugin import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsNodeDsl import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsExec import org.jetbrains.kotlin.gradle.targets.js.testing.KotlinJsTest @@ -26,11 +27,7 @@ open class KotlinNodeJsIr @Inject constructor(target: KotlinJsIrTarget) : it.useMocha { } } - override fun configureMain(compilation: KotlinJsIrCompilation) { - configureRun(compilation) - } - - private fun configureRun( + override fun configureRun( compilation: KotlinJsIrCompilation ) { val runTaskHolder = NodeJsExec.create(compilation, disambiguateCamelCased(RUN_TASK_NAME)) { @@ -39,6 +36,13 @@ open class KotlinNodeJsIr @Inject constructor(target: KotlinJsIrTarget) : target.runTask.dependsOn(runTaskHolder) } + override fun configureBuild( + compilation: KotlinJsIrCompilation + ) { + val assembleTask = project.tasks.getByName(LifecycleBasePlugin.ASSEMBLE_TASK_NAME) + assembleTask.dependsOn(compilation.productionLinkTask) + } + override fun configureBuildVariants() { } } \ No newline at end of file