From 22f288586101db3be7162f388b6aa52300405300 Mon Sep 17 00:00:00 2001 From: Alexandre Archambault Date: Sun, 29 Nov 2015 23:25:37 +0100 Subject: [PATCH 1/4] Add generate-launcher script --- project/generate-launcher.sh | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100755 project/generate-launcher.sh diff --git a/project/generate-launcher.sh b/project/generate-launcher.sh new file mode 100755 index 000000000..c91e7f5fb --- /dev/null +++ b/project/generate-launcher.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +"$(dirname "$0")/../cli/target/pack/bin/coursier" bootstrap \ + com.github.alexarchambault:coursier-cli_2.11:0.1.0-SNAPSHOT \ + -D "\$(cd \$(dirname \"\$0\"); pwd)/.coursier/0.1.0-SNAPSHOT-0f15f7f/bootstrap" \ + -r https://repo1.maven.org/maven2 -r https://oss.sonatype.org/content/repositories/snapshots \ + -b \ + -f -o coursier \ + -M coursier.cli.Coursier \ + -e COURSIER_CACHE="\$(cd \$(dirname \"\$0\"); pwd)/.coursier/0.1.0-SNAPSHOT-0f15f7f" From 52a88a44d785c03b2048d021cdf53e6d259941e7 Mon Sep 17 00:00:00 2001 From: Alexandre Archambault Date: Sun, 29 Nov 2015 23:26:15 +0100 Subject: [PATCH 2/4] Sligthly change the cache directory layout --- files/src/main/scala/coursier/Cache.scala | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/files/src/main/scala/coursier/Cache.scala b/files/src/main/scala/coursier/Cache.scala index b78e578b4..4f39c35e9 100644 --- a/files/src/main/scala/coursier/Cache.scala +++ b/files/src/main/scala/coursier/Cache.scala @@ -41,8 +41,7 @@ case class Cache(cache: File) { import Cache._ lazy val repoDir = new File(cache, "repositories") - lazy val metadataBase = new File(cache, "metadata") - lazy val fileBase = new File(cache, "files") + lazy val fileBase = new File(cache, "cache") lazy val defaultFile = new File(repoDir, ".default") @@ -64,11 +63,10 @@ case class Cache(cache: File) { ifEmpty: Boolean = true, verbose: Boolean = false ): Unit = - if (!ifEmpty || !cache.exists()) { + if (!ifEmpty || !repoDir.exists() || !fileBase.exists()) { if (verbose) Console.err.println(s"Initializing $cache") repoDir.mkdirs() - metadataBase.mkdirs() fileBase.mkdirs() addCentral() addIvy2Local() From c7fcd705837ee8ff44d1418f59227e88fb80d052 Mon Sep 17 00:00:00 2001 From: Alexandre Archambault Date: Sun, 29 Nov 2015 23:26:23 +0100 Subject: [PATCH 3/4] Update launcher --- coursier | Bin 8122 -> 8116 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/coursier b/coursier index 1e2b5e5bde900cfd4fb26dc691c9791f116c4fd9..4d8ad03b33c513f54e109ac26c82288ada971101 100755 GIT binary patch delta 69 zcmdmGzr}unpO}H3p`L+mu%BZ@xaE`S~TqB}It^8z0`3 F0|3(a7F7TM delta 79 zcmdmDzsr7tpG0X&EN~ From 6ee6d813c5cb5824712aa9b8587930ffc5fe1b86 Mon Sep 17 00:00:00 2001 From: Alexandre Archambault Date: Sun, 29 Nov 2015 23:51:56 +0100 Subject: [PATCH 4/4] Add back fetch-local-first logic --- cli/src/main/scala/coursier/cli/Helper.scala | 6 +++++- files/src/main/scala/coursier/Fetch.scala | 7 +++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/cli/src/main/scala/coursier/cli/Helper.scala b/cli/src/main/scala/coursier/cli/Helper.scala index cb7a53741..db82754d4 100644 --- a/cli/src/main/scala/coursier/cli/Helper.scala +++ b/cli/src/main/scala/coursier/cli/Helper.scala @@ -201,7 +201,11 @@ class Helper( else None logger.foreach(_.init()) - val fetchQuiet = coursier.Fetch(repositories, files.fetch(logger = logger)) + val fetchQuiet = coursier.Fetch( + repositories, + files.fetch(logger = logger)(cachePolicy = CachePolicy.LocalOnly), // local files get the priority + files.fetch(logger = logger) + ) val fetch0 = if (verbose0 <= 0) fetchQuiet else { diff --git a/files/src/main/scala/coursier/Fetch.scala b/files/src/main/scala/coursier/Fetch.scala index 3e7d220d5..2c0ab0e81 100644 --- a/files/src/main/scala/coursier/Fetch.scala +++ b/files/src/main/scala/coursier/Fetch.scala @@ -11,12 +11,15 @@ object Fetch { def apply( repositories: Seq[core.Repository], - fetch: Repository.Fetch[Task] + fetch: Repository.Fetch[Task], + extra: Repository.Fetch[Task]* ): ResolutionProcess.Fetch[Task] = { modVers => Task.gatherUnordered( modVers.map { case (module, version) => - Repository.find(repositories, module, version, fetch) + def get(fetch: Repository.Fetch[Task]) = + Repository.find(repositories, module, version, fetch) + (get(fetch) /: extra)(_ orElse get(_)) .run .map((module, version) -> _) }