X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.init%2Fsrc%2Forg%2Fargeo%2Finit%2Fa2%2FFsA2Source.java;h=acc553d7d14b233adb9dacce510d2859840cc1a3;hb=4235781f057646dd28bd53ab245695347a18d885;hp=921992da3371f0e12af8175b1d2f8911c5d46075;hpb=1e4744beb1d214d54931c19049a1e324d0abc0b3;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.init/src/org/argeo/init/a2/FsA2Source.java b/org.argeo.init/src/org/argeo/init/a2/FsA2Source.java index 921992da3..acc553d7d 100644 --- a/org.argeo.init/src/org/argeo/init/a2/FsA2Source.java +++ b/org.argeo.init/src/org/argeo/init/a2/FsA2Source.java @@ -7,6 +7,7 @@ import java.nio.file.DirectoryStream; import java.nio.file.Files; import java.nio.file.Path; import java.util.HashMap; +import java.util.List; import java.util.Map; import java.util.SortedMap; import java.util.StringJoiner; @@ -20,14 +21,16 @@ public class FsA2Source extends AbstractProvisioningSource implements A2Source { private final Path base; private final Map variantsXOr; -// public FsA2Source(Path base) { -// this(base, new HashMap<>()); -// } + private final List includes; + private final List excludes; - public FsA2Source(Path base, Map variantsXOr, boolean usingReference) { + public FsA2Source(Path base, Map variantsXOr, boolean usingReference, List includes, + List excludes) { super(usingReference); this.base = base; this.variantsXOr = new HashMap<>(variantsXOr); + this.includes = includes; + this.excludes = excludes; } void load() throws IOException { @@ -85,8 +88,12 @@ public class FsA2Source extends AbstractProvisioningSource implements A2Source { } } - for (Path contributionPath : contributions.keySet()) { + contributions: for (Path contributionPath : contributions.keySet()) { String contributionId = contributionPath.getFileName().toString(); + if (includes != null && !includes.contains(contributionId)) + continue contributions; + if (excludes != null && excludes.contains(contributionId)) + continue contributions; A2Contribution contribution = getOrAddContribution(contributionId); DirectoryStream modulePaths = Files.newDirectoryStream(contributionPath); modules: for (Path modulePath : modulePaths) {