From a857ae275905c5d75a4abae03b901a9981f6aa2c Mon Sep 17 00:00:00 2001 From: Daniel Peebles Date: Thu, 4 Sep 2014 02:20:36 -0400 Subject: [PATCH] Fixes #1570 --- main/src/main/scala/sbt/Defaults.scala | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/main/src/main/scala/sbt/Defaults.scala b/main/src/main/scala/sbt/Defaults.scala index 8d933dc02..845069277 100755 --- a/main/src/main/scala/sbt/Defaults.scala +++ b/main/src/main/scala/sbt/Defaults.scala @@ -1655,7 +1655,15 @@ object Classpaths { import xsbti.Predefined repo match { case m: xsbti.MavenRepository => MavenRepository(m.id, m.url.toString) - case i: xsbti.IvyRepository => Resolver.url(i.id, i.url)(Patterns(i.ivyPattern :: Nil, i.artifactPattern :: Nil, mavenCompatible(i), descriptorOptional(i), skipConsistencyCheck(i))) + case i: xsbti.IvyRepository => + val patterns = Patterns(i.ivyPattern :: Nil, i.artifactPattern :: Nil, mavenCompatible(i), descriptorOptional(i), skipConsistencyCheck(i)) + i.url.getProtocol match { + case "file" => + // This hackery is to deal suitably with UNC paths on Windows. Once we can assume Java7, Paths should save us from this. + val file = try { new File(i.url.toURI) } catch { case e: java.net.URISyntaxException => new File(i.url.getPath) } + Resolver.file(i.id, file)(patterns) + case _ => Resolver.url(i.id, i.url)(patterns) + } case p: xsbti.PredefinedRepository => p.id match { case Predefined.Local => Resolver.defaultLocal case Predefined.MavenLocal => Resolver.mavenLocal