Merge pull request #1579 from copumpkin/0.13

Support publishing to file repositories specified in ~/.sbt/repositories. Fixes #1570
This commit is contained in:
Josh Suereth 2014-09-08 13:24:25 -04:00
commit 9a60ca7da9
1 changed files with 9 additions and 1 deletions

View File

@ -1655,7 +1655,15 @@ object Classpaths {
import xsbti.Predefined import xsbti.Predefined
repo match { repo match {
case m: xsbti.MavenRepository => MavenRepository(m.id, m.url.toString) 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 p: xsbti.PredefinedRepository => p.id match {
case Predefined.Local => Resolver.defaultLocal case Predefined.Local => Resolver.defaultLocal
case Predefined.MavenLocal => Resolver.mavenLocal case Predefined.MavenLocal => Resolver.mavenLocal