[Gradle, JS] Simplify creation of public package json task
This commit is contained in:
+6
-3
@@ -10,7 +10,7 @@ import org.gradle.api.tasks.Input
|
|||||||
import org.gradle.api.tasks.Nested
|
import org.gradle.api.tasks.Nested
|
||||||
import org.gradle.api.tasks.OutputFile
|
import org.gradle.api.tasks.OutputFile
|
||||||
import org.gradle.api.tasks.TaskAction
|
import org.gradle.api.tasks.TaskAction
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootExtension
|
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.npm.NpmProject.Companion.PACKAGE_JSON
|
import org.jetbrains.kotlin.gradle.targets.js.npm.NpmProject.Companion.PACKAGE_JSON
|
||||||
import org.jetbrains.kotlin.gradle.utils.property
|
import org.jetbrains.kotlin.gradle.utils.property
|
||||||
import java.io.File
|
import java.io.File
|
||||||
@@ -19,10 +19,13 @@ import javax.inject.Inject
|
|||||||
open class PublicPackageJsonTask
|
open class PublicPackageJsonTask
|
||||||
@Inject
|
@Inject
|
||||||
constructor(
|
constructor(
|
||||||
private val nodeJs: NodeJsRootExtension,
|
compilation: KotlinJsCompilation
|
||||||
private val npmProject: NpmProject
|
|
||||||
) : DefaultTask() {
|
) : DefaultTask() {
|
||||||
|
|
||||||
|
private val npmProject = compilation.npmProject
|
||||||
|
|
||||||
|
private val nodeJs = npmProject.nodeJs
|
||||||
|
|
||||||
private val compilationResolution
|
private val compilationResolution
|
||||||
get() = nodeJs.npmResolutionManager.requireInstalled()[project][npmProject.compilation]
|
get() = nodeJs.npmResolutionManager.requireInstalled()[project][npmProject.compilation]
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -54,7 +54,7 @@ internal class KotlinCompilationNpmResolver(
|
|||||||
val publicPackageJsonTaskHolder: TaskProvider<PublicPackageJsonTask> =
|
val publicPackageJsonTaskHolder: TaskProvider<PublicPackageJsonTask> =
|
||||||
project.registerTask<PublicPackageJsonTask>(
|
project.registerTask<PublicPackageJsonTask>(
|
||||||
npmProject.publicPackageJsonTaskName,
|
npmProject.publicPackageJsonTaskName,
|
||||||
listOf(nodeJs, npmProject)
|
listOf(compilation)
|
||||||
) {
|
) {
|
||||||
it.skipOnEmptyNpmDependencies = true
|
it.skipOnEmptyNpmDependencies = true
|
||||||
it.dependsOn(nodeJs.npmInstallTaskProvider)
|
it.dependsOn(nodeJs.npmInstallTaskProvider)
|
||||||
|
|||||||
Reference in New Issue
Block a user