diff options
author | Shani Elharrar <shani.elha@gmail.com> | 2018-03-09 19:59:55 +0200 |
---|---|---|
committer | Li Haoyi <haoyi.sg@gmail.com> | 2018-03-09 09:59:55 -0800 |
commit | 877715fbb4e00f1593520045439a8834cf054bd6 (patch) | |
tree | ac533f5b1783c581a54dc48670707405c32f7c80 /scalalib | |
parent | f6ab030e7d88e1c0ac290ec5773022f18d3524b0 (diff) | |
download | mill-877715fbb4e00f1593520045439a8834cf054bd6.tar.gz mill-877715fbb4e00f1593520045439a8834cf054bd6.tar.bz2 mill-877715fbb4e00f1593520045439a8834cf054bd6.zip |
ScalaModule: Added ivyDepsTree command (#213)
Diffstat (limited to 'scalalib')
-rw-r--r-- | scalalib/src/mill/scalalib/ScalaModule.scala | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/scalalib/src/mill/scalalib/ScalaModule.scala b/scalalib/src/mill/scalalib/ScalaModule.scala index 5a355bc6..119d4d47 100644 --- a/scalalib/src/mill/scalalib/ScalaModule.scala +++ b/scalalib/src/mill/scalalib/ScalaModule.scala @@ -71,6 +71,7 @@ trait ScalaModule extends mill.Module with TaskModule { outer => def transitiveIvyDeps: T[Agg[Dep]] = T{ ivyDeps() ++ Task.traverse(moduleDeps)(_.transitiveIvyDeps)().flatten } + def upstreamCompileOutput = T{ Task.traverse(moduleDeps)(_.compile) } @@ -247,6 +248,20 @@ trait ScalaModule extends mill.Module with TaskModule { outer => ) } + def ivyDepsTree(inverse: Boolean = false) = T.command { + import coursier.{Cache, Fetch, Resolution} + + val flattened = ivyDeps().map(depToDependency(_, scalaVersion(), platformSuffix())).toSeq + val start = Resolution(flattened.toSet) + val fetch = Fetch.from(repositories, Cache.fetch()) + val resolution = start.process.run(fetch).unsafePerformSync + + println(coursier.util.Print.dependencyTree(flattened, resolution, + printExclusions = false, reverse = inverse)) + + Result.Success() + } + def runLocal(args: String*) = T.command { Jvm.runLocal( finalMainClass(), |