in src/main/java/org/apache/sling/feature/maven/mojos/selection/IncludeExcludeMatcher.java [54:87]
private List<String[]> parseMatches(
final List<String> patterns, final String separator, final boolean separatorRequired)
throws MojoExecutionException {
List<String[]> matches = null;
if (patterns != null && !patterns.isEmpty()) {
matches = new ArrayList<>();
for (final String t : patterns) {
final String[] parts;
if (separator == null) {
parts = new String[] {t, ""};
} else if (t.endsWith(separator)) {
parts = new String[] {t.substring(0, t.length() - 1), ""};
} else if (t.contains(separator)) {
parts = t.split(separator);
} else if (separatorRequired) {
throw new MojoExecutionException("Illegal pattern: " + t);
} else {
parts = new String[] {t, ""};
}
if (parts.length != 2) {
throw new MojoExecutionException("Illegal pattern: " + t);
}
final String[] val = parts[0].split(":");
if (val.length > 5) {
throw new MojoExecutionException("Illegal pattern: " + t);
}
final String[] result = new String[val.length + 1];
System.arraycopy(val, 0, result, 1, val.length);
result[0] = parts[1];
matches.add(result);
}
}
return matches;
}