From 2fb4d23f1e901e3914299af62dd9c50c15ce4378 Mon Sep 17 00:00:00 2001 From: Sergey Rostov Date: Sun, 7 Jul 2019 22:23:35 +0300 Subject: [PATCH] Gradle, js, KotlinProjectNpmResolution: index by compilation --- .../js/npm/resolved/KotlinProjectNpmResolution.kt | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/resolved/KotlinProjectNpmResolution.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/resolved/KotlinProjectNpmResolution.kt index acf60ef933e..34e8d5cf99f 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/resolved/KotlinProjectNpmResolution.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/resolved/KotlinProjectNpmResolution.kt @@ -6,6 +6,8 @@ package org.jetbrains.kotlin.gradle.targets.js.npm.resolved import org.gradle.api.Project +import org.gradle.api.file.FileCollection +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 @@ -27,6 +29,13 @@ class KotlinProjectNpmResolution( } } + val byCompilation by lazy { npmProjects.associateBy { it.npmProject.compilation } } + + operator fun get(compilation: KotlinJsCompilation): KotlinCompilationNpmResolution { + check(compilation.target.project == project) + return byCompilation.getValue(compilation) + } + companion object { fun empty(project: Project) = KotlinProjectNpmResolution(project, listOf(), mapOf()) }