[Gradle, JS] Group sub target tasks with dis classifier group for legacy
#KT-38056 fixed
This commit is contained in:
+1
-1
@@ -34,7 +34,7 @@ open class KotlinNodeJsIr @Inject constructor(target: KotlinJsIrTarget) :
|
||||
val developmentExecutable = compilation.binaries.getIrBinary(KotlinJsBinaryType.DEVELOPMENT)
|
||||
|
||||
val runTaskHolder = NodeJsExec.create(compilation, disambiguateCamelCased(RUN_TASK_NAME)) {
|
||||
this.group = taskGroupName
|
||||
group = taskGroupName
|
||||
inputFileProperty.set(developmentExecutable.linkTask.map { it.outputFileProperty.get() })
|
||||
}
|
||||
target.runTask.dependsOn(runTaskHolder)
|
||||
|
||||
+6
-6
@@ -81,13 +81,13 @@ open class KotlinBrowserJs @Inject constructor(target: KotlinJsTarget) :
|
||||
|
||||
val compileKotlinTask = compilation.compileKotlinTask
|
||||
|
||||
val commonRunTask = project.registerTask<Task>(disambiguateCamelCased(RUN_TASK_NAME)) {}
|
||||
val commonRunTask = registerSubTargetTask<Task>(disambiguateCamelCased(RUN_TASK_NAME)) {}
|
||||
|
||||
compilation.binaries
|
||||
.all { binary ->
|
||||
val type = binary.type
|
||||
|
||||
val runTask = project.registerTask<KotlinWebpack>(
|
||||
val runTask = registerSubTargetTask<KotlinWebpack>(
|
||||
disambiguateCamelCased(
|
||||
binary.executeTaskBaseName,
|
||||
RUN_TASK_NAME
|
||||
@@ -151,7 +151,7 @@ open class KotlinBrowserJs @Inject constructor(target: KotlinJsTarget) :
|
||||
|
||||
val processResourcesTask = target.project.tasks.named(compilation.processResourcesTaskName)
|
||||
|
||||
val distributeResourcesTask = project.registerTask<Copy>(
|
||||
val distributeResourcesTask = registerSubTargetTask<Copy>(
|
||||
disambiguateCamelCased(
|
||||
DISTRIBUTE_RESOURCES_TASK_NAME
|
||||
)
|
||||
@@ -167,7 +167,7 @@ open class KotlinBrowserJs @Inject constructor(target: KotlinJsTarget) :
|
||||
.all { binary ->
|
||||
val type = binary.type
|
||||
|
||||
val webpackTask = project.registerTask<KotlinWebpack>(
|
||||
val webpackTask = registerSubTargetTask<KotlinWebpack>(
|
||||
disambiguateCamelCased(
|
||||
binary.executeTaskBaseName,
|
||||
WEBPACK_TASK_NAME
|
||||
@@ -208,12 +208,12 @@ open class KotlinBrowserJs @Inject constructor(target: KotlinJsTarget) :
|
||||
|
||||
if (type == KotlinJsBinaryType.PRODUCTION) {
|
||||
assembleTask.dependsOn(webpackTask)
|
||||
val webpackCommonTask = project.registerTask<Task>(
|
||||
val webpackCommonTask = registerSubTargetTask<Task>(
|
||||
disambiguateCamelCased(WEBPACK_TASK_NAME)
|
||||
) {
|
||||
it.dependsOn(webpackTask)
|
||||
}
|
||||
project.registerTask<Task>(disambiguateCamelCased(DISTRIBUTION_TASK_NAME)) {
|
||||
registerSubTargetTask<Task>(disambiguateCamelCased(DISTRIBUTION_TASK_NAME)) {
|
||||
it.dependsOn(webpackCommonTask)
|
||||
it.dependsOn(distributeResourcesTask)
|
||||
|
||||
|
||||
+13
@@ -6,7 +6,9 @@
|
||||
package org.jetbrains.kotlin.gradle.targets.js.subtargets
|
||||
|
||||
import org.gradle.api.NamedDomainObjectContainer
|
||||
import org.gradle.api.Task
|
||||
import org.gradle.api.plugins.ExtensionAware
|
||||
import org.gradle.api.tasks.TaskProvider
|
||||
import org.gradle.language.base.plugins.LifecycleBasePlugin
|
||||
import org.jetbrains.kotlin.gradle.plugin.AbstractKotlinTargetConfigurator
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation
|
||||
@@ -38,6 +40,8 @@ abstract class KotlinJsSubTarget(
|
||||
final override lateinit var testRuns: NamedDomainObjectContainer<KotlinJsPlatformTestRun>
|
||||
private set
|
||||
|
||||
protected val taskGroupName = "Kotlin $disambiguationClassifier"
|
||||
|
||||
internal open fun produceExecutable() {
|
||||
configureMain()
|
||||
}
|
||||
@@ -137,6 +141,15 @@ abstract class KotlinJsSubTarget(
|
||||
|
||||
protected abstract fun configureMain(compilation: KotlinJsCompilation)
|
||||
|
||||
internal inline fun <reified T : Task> registerSubTargetTask(
|
||||
name: String,
|
||||
noinline body: (T) -> (Unit)
|
||||
): TaskProvider<T> =
|
||||
project.registerTask(name) {
|
||||
it.group = taskGroupName
|
||||
body(it)
|
||||
}
|
||||
|
||||
companion object {
|
||||
const val RUN_TASK_NAME = "run"
|
||||
}
|
||||
|
||||
+1
@@ -40,6 +40,7 @@ open class KotlinNodeJs @Inject constructor(target: KotlinJsTarget) :
|
||||
compilation: KotlinJsCompilation
|
||||
) {
|
||||
val runTaskHolder = NodeJsExec.create(compilation, disambiguateCamelCased(RUN_TASK_NAME)) {
|
||||
group = taskGroupName
|
||||
inputFileProperty.set(compilation.compileKotlinTask.outputFile)
|
||||
}
|
||||
target.runTask.dependsOn(runTaskHolder)
|
||||
|
||||
Reference in New Issue
Block a user