Skip to content

Commit ffd95d1

Browse files
committed
fixing package scanner
1 parent f95c043 commit ffd95d1

File tree

1 file changed

+27
-26
lines changed

1 file changed

+27
-26
lines changed

reflection-config-generator/src/main/java/nativeimage/core/thirdparty/ThirdPartyPackageScanner.java

Lines changed: 27 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,7 @@
66
import com.mageddo.aptools.ClassUtils;
77

88
import org.reflections.Reflections;
9-
import org.reflections.scanners.ResourcesScanner;
10-
import org.reflections.scanners.SubTypesScanner;
11-
import org.reflections.util.ClasspathHelper;
12-
import org.reflections.util.ConfigurationBuilder;
13-
import org.reflections.util.FilterBuilder;
9+
import org.reflections.scanners.Scanners;
1410

1511
public class ThirdPartyPackageScanner {
1612

@@ -23,28 +19,33 @@ public class ThirdPartyPackageScanner {
2319
*/
2420
public static Set<Class<?>> findPackageClasses(String packageName) {
2521

26-
Set<Class<?>> classes = new Reflections(
27-
new ConfigurationBuilder()
28-
.setScanners(new SubTypesScanner(false), new ResourcesScanner())
29-
.addUrls(ClasspathHelper.forJavaClassPath())
30-
.filterInputsBy(new FilterBuilder()
31-
.includePackage(packageName))
32-
)
33-
.getSubTypesOf(Object.class);
22+
// Set<Class<?>> classes = new Reflections(
23+
// new ConfigurationBuilder()
24+
// .setScanners(new SubTypesScanner(false), new ResourcesScanner())
25+
// .addUrls(ClasspathHelper.forPackage(packageName, ClassLoader.getSystemClassLoader()))
26+
// .filterInputsBy(new FilterBuilder()
27+
// .includePackage(packageName))
28+
// )
29+
// .getSubTypesOf(Object.class);
3430

35-
// final Set<String> classes = new Reflections(packageName)
36-
// .getAll(Scanners.SubTypes);
31+
final Set<String> classes = new Reflections(packageName)
32+
.getAll(Scanners.SubTypes);
3733

3834
final Set<Class<?>> filteredClasses = new LinkedHashSet<>();
39-
for (Class<?> clazz : classes) {
40-
if (
41-
ClassUtils.doPackageOwnClass(packageName, clazz.getName())
42-
&& !clazz.isInterface()
43-
&& !clazz.isSynthetic()
44-
) {
45-
filteredClasses.add(clazz);
35+
for (String clazzName : classes) {
36+
try {
37+
Class<?> clazz = ClassUtils.forName(clazzName);
38+
if (
39+
ClassUtils.doPackageOwnClass(packageName, clazz.getName())
40+
&& !clazz.isInterface()
41+
&& !clazz.isSynthetic()
42+
) {
43+
filteredClasses.add(clazz);
44+
}
45+
} catch (Exception e){
46+
System.out.printf("status=failedForClass, class=%s, msg=%s%n", clazzName, e.getMessage());;
4647
}
47-
}
48+
}
4849
// final Set<String> filteredClasses = classes
4950
// .stream()
5051
// .filter(it -> ClassUtils.doPackageOwnClass(packageName, it))
@@ -54,7 +55,7 @@ public static Set<Class<?>> findPackageClasses(String packageName) {
5455
// "status=packageScanned, classes=%d, afterFilter=%d, package=%s",
5556
// classes.size(),filteredClasses.size(),packageName
5657
// );
57-
return filteredClasses;
58-
}
59-
58+
return filteredClasses;
6059
}
60+
61+
}

0 commit comments

Comments
 (0)