mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-14 01:15:44 +01:00
Merged in bugfix/ignore_old_plugin_dir (pull request #296)
ignore old plugins folder
This commit is contained in:
@@ -59,6 +59,9 @@ import java.util.ArrayList;
|
|||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
import java.util.function.Predicate;
|
||||||
|
|
||||||
|
import static java.util.stream.Collectors.toList;
|
||||||
|
|
||||||
//~--- JDK imports ------------------------------------------------------------
|
//~--- JDK imports ------------------------------------------------------------
|
||||||
|
|
||||||
@@ -68,6 +71,7 @@ import java.util.Set;
|
|||||||
*
|
*
|
||||||
* TODO don't mix nio and io
|
* TODO don't mix nio and io
|
||||||
*/
|
*/
|
||||||
|
@SuppressWarnings("squid:S3725") // performance is not critical, for this type of checks
|
||||||
public final class PluginProcessor
|
public final class PluginProcessor
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -171,7 +175,11 @@ public final class PluginProcessor
|
|||||||
|
|
||||||
extract(archives);
|
extract(archives);
|
||||||
|
|
||||||
List<Path> dirs = collectPluginDirectories(pluginDirectory);
|
List<Path> dirs =
|
||||||
|
collectPluginDirectories(pluginDirectory)
|
||||||
|
.stream()
|
||||||
|
.filter(isPluginDirectory())
|
||||||
|
.collect(toList());
|
||||||
|
|
||||||
logger.debug("process {} directories: {}", dirs.size(), dirs);
|
logger.debug("process {} directories: {}", dirs.size(), dirs);
|
||||||
|
|
||||||
@@ -194,6 +202,10 @@ public final class PluginProcessor
|
|||||||
return ImmutableSet.copyOf(wrappers);
|
return ImmutableSet.copyOf(wrappers);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private Predicate<Path> isPluginDirectory() {
|
||||||
|
return dir -> Files.exists(dir.resolve(DIRECTORY_METAINF).resolve("scm").resolve("plugin.xml"));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Method description
|
* Method description
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -134,6 +134,16 @@ public class PluginProcessorTest
|
|||||||
assertThat(plugin.getId(), is(PLUGIN_A.id));
|
assertThat(plugin.getId(), is(PLUGIN_A.id));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void shouldCollectPluginsAndDoNotFailOnNonPluginDirectories() throws IOException {
|
||||||
|
new File(pluginDirectory, "some-directory").mkdirs();
|
||||||
|
|
||||||
|
copySmp(PLUGIN_A);
|
||||||
|
PluginWrapper plugin = collectAndGetFirst();
|
||||||
|
|
||||||
|
assertThat(plugin.getId(), is(PLUGIN_A.id));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Method description
|
* Method description
|
||||||
*
|
*
|
||||||
|
|||||||
Reference in New Issue
Block a user