diff --git a/core/pom.xml b/core/pom.xml index f79555e..9e09b2b 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -22,7 +22,7 @@ io.nuun.kernel kernel - 1.0.M10-SNAPSHOT + 1.0.M11-SNAPSHOT kernel-core diff --git a/core/src/main/java/io/nuun/kernel/core/internal/scanner/disk/ClasspathScannerDisk.java b/core/src/main/java/io/nuun/kernel/core/internal/scanner/disk/ClasspathScannerDisk.java index 28aa938..e480eff 100644 --- a/core/src/main/java/io/nuun/kernel/core/internal/scanner/disk/ClasspathScannerDisk.java +++ b/core/src/main/java/io/nuun/kernel/core/internal/scanner/disk/ClasspathScannerDisk.java @@ -22,24 +22,17 @@ import io.nuun.kernel.core.internal.utils.AssertUtils; import org.reflections.Reflections; import org.reflections.Store; -import org.reflections.scanners.ResourcesScanner; import org.reflections.scanners.Scanner; -import org.reflections.scanners.SubTypesScanner; -import org.reflections.scanners.TypeAnnotationsScanner; -import org.reflections.scanners.TypeElementsScanner; +import org.reflections.scanners.*; import org.reflections.util.ClasspathHelper; import org.reflections.util.ConfigurationBuilder; import org.reflections.util.FilterBuilder; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import java.lang.annotation.Annotation; import java.net.URL; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.HashSet; -import java.util.LinkedList; -import java.util.List; -import java.util.Set; +import java.util.*; import java.util.concurrent.Executors; import java.util.function.Predicate; import java.util.regex.Pattern; @@ -50,6 +43,7 @@ public class ClasspathScannerDisk extends AbstractClasspathScanner { + private final Logger logger = LoggerFactory.getLogger(ClasspathScannerDisk.class); private final List packageRoots; private final ClasspathStrategy classpathStrategy; private final Set additionalClasspath; @@ -153,7 +147,16 @@ public Collection> scanTypes(final Predicate> predicate) Collection> filteredTypes = new HashSet<>(); for (Class candidate : forNames(types)) { - if (predicate.test(candidate)) + boolean test; + try + { + test = predicate.test(candidate); + } catch(Throwable t) + { + logger.debug("Unable to test predicate {} for candidate {}, ignoring it", predicate, candidate, t); + test = false; + } + if (test) { filteredTypes.add(candidate); } diff --git a/pom.xml b/pom.xml index 5a52b1a..6779e3c 100644 --- a/pom.xml +++ b/pom.xml @@ -22,7 +22,7 @@ io.nuun.kernel kernel - 1.0.M10-SNAPSHOT + 1.0.M11-SNAPSHOT core diff --git a/specs/pom.xml b/specs/pom.xml index 1cbc5e3..0518de9 100644 --- a/specs/pom.xml +++ b/specs/pom.xml @@ -23,7 +23,7 @@ io.nuun.kernel kernel - 1.0.M10-SNAPSHOT + 1.0.M11-SNAPSHOT kernel-specs diff --git a/tests/pom.xml b/tests/pom.xml index ebafedc..db92d7d 100644 --- a/tests/pom.xml +++ b/tests/pom.xml @@ -22,7 +22,7 @@ io.nuun.kernel kernel - 1.0.M10-SNAPSHOT + 1.0.M11-SNAPSHOT kernel-tests