Skip to content

Commit 68b50f5

Browse files
committed
! show-duplicate-java-classes: ensure output consistent for same input
improve sort logic
1 parent d870ca3 commit 68b50f5

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

bin/show-duplicate-java-classes

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -217,12 +217,12 @@ def print_duplicate_classes_info(class_paths_to_duplicate_classes):
217217
return
218218

219219
duplicate_classes_total_count = sum(len(dcs) for dcs in class_paths_to_duplicate_classes.values())
220-
# sort kv pairs
221-
class_paths_to_duplicate_classes = sorted(class_paths_to_duplicate_classes.items(), reverse=True,
222-
key=lambda item: (len(item[0]), len(item[1])))
223220
# sort key(class_paths) and value(duplicate_classes)
224221
class_paths_to_duplicate_classes = [(sorted(cps), sorted(dcs))
225-
for cps, dcs in class_paths_to_duplicate_classes]
222+
for cps, dcs in class_paths_to_duplicate_classes.items()]
223+
# sort kv pairs
224+
class_paths_to_duplicate_classes = sorted(class_paths_to_duplicate_classes, reverse=True,
225+
key=lambda item: (len(item[0]), len(item[1]), '|'.join(item[0])))
226226

227227
print('Found %s duplicate classes in %s class path set:' %
228228
(duplicate_classes_total_count, len(class_paths_to_duplicate_classes)))

0 commit comments

Comments
 (0)