From e9a231e97ea710bf561777eb083c06ca153c05dc Mon Sep 17 00:00:00 2001 From: Alexander Likhachev Date: Thu, 12 May 2022 21:39:05 +0300 Subject: [PATCH] [Gradle, JS] Reuse yarn resolution results from configuration cache --- .../targets/js/npm/KotlinNpmResolutionManager.kt | 3 +-- .../gradle/targets/js/npm/PublicPackageJsonTask.kt | 12 ++++++------ 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/KotlinNpmResolutionManager.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/KotlinNpmResolutionManager.kt index 31be83f6594..4a2a90d2947 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/KotlinNpmResolutionManager.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/KotlinNpmResolutionManager.kt @@ -252,8 +252,7 @@ class KotlinNpmResolutionManager(@Transient private val nodeJsSettings: NodeJsRo internal fun checkRequiredDependencies(task: T, services: ServiceRegistry, logger: Logger, projectPath: String) where T : RequiresNpmDependencies, T : Task { - val requestedTaskDependencies = requireInstalled(services, logger, "before $task execution")[projectPath].taskRequirements - val targetRequired = requestedTaskDependencies[task.path]?.toSet() ?: setOf() + val targetRequired = resolver.taskRequirements.byTask[task.path]?.toSet() ?: setOf() task.requiredNpmDependencies.forEach { check(it in targetRequired) { diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/PublicPackageJsonTask.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/PublicPackageJsonTask.kt index 1eded8ae030..0efa59aa370 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/PublicPackageJsonTask.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/PublicPackageJsonTask.kt @@ -32,12 +32,6 @@ constructor( private val compilationName = compilation.disambiguatedName private val projectPath = project.path - private val compilationResolution - get() = resolutionManager.requireInstalled( - services, - logger - )[projectPath][compilationName] - private val packageJsonHandlers = compilation.packageJsonHandlers @get:Input @@ -47,6 +41,12 @@ constructor( packageJsonHandlers.forEach { it() } }.customFields + private val compilationResolver + get() = resolutionManager.resolver[projectPath][compilationName] + + private val compilationResolution + get() = compilationResolver.getResolutionOrResolveIfForced() ?: error("Compilation resolution isn't available") + @get:Nested internal val externalDependencies: Collection get() = compilationResolution.externalNpmDependencies