in src/main/java/org/apache/maven/shared/utils/io/SelectorUtils.java [124:156]
private static boolean matchAntPathPatternStart(
String pattern, String str, String separator, boolean isCaseSensitive) {
// When str starts with a File.separator, pattern has to start with a
// File.separator.
// When pattern starts with a File.separator, str has to start with a
// File.separator.
if (separatorPatternStartSlashMismatch(pattern, str, separator)) {
return false;
}
List<String> patDirs = tokenizePath(pattern, separator);
List<String> strDirs = tokenizePath(str, separator);
int patIdxStart = 0;
int patIdxEnd = patDirs.size() - 1;
int strIdxStart = 0;
int strIdxEnd = strDirs.size() - 1;
// up to first '**'
while (patIdxStart <= patIdxEnd && strIdxStart <= strIdxEnd) {
String patDir = patDirs.get(patIdxStart);
if ("**".equals(patDir)) {
break;
}
if (!match(patDir, strDirs.get(strIdxStart), isCaseSensitive)) {
return false;
}
patIdxStart++;
strIdxStart++;
}
return strIdxStart > strIdxEnd || patIdxStart <= patIdxEnd;
}