[Gradle, JS] DCE dsl interface used in browserDsl

This commit is contained in:
Ilya Goncharov
2019-10-18 14:11:54 +03:00
parent 2ffd8bed48
commit 83527a6d0e
2 changed files with 6 additions and 5 deletions
@@ -8,12 +8,12 @@ package org.jetbrains.kotlin.gradle.targets.js.dsl
import groovy.lang.Closure import groovy.lang.Closure
import org.gradle.api.NamedDomainObjectContainer import org.gradle.api.NamedDomainObjectContainer
import org.gradle.util.ConfigureUtil import org.gradle.util.ConfigureUtil
import org.jetbrains.kotlin.gradle.dsl.KotlinJsDce
import org.jetbrains.kotlin.gradle.targets.js.KotlinJsPlatformTestRun import org.jetbrains.kotlin.gradle.targets.js.KotlinJsPlatformTestRun
import org.jetbrains.kotlin.gradle.targets.js.KotlinJsReportAggregatingTestRun import org.jetbrains.kotlin.gradle.targets.js.KotlinJsReportAggregatingTestRun
import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsExec import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsExec
import org.jetbrains.kotlin.gradle.targets.js.testing.KotlinJsTest import org.jetbrains.kotlin.gradle.targets.js.testing.KotlinJsTest
import org.jetbrains.kotlin.gradle.targets.js.webpack.KotlinWebpack import org.jetbrains.kotlin.gradle.targets.js.webpack.KotlinWebpack
import org.jetbrains.kotlin.gradle.tasks.KotlinJsDce
interface KotlinJsTargetDsl { interface KotlinJsTargetDsl {
fun browser() = browser { } fun browser() = browser { }
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.gradle.targets.js.subtargets
import org.gradle.api.NamedDomainObjectContainer import org.gradle.api.NamedDomainObjectContainer
import org.gradle.api.tasks.TaskProvider import org.gradle.api.tasks.TaskProvider
import org.gradle.language.base.plugins.LifecycleBasePlugin import org.gradle.language.base.plugins.LifecycleBasePlugin
import org.jetbrains.kotlin.gradle.dsl.KotlinJsDce
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation
import org.jetbrains.kotlin.gradle.targets.js.KotlinJsTarget import org.jetbrains.kotlin.gradle.targets.js.KotlinJsTarget
@@ -21,11 +22,11 @@ import org.jetbrains.kotlin.gradle.targets.js.webpack.KotlinWebpack
import org.jetbrains.kotlin.gradle.targets.js.webpack.KotlinWebpackConfig 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.Devtool
import org.jetbrains.kotlin.gradle.targets.js.webpack.KotlinWebpackConfig.Mode import org.jetbrains.kotlin.gradle.targets.js.webpack.KotlinWebpackConfig.Mode
import org.jetbrains.kotlin.gradle.tasks.KotlinJsDce
import org.jetbrains.kotlin.gradle.tasks.registerTask import org.jetbrains.kotlin.gradle.tasks.registerTask
import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName
import java.io.File import java.io.File
import javax.inject.Inject import javax.inject.Inject
import org.jetbrains.kotlin.gradle.tasks.KotlinJsDce as KotlinJsDceTask
open class KotlinBrowserJs @Inject constructor(target: KotlinJsTarget) : open class KotlinBrowserJs @Inject constructor(target: KotlinJsTarget) :
KotlinJsSubTarget(target, "browser"), KotlinJsSubTarget(target, "browser"),
@@ -33,7 +34,7 @@ open class KotlinBrowserJs @Inject constructor(target: KotlinJsTarget) :
private val dceConfigurations: MutableList<KotlinJsDce.() -> Unit> = mutableListOf() private val dceConfigurations: MutableList<KotlinJsDce.() -> Unit> = mutableListOf()
private val dceWebpackEntryAppliers: MutableList<KotlinJsDce.(File) -> Unit> = mutableListOf() private val dceWebpackEntryAppliers: MutableList<KotlinJsDce.(File) -> Unit> = mutableListOf()
private lateinit var dceTaskProvider: TaskProvider<KotlinJsDce> private lateinit var dceTaskProvider: TaskProvider<KotlinJsDceTask>
lateinit var buildVariants: NamedDomainObjectContainer<BuildVariant> lateinit var buildVariants: NamedDomainObjectContainer<BuildVariant>
@@ -170,7 +171,7 @@ open class KotlinBrowserJs @Inject constructor(target: KotlinJsTarget) :
} }
} }
private fun configureDce(compilation: KotlinJsCompilation): TaskProvider<KotlinJsDce> { private fun configureDce(compilation: KotlinJsCompilation): TaskProvider<KotlinJsDceTask> {
val project = compilation.target.project val project = compilation.target.project
val dceTaskName = lowerCamelCaseName( val dceTaskName = lowerCamelCaseName(
@@ -182,7 +183,7 @@ open class KotlinBrowserJs @Inject constructor(target: KotlinJsTarget) :
val kotlinTask = compilation.compileKotlinTask val kotlinTask = compilation.compileKotlinTask
return project.registerTask<KotlinJsDce>(dceTaskName) { return project.registerTask<KotlinJsDceTask>(dceTaskName) {
dceConfigurations.forEach { configuration -> dceConfigurations.forEach { configuration ->
it.configuration() it.configuration()
} }