diff --git a/main/src/main/scala/sbt/Defaults.scala b/main/src/main/scala/sbt/Defaults.scala index 35dfd27f0..661404a47 100644 --- a/main/src/main/scala/sbt/Defaults.scala +++ b/main/src/main/scala/sbt/Defaults.scala @@ -3373,7 +3373,7 @@ object Classpaths { val ac = appConfiguration.value val ip = ivyPaths.value // if ivyPaths is customized, create coursier-cache directory in it - val defaultIvyCache = bootIvyHome(ac) + val defaultIvyCache = bootIvyHome(ac).map(_.toString) if (old != LMCoursier.defaultCacheLocation) old else if (ip.ivyHome == defaultIvyCache) old else diff --git a/sbt-app/src/sbt-test/lm-coursier/coursier-cache/build.sbt b/sbt-app/src/sbt-test/lm-coursier/coursier-cache/build.sbt new file mode 100644 index 000000000..7566b5462 --- /dev/null +++ b/sbt-app/src/sbt-test/lm-coursier/coursier-cache/build.sbt @@ -0,0 +1,12 @@ +TaskKey[Unit]("checkIsDefaultCache") := { + val csrCacheDir = csrCacheDirectory.value + assert(csrCacheDir == sbt.coursierint.LMCoursier.defaultCacheLocation, csrCacheDir.toString) + val expectedPath = if Util.isWindows then "Coursier\\Cache\\v1" else ".cache/coursier/v1" + assert(csrCacheDir.toString.endsWith(expectedPath), csrCacheDir.toString) +} + +TaskKey[Unit]("checkIsCustomCache") := { + val csrCacheDir = csrCacheDirectory.value + val ip = ivyPaths.value + assert(csrCacheDir == file(ip.ivyHome.get) / "coursier-cache", csrCacheDir.toString) +} diff --git a/sbt-app/src/sbt-test/lm-coursier/coursier-cache/test b/sbt-app/src/sbt-test/lm-coursier/coursier-cache/test new file mode 100644 index 000000000..7fbc219b3 --- /dev/null +++ b/sbt-app/src/sbt-test/lm-coursier/coursier-cache/test @@ -0,0 +1,3 @@ +> checkIsDefaultCache +> 'set ivyPaths := ivyPaths.value.withIvyHome("ivy-cache")' +> checkIsCustomCache