in wagon-provider-api/src/main/java/org/apache/maven/wagon/PathUtils.java [239:298]
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;
}
}