use nio api and added test for plugin directory check

This commit is contained in:
Sebastian Sdorra
2019-08-27 13:59:14 +02:00
parent 58e5667e82
commit b36c2dd698
2 changed files with 12 additions and 1 deletions

View File

@@ -71,6 +71,7 @@ import static java.util.stream.Collectors.toList;
* *
* 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
{ {
@@ -202,7 +203,7 @@ public final class PluginProcessor
} }
private Predicate<Path> isPluginDirectory() { private Predicate<Path> isPluginDirectory() {
return dir -> new File(dir.resolve("META-INF/scm/plugin.xml").toString()).exists(); return dir -> Files.exists(dir.resolve(DIRECTORY_METAINF).resolve("scm").resolve("plugin.xml"));
} }
/** /**

View File

@@ -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
* *