From 266daed2cb039f2bb55cd03c8b6f3c4e5ba88cd2 Mon Sep 17 00:00:00 2001 From: Ilya Goncharov Date: Thu, 8 Apr 2021 14:18:36 +0300 Subject: [PATCH] [Gradle, JS] Mark visited dependencies inside dependency graph traversing --- .../targets/js/npm/resolver/KotlinCompilationNpmResolver.kt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/resolver/KotlinCompilationNpmResolver.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/resolver/KotlinCompilationNpmResolver.kt index f62be949136..6ca57697765 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/resolver/KotlinCompilationNpmResolver.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/resolver/KotlinCompilationNpmResolver.kt @@ -230,6 +230,8 @@ internal class KotlinCompilationNpmResolver( private val externalNpmDependencies = mutableSetOf() private val fileCollectionDependencies = mutableSetOf() + private val visitedDependencies = mutableSetOf() + fun visit(configuration: Configuration) { configuration.resolvedConfiguration.firstLevelModuleDependencies.forEach { visitDependency(it) @@ -282,6 +284,8 @@ internal class KotlinCompilationNpmResolver( } private fun visitDependency(dependency: ResolvedDependency) { + if (dependency in visitedDependencies) return + visitedDependencies.add(dependency) visitArtifacts(dependency, dependency.moduleArtifacts) dependency.children.forEach {