@@ -52,12 +52,12 @@ object StewardPlugin_1_3_11 extends AutoPlugin {
5252 )
5353 val dependencies = libraryDeps ++ scalafixDeps
5454
55- def getCredentials (url : URL , name : String ): Option [Resolver .Credentials ] =
55+ def getCredentials (host : String , name : String ): Option [Resolver .Credentials ] =
5656 (for {
5757 allDirect <- Try (Credentials .allDirect(sbtCredentials)).toOption
58- maybeRealmAndHost = allDirect.find(c => c.realm == name && c.host == url.getHost )
58+ maybeRealmAndHost = allDirect.find(c => c.realm == name && c.host == host )
5959 maybeRealm = allDirect.find(_.realm == name)
60- maybeHost = allDirect.find(_.host == url.getHost )
60+ maybeHost = allDirect.find(_.host == host )
6161 } yield maybeRealmAndHost.orElse(maybeRealm).orElse(maybeHost)).flatten
6262 .map(c => Resolver .Credentials (c.userName, c.passwd))
6363
@@ -69,13 +69,17 @@ object StewardPlugin_1_3_11 extends AutoPlugin {
6969 (headerKey, headerValue) <- authentication.headers
7070 } yield Resolver .Header (headerKey, headerValue)
7171
72+ // may include protocols other than http/https which may fail on constructing a java.net.URL
73+ def getHost (uri : String ): Option [String ] =
74+ Try (new URL (uri).getHost).orElse(Try (new URI (uri).getHost)).toOption
75+
7276 val resolvers = fullResolvers.value.collect {
7377 case repo : MavenRepository if ! repo.root.startsWith(" file:" ) =>
74- val creds = getCredentials( new URL ( repo.root), repo.name)
78+ val creds = getHost( repo.root).flatMap(getCredentials(_ , repo.name) )
7579 Resolver .MavenRepository (repo.name, repo.root, creds, getHeaders(repo.name))
7680 case repo : URLRepository =>
7781 val ivyPatterns = repo.patterns.ivyPatterns.mkString
78- val creds = getCredentials( new URL ( ivyPatterns), repo.name)
82+ val creds = getHost( ivyPatterns).flatMap(getCredentials(_ , repo.name) )
7983 Resolver .IvyRepository (repo.name, ivyPatterns, creds, getHeaders(repo.name))
8084 }
8185
0 commit comments