[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.plugin.mpp.KotlinJsCompilation
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.RequiredKotlinJsDependency
|
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
|
import org.jetbrains.kotlin.gradle.targets.js.npm.RequiresNpmDependencies
|
||||||
|
|
||||||
class TasksRequirements {
|
class TasksRequirements {
|
||||||
val byTask = mutableMapOf<RequiresNpmDependencies, Set<RequiredKotlinJsDependency>>()
|
private val _byTask = mutableMapOf<RequiresNpmDependencies, Set<RequiredKotlinJsDependency>>()
|
||||||
private val byCompilation = mutableMapOf<KotlinJsCompilation, MutableList<RequiresNpmDependencies>>()
|
private val byCompilation = mutableMapOf<KotlinJsCompilation, MutableSet<RequiresNpmDependencies>>()
|
||||||
|
|
||||||
fun getTaskRequirements(compilation: KotlinJsCompilation): Collection<RequiresNpmDependencies> =
|
val byTask: Map<RequiresNpmDependencies, Set<RequiredKotlinJsDependency>>
|
||||||
byCompilation[compilation] ?: listOf()
|
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) {
|
fun addTaskRequirements(task: RequiresNpmDependencies) {
|
||||||
val requirements = task.requiredNpmDependencies
|
val requirements = task.requiredNpmDependencies
|
||||||
|
|
||||||
byTask[task] = requirements
|
_byTask[task] = requirements
|
||||||
|
|
||||||
byCompilation
|
byCompilation
|
||||||
.getOrPut(task.compilation) { mutableListOf() }
|
.getOrPut(task.compilation) { mutableSetOf() }
|
||||||
.add(task)
|
.add(task)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+1
-6
@@ -315,12 +315,7 @@ internal class KotlinCompilationNpmResolver(
|
|||||||
.filterNotNull()
|
.filterNotNull()
|
||||||
|
|
||||||
val toolsNpmDependencies = nodeJs.taskRequirements
|
val toolsNpmDependencies = nodeJs.taskRequirements
|
||||||
.getTaskRequirements(compilation)
|
.getCompilationNpmRequirements(compilation)
|
||||||
.flatMap { requirement ->
|
|
||||||
requirement.requiredNpmDependencies
|
|
||||||
}
|
|
||||||
.map { it.createDependency(project) }
|
|
||||||
.filterIsInstance<NpmDependency>()
|
|
||||||
|
|
||||||
val allNpmDependencies = externalNpmDependencies + toolsNpmDependencies
|
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.plugin.mpp.KotlinJsCompilation
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootExtension
|
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.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.npmProject
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.npm.resolver.KotlinCompilationNpmResolver
|
import org.jetbrains.kotlin.gradle.targets.js.npm.resolver.KotlinCompilationNpmResolver
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.npm.resolver.PACKAGE_JSON_UMBRELLA_TASK_NAME
|
import org.jetbrains.kotlin.gradle.targets.js.npm.resolver.PACKAGE_JSON_UMBRELLA_TASK_NAME
|
||||||
@@ -38,10 +37,7 @@ open class KotlinPackageJsonTask : DefaultTask() {
|
|||||||
@get:Input
|
@get:Input
|
||||||
internal val toolsNpmDependencies: List<String>
|
internal val toolsNpmDependencies: List<String>
|
||||||
get() = nodeJs.taskRequirements
|
get() = nodeJs.taskRequirements
|
||||||
.getTaskRequirements(compilation)
|
.getCompilationNpmRequirements(compilation)
|
||||||
.flatMap { it.requiredNpmDependencies }
|
|
||||||
.map { it.createDependency(project) }
|
|
||||||
.filterIsInstance<NpmDependency>()
|
|
||||||
.map { it.uniqueRepresentation() }
|
.map { it.uniqueRepresentation() }
|
||||||
|
|
||||||
@get:Nested
|
@get:Nested
|
||||||
|
|||||||
Reference in New Issue
Block a user