Skip to content

Commit 5d1803b

Browse files
committedFeb 18, 2025·
chore(DependencyGraphBuilder): Slightly improve dependency comparison
Map to a set to be able to compare two sets for equality. This now compares the sets "bidirectionally" and also returns early if `dependencies1` does not contain all of `dependencies2.keys`. Signed-off-by: Sebastian Schuberth <sebastian@doubleopen.org>
1 parent 4ccd149 commit 5d1803b

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed
 

‎model/src/main/kotlin/utils/DependencyGraphBuilder.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -326,9 +326,9 @@ class DependencyGraphBuilder<D>(
326326
val dependencies = dependencyHandler.dependenciesFor(dependency)
327327
if (ref.dependencies.size != dependencies.size) return false
328328

329-
val dependencies1 = ref.dependencies.map { dependencyIds[it.pkg] }
329+
val dependencies1 = ref.dependencies.mapTo(mutableSetOf()) { dependencyIds[it.pkg] }
330330
val dependencies2 = dependencies.associateBy { dependencyHandler.identifierFor(it) }
331-
if (!dependencies2.keys.containsAll(dependencies1)) return false
331+
if (dependencies1 != dependencies2.keys) return false
332332

333333
return ref.dependencies.all { refDep ->
334334
dependencies2[dependencyIds[refDep.pkg]]?.let { dependencyTreeEquals(refDep, it) } == true

0 commit comments

Comments
 (0)
Please sign in to comment.