[Gradle, JS] Configure build for nodejs in ir

This commit is contained in:
Ilya Goncharov
2020-02-12 11:57:39 +03:00
parent a1497682ed
commit cd8af5d3ec
3 changed files with 19 additions and 13 deletions
@@ -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
@@ -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"
@@ -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() {
}
}