From 9beaf21926b1b3f72bfcb9b4f5b22b311e3e4876 Mon Sep 17 00:00:00 2001 From: Dale Wijnand Date: Thu, 20 Aug 2015 20:23:27 +0100 Subject: [PATCH 1/4] Use string interpolation. --- ivy/src/main/scala/sbt/Resolver.scala | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ivy/src/main/scala/sbt/Resolver.scala b/ivy/src/main/scala/sbt/Resolver.scala index ce3a2830f..1b54aa2e9 100644 --- a/ivy/src/main/scala/sbt/Resolver.scala +++ b/ivy/src/main/scala/sbt/Resolver.scala @@ -33,7 +33,7 @@ sealed case class ChainedResolver(name: String, resolvers: Seq[Resolver]) extend /** 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 + override def toString = s"$name: $root" def isCache: Boolean = false } @@ -42,7 +42,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 { From 0bf7e638877b17c42b0742baf2d1b9f17b77fa1a Mon Sep 17 00:00:00 2001 From: Dale Wijnand Date: Thu, 20 Aug 2015 20:29:53 +0100 Subject: [PATCH 2/4] Add localIfFile to MavenRepository. --- ivy/src/main/scala/sbt/Resolver.scala | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ivy/src/main/scala/sbt/Resolver.scala b/ivy/src/main/scala/sbt/Resolver.scala index 1b54aa2e9..ab667e923 100644 --- a/ivy/src/main/scala/sbt/Resolver.scala +++ b/ivy/src/main/scala/sbt/Resolver.scala @@ -35,6 +35,8 @@ sealed case class ChainedResolver(name: String, resolvers: Seq[Resolver]) extend sealed case class MavenRepository(name: String, root: String) extends Resolver { override def toString = s"$name: $root" def isCache: Boolean = false + def localIfFile: Boolean = true + def withLocalIfFile(value: Boolean) = new MavenRepository(name, root) { override def localIfFile = value } } /** From 5662b2ceedad4610c37c22f86a6f662a02e3eb24 Mon Sep 17 00:00:00 2001 From: Dale Wijnand Date: Thu, 20 Aug 2015 20:29:15 +0100 Subject: [PATCH 3/4] Only set LocalIfFileRepo if MavenRepository.localIfFile is set. --- ivy/src/main/scala/sbt/ConvertResolver.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ivy/src/main/scala/sbt/ConvertResolver.scala b/ivy/src/main/scala/sbt/ConvertResolver.scala index 9768241d5..408c0b92f 100644 --- a/ivy/src/main/scala/sbt/ConvertResolver.scala +++ b/ivy/src/main/scala/sbt/ConvertResolver.scala @@ -120,7 +120,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 From 786dc7fd107124200356ab2198102d3ac6c713f5 Mon Sep 17 00:00:00 2001 From: Dale Wijnand Date: Sun, 23 Aug 2015 17:33:19 +0100 Subject: [PATCH 4/4] Add notes for MavenRepository.localIfFile. --- .../add-MavenRepository.localIfFile.markdown | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 notes/0.13.10/add-MavenRepository.localIfFile.markdown diff --git a/notes/0.13.10/add-MavenRepository.localIfFile.markdown b/notes/0.13.10/add-MavenRepository.localIfFile.markdown new file mode 100644 index 000000000..92058475b --- /dev/null +++ b/notes/0.13.10/add-MavenRepository.localIfFile.markdown @@ -0,0 +1,13 @@ + + [@dwijnand]: http://github.com/dwijnand + [2172]: https://github.com/sbt/sbt/pull/2172 + +### Fixes with compatibility implications + +### Improvements + +- Adds localIfFile to MavenRepository, to force artifacts to be copied to the cache. + [#2172][2172] by [@dwijnand][@dwijnand] + +### Bug fixes +