diff --git a/src/rosdep2/dependency_graph.py b/src/rosdep2/dependency_graph.py index 167827fcd..14be1723a 100644 --- a/src/rosdep2/dependency_graph.py +++ b/src/rosdep2/dependency_graph.py @@ -27,7 +27,7 @@ # Author William Woodall/wjwwood@gmail.com -from collections import defaultdict +from collections import defaultdict, OrderedDict class Resolution(dict): @@ -130,7 +130,14 @@ def get_ordered_dependency_list(self): squashed_result.append((installer_key, [])) previous_installer_key = installer_key squashed_result[-1][1].extend(resolved) - return squashed_result + # Remove duplicate keys + deduplicated_result = [] + for installer_key, install_keys in squashed_result: + deduplicated_result.append(( + installer_key, + list(OrderedDict.fromkeys(install_keys)) + )) + return deduplicated_result def __get_ordered_uninstalled(self, key): uninstalled = []