Skip to content

Commit 38752aa

Browse files
authored
Merge pull request #75 from anilkumarmyla/base_dir
Support sbt 1.4.0 when COURSIER_CACHE is overridden
2 parents 772acaa + 8de2fec commit 38752aa

File tree

3 files changed

+14
-8
lines changed

3 files changed

+14
-8
lines changed

src/main/scala-sbt-0.13/explicitdeps/package.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ package object explicitdeps {
66

77
val defaultModuleFilter: ModuleFilter = sbt.DependencyFilter.moduleFilter()
88

9-
// csrCacheDirectoryValueOpt is unused and only present for forward compatibility
10-
def getAllLibraryDeps(analysis: Analysis, log: sbt.util.Logger)(csrCacheDirectoryValueOpt: Option[String]): Set[java.io.File] = {
9+
// csrCacheDirectoryValueOpt, baseDirectoryValue are unused and are only present for forward compatibility
10+
def getAllLibraryDeps(analysis: Analysis, log: sbt.util.Logger)(csrCacheDirectoryValueOpt: Option[String], baseDirectoryValue: String): Set[java.io.File] = {
1111
log.debug(
1212
s"Source to library relations:\n${analysis.relations.binaryDep.all.map(r => s" ${r._1} -> ${r._2}").mkString("\n")}"
1313
)

src/main/scala-sbt-1.0/explicitdeps/package.scala

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,24 +6,28 @@ package object explicitdeps {
66

77
val defaultModuleFilter: ModuleFilter = sbt.librarymanagement.DependencyFilter.moduleFilter()
88

9-
private def toFile(x: AnyRef, csrCacheDirectoryValueOpt: Option[String]): java.io.File = {
9+
private def toFile(x: AnyRef, csrCacheDirectoryValueOpt: Option[String], baseDirectoryValue: String): java.io.File = {
1010
if (x.getClass.getSimpleName.contains("VirtualFile")) {
1111
// sbt 1.4.0 or newer
1212
val id = x.getClass.getMethod("id").invoke(x).toString
13-
val path = id.replaceAllLiterally("${CSR_CACHE}", csrCacheDirectoryValueOpt.mkString)
13+
val path = id
14+
.replaceAllLiterally("${CSR_CACHE}", csrCacheDirectoryValueOpt.mkString)
15+
.replaceAllLiterally("${BASE}", baseDirectoryValue)
1416
new java.io.File(path)
1517
} else {
1618
// sbt 1.3.x or older
1719
x.asInstanceOf[java.io.File]
1820
}
1921
}
2022

21-
def getAllLibraryDeps(analysis: Analysis, log: sbt.util.Logger)(csrCacheDirectoryValueOpt: Option[String]): Set[java.io.File] = {
23+
def getAllLibraryDeps(analysis: Analysis, log: sbt.util.Logger)
24+
(csrCacheDirectoryValueOpt: Option[String], baseDirectoryValue: String): Set[java.io.File] = {
2225
log.debug(
2326
s"Source to library relations:\n${analysis.relations.libraryDep.all.map(r => s" ${r._1} -> ${r._2}").mkString("\n")}"
2427
)
28+
log.debug(s"Using CSR_CACHE=${csrCacheDirectoryValueOpt.mkString} BASE=$baseDirectoryValue")
2529
val allLibraryDeps = analysis.relations.allLibraryDeps.asInstanceOf[Set[AnyRef]]
26-
.map(x => toFile(x, csrCacheDirectoryValueOpt))
30+
.map(x => toFile(x, csrCacheDirectoryValueOpt, baseDirectoryValue))
2731
.toSet
2832
log.debug(s"Library dependencies:\n${allLibraryDeps.mkString(" ", "\n ", "")}")
2933
allLibraryDeps

src/main/scala/explicitdeps/ExplicitDepsPlugin.scala

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,8 @@ object ExplicitDepsPlugin extends AutoPlugin {
5151
val log = streams.value.log
5252
val projectName = name.value
5353
val csrCacheDirectoryValueOpt = csrCacheDirectoryValueTask.value
54-
val allLibraryDeps = getAllLibraryDeps(compile.in(Compile).value.asInstanceOf[Analysis], log)(csrCacheDirectoryValueOpt)
54+
val baseDirectoryValue = appConfiguration.value.baseDirectory().getCanonicalFile.toPath.toString
55+
val allLibraryDeps = getAllLibraryDeps(compile.in(Compile).value.asInstanceOf[Analysis], log)(csrCacheDirectoryValueOpt, baseDirectoryValue)
5556
val libraryDeps = libraryDependencies.value
5657
val scalaBinaryVer = scalaBinaryVersion.value
5758
val filter = undeclaredCompileDependenciesFilter.value
@@ -76,7 +77,8 @@ object ExplicitDepsPlugin extends AutoPlugin {
7677
val log = streams.value.log
7778
val projectName = name.value
7879
val csrCacheDirectoryValueOpt = csrCacheDirectoryValueTask.value
79-
val allLibraryDeps = getAllLibraryDeps(compile.in(Compile).value.asInstanceOf[Analysis], log)(csrCacheDirectoryValueOpt)
80+
val baseDirectoryValue = appConfiguration.value.baseDirectory().getCanonicalFile.toPath.toString
81+
val allLibraryDeps = getAllLibraryDeps(compile.in(Compile).value.asInstanceOf[Analysis], log)(csrCacheDirectoryValueOpt, baseDirectoryValue)
8082
val libraryDeps = libraryDependencies.value
8183
val scalaBinaryVer = scalaBinaryVersion.value
8284
val filter = unusedCompileDependenciesFilter.value

0 commit comments

Comments
 (0)