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