From e6a401b4c37f56fa3244313a50683072453faeac Mon Sep 17 00:00:00 2001 From: Dale Wijnand Date: Thu, 1 Oct 2015 21:33:58 +0100 Subject: [PATCH] Add localIfFile to MavenRepository & use it port of sbt/sbt#2172, fixes sbt/librarymanagement#7 --- .../sbt/internal/librarymanagement/ConvertResolver.scala | 2 +- .../src/main/scala/sbt/librarymanagement/Resolver.scala | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/librarymanagement/src/main/scala/sbt/internal/librarymanagement/ConvertResolver.scala b/librarymanagement/src/main/scala/sbt/internal/librarymanagement/ConvertResolver.scala index 12fd82100..99b731f89 100644 --- a/librarymanagement/src/main/scala/sbt/internal/librarymanagement/ConvertResolver.scala +++ b/librarymanagement/src/main/scala/sbt/internal/librarymanagement/ConvertResolver.scala @@ -127,7 +127,7 @@ private[sbt] object ConvertResolver { } } val resolver = new PluginCapableResolver - resolver.setRepository(new LocalIfFileRepo) + if (repo.localIfFile) resolver.setRepository(new LocalIfFileRepo) initializeMavenStyle(resolver, repo.name, repo.root) resolver.setPatterns() // has to be done after initializeMavenStyle, which calls methods that overwrite the patterns resolver diff --git a/librarymanagement/src/main/scala/sbt/librarymanagement/Resolver.scala b/librarymanagement/src/main/scala/sbt/librarymanagement/Resolver.scala index 48d9c69bf..e081ae370 100644 --- a/librarymanagement/src/main/scala/sbt/librarymanagement/Resolver.scala +++ b/librarymanagement/src/main/scala/sbt/librarymanagement/Resolver.scala @@ -32,9 +32,10 @@ final class RawRepository(val resolver: DependencyResolver) extends Resolver { sealed case class ChainedResolver(name: String, resolvers: Seq[Resolver]) extends Resolver /** An instance of a remote maven repository. Note: This will use Aether/Maven to resolve artifacts. */ -sealed case class MavenRepository(name: String, root: String) extends Resolver { - override def toString = name + ": " + root +sealed case class MavenRepository(name: String, root: String, localIfFile: Boolean = true) extends Resolver { + override def toString = s"$name: $root" def isCache: Boolean = false + def withLocalIfFile(value: Boolean) = MavenRepository(name, root, value) } /** @@ -42,7 +43,7 @@ sealed case class MavenRepository(name: String, root: String) extends Resolver { * the metadata is different (see Aether ML discussion). */ final class MavenCache(name: String, val rootFile: File) extends MavenRepository(name, rootFile.toURI.toURL.toString) { - override val toString = "cache:" + name + ": " + rootFile.getAbsolutePath + override val toString = s"cache:$name: ${rootFile.getAbsolutePath}" override def isCache: Boolean = true } object MavenCache {