diff --git a/scm-webapp/src/main/java/sonia/scm/plugin/PluginProcessor.java b/scm-webapp/src/main/java/sonia/scm/plugin/PluginProcessor.java index 0613f4ef07..6f1b18034e 100644 --- a/scm-webapp/src/main/java/sonia/scm/plugin/PluginProcessor.java +++ b/scm-webapp/src/main/java/sonia/scm/plugin/PluginProcessor.java @@ -59,6 +59,7 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Set; +import java.util.function.Predicate; import static java.util.stream.Collectors.toList; @@ -176,7 +177,7 @@ public final class PluginProcessor List dirs = collectPluginDirectories(pluginDirectory) .stream() - .filter(dir -> !dir.endsWith("sonia.scm.plugins")) + .filter(isPluginDirectory()) .collect(toList()); logger.debug("process {} directories: {}", dirs.size(), dirs); @@ -200,6 +201,10 @@ public final class PluginProcessor return ImmutableSet.copyOf(wrappers); } + private Predicate isPluginDirectory() { + return dir -> new File(dir.resolve("META-INF/scm/plugin.xml").toString()).exists(); + } + /** * Method description *