projects
/
lgpl
/
argeo-commons.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Introduce include/exclude of A2 categories
[lgpl/argeo-commons.git]
/
org.argeo.init
/
src
/
org
/
argeo
/
init
/
a2
/
FsA2Source.java
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 921992da3371f0e12af8175b1d2f8911c5d46075..acc553d7d14b233adb9dacce510d2859840cc1a3 100644
(file)
--- 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.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;
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<String, String> variantsXOr;
private final Path base;
private final Map<String, String> variantsXOr;
-// public FsA2Source(Path base) {
-// this(base, new HashMap<>());
-// }
+ private final List<String> includes;
+ private final List<String> excludes;
- public FsA2Source(Path base, Map<String, String> variantsXOr, boolean usingReference) {
+ public FsA2Source(Path base, Map<String, String> variantsXOr, boolean usingReference, List<String> includes,
+ List<String> excludes) {
super(usingReference);
this.base = base;
this.variantsXOr = new HashMap<>(variantsXOr);
super(usingReference);
this.base = base;
this.variantsXOr = new HashMap<>(variantsXOr);
+ this.includes = includes;
+ this.excludes = excludes;
}
void load() throws IOException {
}
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();
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<Path> modulePaths = Files.newDirectoryStream(contributionPath);
modules: for (Path modulePath : modulePaths) {
A2Contribution contribution = getOrAddContribution(contributionId);
DirectoryStream<Path> modulePaths = Files.newDirectoryStream(contributionPath);
modules: for (Path modulePath : modulePaths) {