From 66fff86f9b2cc2dfed13687fb15544c884a73684 Mon Sep 17 00:00:00 2001 From: Alexandre Archambault Date: Wed, 30 Dec 2015 01:34:47 +0100 Subject: [PATCH] Don't try to download local files Regression... --- cache/src/main/scala/coursier/Cache.scala | 34 +++++++++++++++-------- 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/cache/src/main/scala/coursier/Cache.scala b/cache/src/main/scala/coursier/Cache.scala index af82d2da3..e2026d3a2 100644 --- a/cache/src/main/scala/coursier/Cache.scala +++ b/cache/src/main/scala/coursier/Cache.scala @@ -224,21 +224,31 @@ object Cache { for ((f, url) <- pairs) yield { val file = new File(f) - val res = cachePolicy match { - case CachePolicy.LocalOnly => + val res = + if (url.startsWith("file:/")) { + assert( + url.stripPrefix("file:/").stripPrefix("//") == + file.toURI.toString.stripPrefix("file:/").stripPrefix("//"), + s"URL: ${url.stripPrefix("file:/").stripPrefix("//")}, " + + s"file: ${file.toURI.toString.stripPrefix("file:/").stripPrefix("//")}" + ) checkFileExists(file, url) - case CachePolicy.UpdateChanging | CachePolicy.Update => - shouldDownload(file, url).flatMap { - case true => + } else + cachePolicy match { + case CachePolicy.LocalOnly => + checkFileExists(file, url) + case CachePolicy.UpdateChanging | CachePolicy.Update => + shouldDownload(file, url).flatMap { + case true => + remote(file, url) + case false => + EitherT(Task.now(\/-(()) : FileError \/ Unit)) + } + case CachePolicy.FetchMissing => + checkFileExists(file, url) orElse remote(file, url) + case CachePolicy.ForceDownload => remote(file, url) - case false => - EitherT(Task.now(\/-(()) : FileError \/ Unit)) } - case CachePolicy.FetchMissing => - checkFileExists(file, url) orElse remote(file, url) - case CachePolicy.ForceDownload => - remote(file, url) - } res.run.map((file, url) -> _) }