in agent/src/jetbrains/buildServer/swabra/snapshots/SwabraRules.java [104:134]
private void initRootIncludePaths() {
final ArrayList<FileRule> resultRules = new ArrayList<FileRule>();
resultRules.addAll(getIncludeRules());
final Set<FileRule> processedRules = new HashSet<FileRule>();
for (Iterator<FileRule> iterator = resultRules.iterator(); iterator.hasNext();) {
FileRule rule = iterator.next();
boolean add = true;
if (!shouldInclude(rule.getFrom())) {
add = false;
}
for (FileRule processed : processedRules) {
if (processed.getMatchedHead(rule.getFrom()) != null) {
add = false;
break;
}
}
if (add) processedRules.add(rule);
else iterator.remove();
}
final Set<File> rootPaths = new HashSet<File>();
for (FileRule rule : resultRules) {
rootPaths.add(getPathWithoutWildcards(new File(rule.getFrom())));
}
myRootPaths = new ArrayList<File>(rootPaths);
}