diff options
author | Andrew Richards <richards.aj@gmail.com> | 2018-03-03 21:53:49 +0100 |
---|---|---|
committer | Li Haoyi <haoyi.sg@gmail.com> | 2018-03-03 12:53:49 -0800 |
commit | 3adc4adede7ac0c7993535b374ef4600382ff75d (patch) | |
tree | 44cc21278c853958aa890cd84aa6c82ab50cba15 | |
parent | 3b5e0bd58c42edd6431d0cda0e5a4b03cfa41b25 (diff) | |
download | mill-3adc4adede7ac0c7993535b374ef4600382ff75d.tar.gz mill-3adc4adede7ac0c7993535b374ef4600382ff75d.tar.bz2 mill-3adc4adede7ac0c7993535b374ef4600382ff75d.zip |
factor out Dependency creation in Lib so it can be reused (#137)
* factor out Dependency creation in Lib so it can be reused
* fix indenting
* really fix indenting
* third time lucky
-rw-r--r-- | scalalib/src/mill/scalalib/Lib.scala | 38 |
1 files changed, 21 insertions, 17 deletions
diff --git a/scalalib/src/mill/scalalib/Lib.scala b/scalalib/src/mill/scalalib/Lib.scala index 208d545e..420075fe 100644 --- a/scalalib/src/mill/scalalib/Lib.scala +++ b/scalalib/src/mill/scalalib/Lib.scala @@ -4,11 +4,10 @@ package scalalib import java.io.File import ammonite.ops._ -import coursier.{Cache, Fetch, MavenRepository, Repository, Resolution, Module => CoursierModule} +import coursier.{Cache, Fetch, MavenRepository, Repository, Resolution, Dependency, Module => CoursierModule} import mill.eval.{PathRef, Result} import mill.util.Loose.Agg - object CompilationResult { implicit val jsonFormatter: upickle.default.ReadWriter[CompilationResult] = upickle.default.macroRW } @@ -27,20 +26,8 @@ object Lib{ .toIO } - /** - * Resolve dependencies using Coursier. - * - * We do not bother breaking this out into the separate ScalaWorker classpath, - * because Coursier is already bundled with mill/Ammonite to support the - * `import $ivy` syntax. - */ - def resolveDependencies(repositories: Seq[Repository], - scalaVersion: String, - deps: TraversableOnce[Dep], - platformSuffix: String = "", - sources: Boolean = false): Result[Agg[PathRef]] = { - - val flattened = deps.map{ + def depToDependency(dep: Dep, scalaVersion: String, platformSuffix: String = ""): Dependency = + dep match { case Dep.Java(dep, cross) => dep.copy( module = dep.module.copy( @@ -67,7 +54,24 @@ object Lib{ "_" + scalaVersion ) ) - }.toSet + } + + + + /** + * Resolve dependencies using Coursier. + * + * We do not bother breaking this out into the separate ScalaWorker classpath, + * because Coursier is already bundled with mill/Ammonite to support the + * `import $ivy` syntax. + */ + def resolveDependencies(repositories: Seq[Repository], + scalaVersion: String, + deps: TraversableOnce[Dep], + platformSuffix: String = "", + sources: Boolean = false): Result[Agg[PathRef]] = { + + val flattened = deps.map(depToDependency(_, scalaVersion, platformSuffix)).toSet val start = Resolution(flattened) val fetch = Fetch.from(repositories, Cache.fetch()) |