From c45a9d65104380af77b5482561060154f0809587 Mon Sep 17 00:00:00 2001 From: Sebastian Sellmair Date: Thu, 23 Mar 2023 16:03:01 +0100 Subject: [PATCH] [Gradle] KotlinNativeTasks: buildDependencies: Add naive dependency loop protection ^KT-57531 Verification Pending --- .../kotlin/gradle/targets/native/tasks/KotlinNativeTasks.kt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeTasks.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeTasks.kt index da5417c541f..1b71694d560 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeTasks.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeTasks.kt @@ -558,9 +558,11 @@ internal class ExternalDependenciesBuilder( // Collect plain modules. val plainModules: MutableMap = mutableMapOf() + val processedDependencies = hashSetOf() fun processModule(resolvedDependency: DependencyResult, incomingDependencyId: KResolvedDependencyId) { if (resolvedDependency !is ResolvedDependencyResult) return if (resolvedDependency.isConstraint) return + if (!processedDependencies.add(resolvedDependency)) return val requestedModule = resolvedDependency.requested as? ModuleComponentSelector ?: return val selectedModule = resolvedDependency.selected