[Gradle, JS] Delegates all calls from js target to ir target
This commit is contained in:
+4
-1
@@ -20,8 +20,11 @@ import org.jetbrains.kotlin.gradle.targets.js.webpack.KotlinWebpackConfig
|
||||
import org.jetbrains.kotlin.gradle.targets.js.webpack.KotlinWebpackConfig.Devtool
|
||||
import org.jetbrains.kotlin.gradle.targets.js.webpack.KotlinWebpackConfig.Mode
|
||||
import org.jetbrains.kotlin.gradle.tasks.registerTask
|
||||
import org.slf4j.LoggerFactory
|
||||
import javax.inject.Inject
|
||||
|
||||
private val log = LoggerFactory.getLogger("org.jetbrains.kotlin.gradle.targets.js.ir")
|
||||
|
||||
open class KotlinBrowserJsIr @Inject constructor(target: KotlinJsIrTarget) :
|
||||
KotlinJsIrSubTarget(target, "browser"),
|
||||
KotlinJsBrowserDsl {
|
||||
@@ -56,7 +59,7 @@ open class KotlinBrowserJsIr @Inject constructor(target: KotlinJsIrTarget) :
|
||||
|
||||
@ExperimentalDceDsl
|
||||
override fun dceTask(body: KotlinJsDce.() -> Unit) {
|
||||
TODO("Not yet implemented")
|
||||
log.warn("dceTask configuration is useless with IR compiler. Use @JsExport on declarations instead.")
|
||||
}
|
||||
|
||||
override fun configureMain(compilation: KotlinJsIrCompilation) {
|
||||
|
||||
+15
-2
@@ -16,6 +16,7 @@ import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation
|
||||
import org.jetbrains.kotlin.gradle.targets.js.KotlinJsTarget
|
||||
import org.jetbrains.kotlin.gradle.targets.js.dsl.*
|
||||
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinBrowserJsIr
|
||||
import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootPlugin
|
||||
import org.jetbrains.kotlin.gradle.targets.js.npm.npmProject
|
||||
import org.jetbrains.kotlin.gradle.targets.js.testing.KotlinJsTest
|
||||
@@ -43,14 +44,17 @@ open class KotlinBrowserJs @Inject constructor(target: KotlinJsTarget) :
|
||||
override val testTaskDescription: String
|
||||
get() = "Run all ${target.name} tests inside browser using karma and webpack"
|
||||
|
||||
private val irBrowser: KotlinBrowserJsIr?
|
||||
get() = target.irTarget?.browser
|
||||
|
||||
override fun produceKotlinLibrary() {
|
||||
super.produceKotlinLibrary()
|
||||
target.irTarget?.browser?.produceKotlinLibrary()
|
||||
irBrowser?.produceKotlinLibrary()
|
||||
}
|
||||
|
||||
override fun produceExecutable() {
|
||||
super.produceExecutable()
|
||||
target.irTarget?.browser?.produceExecutable()
|
||||
irBrowser?.produceExecutable()
|
||||
}
|
||||
|
||||
override fun configureDefaultTestFramework(testTask: KotlinJsTest) {
|
||||
@@ -61,20 +65,29 @@ open class KotlinBrowserJs @Inject constructor(target: KotlinJsTarget) :
|
||||
|
||||
override fun runTask(body: KotlinWebpack.() -> Unit) {
|
||||
commonRunConfigurations.add(body)
|
||||
irBrowser?.runTask(body)
|
||||
}
|
||||
|
||||
@ExperimentalDistributionDsl
|
||||
override fun distribution(body: Distribution.() -> Unit) {
|
||||
distribution.body()
|
||||
target.irTarget?.browser?.distribution(body)
|
||||
}
|
||||
|
||||
override fun webpackTask(body: KotlinWebpack.() -> Unit) {
|
||||
commonWebpackConfigurations.add(body)
|
||||
irBrowser?.webpackTask(body)
|
||||
}
|
||||
|
||||
@ExperimentalDceDsl
|
||||
override fun dceTask(body: KotlinJsDce.() -> Unit) {
|
||||
dceConfigurations.add(body)
|
||||
irBrowser?.dceTask(body)
|
||||
}
|
||||
|
||||
override fun testTask(body: KotlinJsTest.() -> Unit) {
|
||||
super<KotlinJsSubTarget>.testTask(body)
|
||||
irBrowser?.testTask(body)
|
||||
}
|
||||
|
||||
override fun configureMain(compilation: KotlinJsCompilation) {
|
||||
|
||||
+12
-2
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.gradle.targets.js.subtargets
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation
|
||||
import org.jetbrains.kotlin.gradle.targets.js.KotlinJsTarget
|
||||
import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsNodeDsl
|
||||
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinNodeJsIr
|
||||
import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsExec
|
||||
import org.jetbrains.kotlin.gradle.targets.js.testing.KotlinJsTest
|
||||
import javax.inject.Inject
|
||||
@@ -20,18 +21,27 @@ open class KotlinNodeJs @Inject constructor(target: KotlinJsTarget) :
|
||||
|
||||
private val runTaskName = disambiguateCamelCased("run")
|
||||
|
||||
private val irNodejs: KotlinNodeJsIr?
|
||||
get() = target.irTarget?.nodejs
|
||||
|
||||
override fun produceKotlinLibrary() {
|
||||
super.produceKotlinLibrary()
|
||||
target.irTarget?.nodejs?.produceKotlinLibrary()
|
||||
irNodejs?.produceKotlinLibrary()
|
||||
}
|
||||
|
||||
override fun produceExecutable() {
|
||||
super.produceExecutable()
|
||||
target.irTarget?.nodejs?.produceExecutable()
|
||||
irNodejs?.produceExecutable()
|
||||
}
|
||||
|
||||
override fun runTask(body: NodeJsExec.() -> Unit) {
|
||||
(project.tasks.getByName(runTaskName) as NodeJsExec).body()
|
||||
irNodejs?.runTask(body)
|
||||
}
|
||||
|
||||
override fun testTask(body: KotlinJsTest.() -> Unit) {
|
||||
super<KotlinJsSubTarget>.testTask(body)
|
||||
irNodejs?.testTask(body)
|
||||
}
|
||||
|
||||
override fun configureDefaultTestFramework(testTask: KotlinJsTest) {
|
||||
|
||||
Reference in New Issue
Block a user