Skip to content

Commit 0c35709

Browse files
committed
! improve show-duplicate-java-classes logic: skip java 9 module-info files
1 parent 51f7247 commit 0c35709

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

bin/show-duplicate-java-classes

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,13 @@ from __future__ import print_function
1616

1717
__author__ = 'tg123'
1818

19+
import re
1920
import sys
2021
from glob import glob
22+
from optparse import OptionParser
2123
from os import walk
22-
from zipfile import ZipFile, BadZipfile
2324
from os.path import relpath, isdir
24-
from optparse import OptionParser
25+
from zipfile import ZipFile, BadZipfile
2526

2627

2728
################################################################################
@@ -85,12 +86,15 @@ def build_index__class_to_class_paths(jar_files, class_dirs):
8586
return class_to_class_paths, jar_files | set(class_dirs)
8687

8788

89+
_java9_module_file_pattern = re.compile(r'(^|.*/)module-info\.class$')
90+
91+
8892
def find_duplicate_classes(class_to_class_paths):
8993
class_paths_to_duplicate_classes = {}
9094

9195
for clazz, class_paths in class_to_class_paths.items():
9296
# skip java 9 module-info files
93-
if clazz.endswith('/module-info.class'):
97+
if _java9_module_file_pattern.match(clazz):
9498
continue
9599
if len(class_paths) > 1:
96100
classes = class_paths_to_duplicate_classes.setdefault(frozenset(class_paths), set())

0 commit comments

Comments
 (0)