@@ -52,12 +52,12 @@ object StewardPlugin_1_3_11 extends AutoPlugin {
52
52
)
53
53
val dependencies = libraryDeps ++ scalafixDeps
54
54
55
- def getCredentials (url : URL , name : String ): Option [Resolver .Credentials ] =
55
+ def getCredentials (host : String , name : String ): Option [Resolver .Credentials ] =
56
56
(for {
57
57
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 )
59
59
maybeRealm = allDirect.find(_.realm == name)
60
- maybeHost = allDirect.find(_.host == url.getHost )
60
+ maybeHost = allDirect.find(_.host == host )
61
61
} yield maybeRealmAndHost.orElse(maybeRealm).orElse(maybeHost)).flatten
62
62
.map(c => Resolver .Credentials (c.userName, c.passwd))
63
63
@@ -69,13 +69,17 @@ object StewardPlugin_1_3_11 extends AutoPlugin {
69
69
(headerKey, headerValue) <- authentication.headers
70
70
} yield Resolver .Header (headerKey, headerValue)
71
71
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
+
72
76
val resolvers = fullResolvers.value.collect {
73
77
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) )
75
79
Resolver .MavenRepository (repo.name, repo.root, creds, getHeaders(repo.name))
76
80
case repo : URLRepository =>
77
81
val ivyPatterns = repo.patterns.ivyPatterns.mkString
78
- val creds = getCredentials( new URL ( ivyPatterns), repo.name)
82
+ val creds = getHost( ivyPatterns).flatMap(getCredentials(_ , repo.name) )
79
83
Resolver .IvyRepository (repo.name, ivyPatterns, creds, getHeaders(repo.name))
80
84
}
81
85
0 commit comments