in wagon-provider-api/src/main/java/org/apache/maven/wagon/PathUtils.java [209:256]
public static int port(String url) {
final String protocol = PathUtils.protocol(url);
if (protocol == null || protocol.equalsIgnoreCase("file")) {
return WagonConstants.UNKNOWN_PORT;
}
final String authorization = PathUtils.authorization(url);
if (authorization == null) {
return WagonConstants.UNKNOWN_PORT;
}
if (protocol.equalsIgnoreCase("scm")) {
// skip over type
url = url.substring(url.indexOf(":", 4) + 1).trim();
}
if (url.regionMatches(true, 0, "file:", 0, 5) || url.regionMatches(true, 0, "local:", 0, 6)) {
return WagonConstants.UNKNOWN_PORT;
}
// skip over protocol
url = url.substring(url.indexOf(":") + 1).trim();
if (url.startsWith("//")) {
url = url.substring(2);
}
int start = authorization.length();
if (url.length() > start && url.charAt(start) == ':') {
int end = url.indexOf('/', start);
if (end == start + 1) {
// it is :/
return WagonConstants.UNKNOWN_PORT;
}
if (end == -1) {
end = url.length();
}
return Integer.parseInt(url.substring(start + 1, end));
} else {
return WagonConstants.UNKNOWN_PORT;
}
}