diff options
author | gehnaphore <geh@georgeandjulia.com> | 2018-12-19 23:41:31 -0800 |
---|---|---|
committer | Tobias Roeser <le.petit.fou@web.de> | 2018-12-20 08:41:31 +0100 |
commit | 056cd88f77d09ad7237933a38d441862501d8739 (patch) | |
tree | f5d3a2ac74476d11472fffcd98f678c6b6a322b7 /scalalib | |
parent | 2752dcffae3765c56dca98b11a6a32318530e961 (diff) | |
download | mill-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.scala | 8 | ||||
-rw-r--r-- | scalalib/src/JavaModule.scala | 3 | ||||
-rw-r--r-- | scalalib/src/Lib.scala | 12 | ||||
-rw-r--r-- | scalalib/src/ZincWorkerModule.scala | 3 | ||||
-rw-r--r-- | scalalib/test/src/GenIdeaTests.scala | 2 |
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) } |