summaryrefslogtreecommitdiff
path: root/scalalib
diff options
context:
space:
mode:
authorgehnaphore <geh@georgeandjulia.com>2018-12-19 23:41:31 -0800
committerTobias Roeser <le.petit.fou@web.de>2018-12-20 08:41:31 +0100
commit056cd88f77d09ad7237933a38d441862501d8739 (patch)
treef5d3a2ac74476d11472fffcd98f678c6b6a322b7 /scalalib
parent2752dcffae3765c56dca98b11a6a32318530e961 (diff)
downloadmill-056cd88f77d09ad7237933a38d441862501d8739.tar.gz
mill-056cd88f77d09ad7237933a38d441862501d8739.tar.bz2
mill-056cd88f77d09ad7237933a38d441862501d8739.zip
Avoid unnecessary dependency downloading by providing fetches per cache policy (#494)
* Avoid unnecessary dependency downloading by providing fetches per cache policy; add ticker logging when they are downloading * Fix GenIdeaTests by making the Log context Option[]al * Add some comments * Rebase and resolve
Diffstat (limited to 'scalalib')
-rw-r--r--scalalib/src/GenIdeaImpl.scala8
-rw-r--r--scalalib/src/JavaModule.scala3
-rw-r--r--scalalib/src/Lib.scala12
-rw-r--r--scalalib/src/ZincWorkerModule.scala3
-rw-r--r--scalalib/test/src/GenIdeaTests.scala2
5 files changed, 19 insertions, 9 deletions
diff --git a/scalalib/src/GenIdeaImpl.scala b/scalalib/src/GenIdeaImpl.scala
index b8f9d35e..261a83a9 100644
--- a/scalalib/src/GenIdeaImpl.scala
+++ b/scalalib/src/GenIdeaImpl.scala
@@ -42,7 +42,7 @@ object GenIdeaImpl {
val evaluator = new Evaluator(ctx.home, os.pwd / 'out, os.pwd / 'out, rootModule, ctx.log)
- for((relPath, xml) <- xmlFileLayout(evaluator, rootModule, jdkInfo)){
+ for((relPath, xml) <- xmlFileLayout(evaluator, rootModule, jdkInfo, Some(ctx))){
os.write.over(os.pwd/relPath, pp.format(xml), createFolders = true)
}
}
@@ -61,6 +61,7 @@ object GenIdeaImpl {
def xmlFileLayout(evaluator: Evaluator,
rootModule: mill.Module,
jdkInfo: (String,String),
+ ctx: Option[Log],
fetchMillModules: Boolean = true): Seq[(os.RelPath, scala.xml.Node)] = {
val modules = rootModule.millInternal.segmentsToModules.values
@@ -78,7 +79,10 @@ object GenIdeaImpl {
repos.toList,
Lib.depToDependency(_, "2.12.4", ""),
for(name <- artifactNames)
- yield ivy"com.lihaoyi::mill-$name:${sys.props("MILL_VERSION")}"
+ yield ivy"com.lihaoyi::mill-$name:${sys.props("MILL_VERSION")}",
+ false,
+ None,
+ ctx
)
res.items.toList.map(_.path)
}
diff --git a/scalalib/src/JavaModule.scala b/scalalib/src/JavaModule.scala
index 72c0a5a6..1a5bc47b 100644
--- a/scalalib/src/JavaModule.scala
+++ b/scalalib/src/JavaModule.scala
@@ -138,7 +138,8 @@ trait JavaModule extends mill.Module with TaskModule { outer =>
resolveCoursierDependency().apply(_),
deps(),
sources,
- mapDependencies = Some(mapDependencies())
+ mapDependencies = Some(mapDependencies()),
+ Some(implicitly[mill.util.Ctx.Log])
)
}
diff --git a/scalalib/src/Lib.scala b/scalalib/src/Lib.scala
index b8b253bd..bd535efd 100644
--- a/scalalib/src/Lib.scala
+++ b/scalalib/src/Lib.scala
@@ -35,13 +35,15 @@ object Lib{
def resolveDependenciesMetadata(repositories: Seq[Repository],
depToDependency: Dep => coursier.Dependency,
deps: TraversableOnce[Dep],
- mapDependencies: Option[Dependency => Dependency] = None) = {
+ mapDependencies: Option[Dependency => Dependency] = None,
+ ctx: Option[mill.util.Ctx.Log] = None) = {
val depSeq = deps.toSeq
mill.modules.Jvm.resolveDependenciesMetadata(
repositories,
depSeq.map(depToDependency),
depSeq.filter(_.force).map(depToDependency),
- mapDependencies
+ mapDependencies,
+ ctx
)
}
/**
@@ -55,14 +57,16 @@ object Lib{
depToDependency: Dep => coursier.Dependency,
deps: TraversableOnce[Dep],
sources: Boolean = false,
- mapDependencies: Option[Dependency => Dependency] = None): Result[Agg[PathRef]] = {
+ mapDependencies: Option[Dependency => Dependency] = None,
+ ctx: Option[mill.util.Ctx.Log] = None): Result[Agg[PathRef]] = {
val depSeq = deps.toSeq
mill.modules.Jvm.resolveDependencies(
repositories,
depSeq.map(depToDependency),
depSeq.filter(_.force).map(depToDependency),
sources,
- mapDependencies
+ mapDependencies,
+ ctx
)
}
def scalaCompilerIvyDeps(scalaOrganization: String, scalaVersion: String) =
diff --git a/scalalib/src/ZincWorkerModule.scala b/scalalib/src/ZincWorkerModule.scala
index 97d84aaf..f0474760 100644
--- a/scalalib/src/ZincWorkerModule.scala
+++ b/scalalib/src/ZincWorkerModule.scala
@@ -102,7 +102,8 @@ trait ZincWorkerModule extends mill.Module{
resolveDependencies(
repositories,
Lib.depToDependency(_, "2.12.4", ""),
- Seq(ivy"org.scala-sbt:compiler-interface:${Versions.zinc}")
+ Seq(ivy"org.scala-sbt:compiler-interface:${Versions.zinc}"),
+ ctx = Some(implicitly[mill.util.Ctx.Log])
)
}
diff --git a/scalalib/test/src/GenIdeaTests.scala b/scalalib/test/src/GenIdeaTests.scala
index 50db95c0..f8d9a0ed 100644
--- a/scalalib/test/src/GenIdeaTests.scala
+++ b/scalalib/test/src/GenIdeaTests.scala
@@ -28,7 +28,7 @@ object GenIdeaTests extends TestSuite {
val layout = GenIdeaImpl.xmlFileLayout(
helloWorldEvaluator.evaluator,
HelloWorld,
- ("JDK_1_8", "1.8 (1)"), fetchMillModules = false)
+ ("JDK_1_8", "1.8 (1)"), None, fetchMillModules = false)
for((relPath, xml) <- layout){
os.write.over(millSourcePath/ "generated"/ relPath, pp.format(xml), createFolders = true)
}