mirror of https://github.com/sbt/sbt.git
parent
65a0c4ae55
commit
66fff86f9b
|
|
@ -224,21 +224,31 @@ object Cache {
|
||||||
for ((f, url) <- pairs) yield {
|
for ((f, url) <- pairs) yield {
|
||||||
val file = new File(f)
|
val file = new File(f)
|
||||||
|
|
||||||
val res = cachePolicy match {
|
val res =
|
||||||
case CachePolicy.LocalOnly =>
|
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)
|
checkFileExists(file, url)
|
||||||
case CachePolicy.UpdateChanging | CachePolicy.Update =>
|
} else
|
||||||
shouldDownload(file, url).flatMap {
|
cachePolicy match {
|
||||||
case true =>
|
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)
|
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) -> _)
|
res.run.map((file, url) -> _)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue