[Gradle, JS] Move umbrella task to nodejs extension

This commit is contained in:
Ilya Goncharov
2020-05-21 15:52:58 +03:00
parent 549797c719
commit 60515aad77
2 changed files with 8 additions and 2 deletions
@@ -6,12 +6,15 @@
package org.jetbrains.kotlin.gradle.targets.js.nodejs
import org.gradle.api.Project
import org.gradle.api.Task
import org.gradle.api.tasks.TaskProvider
import org.jetbrains.kotlin.gradle.internal.ConfigurationPhaseAware
import org.jetbrains.kotlin.gradle.logging.kotlinInfo
import org.jetbrains.kotlin.gradle.plugin.PropertiesProvider
import org.jetbrains.kotlin.gradle.targets.js.NpmVersions
import org.jetbrains.kotlin.gradle.targets.js.npm.KotlinNpmResolutionManager
import org.jetbrains.kotlin.gradle.targets.js.npm.NpmApi
import org.jetbrains.kotlin.gradle.targets.js.npm.resolver.PACKAGE_JSON_UMBRELLA_TASK_NAME
import org.jetbrains.kotlin.gradle.targets.js.npm.tasks.KotlinNpmInstallTask
import org.jetbrains.kotlin.gradle.targets.js.npm.tasks.RootPackageJsonTask
import org.jetbrains.kotlin.gradle.targets.js.yarn.Yarn
@@ -56,6 +59,9 @@ open class NodeJsRootExtension(val rootProject: Project) : ConfigurationPhaseAwa
val npmInstallTask: KotlinNpmInstallTask
get() = rootProject.tasks.getByName(KotlinNpmInstallTask.NAME) as KotlinNpmInstallTask
val packageJsonUmbrellaTaskProvider: TaskProvider<Task>
get() = rootProject.tasks.named(PACKAGE_JSON_UMBRELLA_TASK_NAME)
val rootPackageJsonTask: RootPackageJsonTask
get() = rootProject.tasks.getByName(RootPackageJsonTask.NAME) as RootPackageJsonTask
@@ -117,4 +123,4 @@ open class NodeJsRootExtension(val rootProject: Project) : ConfigurationPhaseAwa
companion object {
const val EXTENSION_NAME: String = "kotlinNodeJs"
}
}
}
@@ -60,7 +60,7 @@ open class KotlinPackageJsonTask : DefaultTask() {
val rootClean = project.rootProject.tasks.getByName(BasePlugin.CLEAN_TASK_NAME)
val npmInstallTask = nodeJs.npmInstallTask
val packageJsonTaskName = npmProject.packageJsonTaskName
val packageJsonUmbrella = project.rootProject.tasks.named(PACKAGE_JSON_UMBRELLA_TASK_NAME)
val packageJsonUmbrella = nodeJs.packageJsonUmbrellaTaskProvider
val packageJsonTask = project.registerTask<KotlinPackageJsonTask>(packageJsonTaskName) { task ->
task.nodeJs = nodeJs
task.compilation = compilation