[Gradle, JS] Move tranform from requiredNpmDependencies to TasksRequirements
This commit is contained in:
+16
-6
@@ -7,22 +7,32 @@ package org.jetbrains.kotlin.gradle.targets.js.nodejs
|
||||
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation
|
||||
import org.jetbrains.kotlin.gradle.targets.js.RequiredKotlinJsDependency
|
||||
import org.jetbrains.kotlin.gradle.targets.js.npm.NpmDependency
|
||||
import org.jetbrains.kotlin.gradle.targets.js.npm.RequiresNpmDependencies
|
||||
|
||||
class TasksRequirements {
|
||||
val byTask = mutableMapOf<RequiresNpmDependencies, Set<RequiredKotlinJsDependency>>()
|
||||
private val byCompilation = mutableMapOf<KotlinJsCompilation, MutableList<RequiresNpmDependencies>>()
|
||||
private val _byTask = mutableMapOf<RequiresNpmDependencies, Set<RequiredKotlinJsDependency>>()
|
||||
private val byCompilation = mutableMapOf<KotlinJsCompilation, MutableSet<RequiresNpmDependencies>>()
|
||||
|
||||
fun getTaskRequirements(compilation: KotlinJsCompilation): Collection<RequiresNpmDependencies> =
|
||||
byCompilation[compilation] ?: listOf()
|
||||
val byTask: Map<RequiresNpmDependencies, Set<RequiredKotlinJsDependency>>
|
||||
get() = _byTask
|
||||
|
||||
fun getCompilationNpmRequirements(compilation: KotlinJsCompilation): List<NpmDependency> =
|
||||
byCompilation[compilation]
|
||||
?.asSequence()
|
||||
?.flatMap { it.requiredNpmDependencies.asSequence() }
|
||||
?.map { it.createDependency(compilation.target.project) }
|
||||
?.filterIsInstance<NpmDependency>()
|
||||
?.toList()
|
||||
?: listOf()
|
||||
|
||||
fun addTaskRequirements(task: RequiresNpmDependencies) {
|
||||
val requirements = task.requiredNpmDependencies
|
||||
|
||||
byTask[task] = requirements
|
||||
_byTask[task] = requirements
|
||||
|
||||
byCompilation
|
||||
.getOrPut(task.compilation) { mutableListOf() }
|
||||
.getOrPut(task.compilation) { mutableSetOf() }
|
||||
.add(task)
|
||||
}
|
||||
}
|
||||
+1
-6
@@ -315,12 +315,7 @@ internal class KotlinCompilationNpmResolver(
|
||||
.filterNotNull()
|
||||
|
||||
val toolsNpmDependencies = nodeJs.taskRequirements
|
||||
.getTaskRequirements(compilation)
|
||||
.flatMap { requirement ->
|
||||
requirement.requiredNpmDependencies
|
||||
}
|
||||
.map { it.createDependency(project) }
|
||||
.filterIsInstance<NpmDependency>()
|
||||
.getCompilationNpmRequirements(compilation)
|
||||
|
||||
val allNpmDependencies = externalNpmDependencies + toolsNpmDependencies
|
||||
|
||||
|
||||
+1
-5
@@ -11,7 +11,6 @@ import org.gradle.api.tasks.*
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation
|
||||
import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootExtension
|
||||
import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootPlugin
|
||||
import org.jetbrains.kotlin.gradle.targets.js.npm.NpmDependency
|
||||
import org.jetbrains.kotlin.gradle.targets.js.npm.npmProject
|
||||
import org.jetbrains.kotlin.gradle.targets.js.npm.resolver.KotlinCompilationNpmResolver
|
||||
import org.jetbrains.kotlin.gradle.targets.js.npm.resolver.PACKAGE_JSON_UMBRELLA_TASK_NAME
|
||||
@@ -38,10 +37,7 @@ open class KotlinPackageJsonTask : DefaultTask() {
|
||||
@get:Input
|
||||
internal val toolsNpmDependencies: List<String>
|
||||
get() = nodeJs.taskRequirements
|
||||
.getTaskRequirements(compilation)
|
||||
.flatMap { it.requiredNpmDependencies }
|
||||
.map { it.createDependency(project) }
|
||||
.filterIsInstance<NpmDependency>()
|
||||
.getCompilationNpmRequirements(compilation)
|
||||
.map { it.uniqueRepresentation() }
|
||||
|
||||
@get:Nested
|
||||
|
||||
Reference in New Issue
Block a user