summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Richards <richards.aj@gmail.com>2018-03-03 21:53:49 +0100
committerLi Haoyi <haoyi.sg@gmail.com>2018-03-03 12:53:49 -0800
commit3adc4adede7ac0c7993535b374ef4600382ff75d (patch)
tree44cc21278c853958aa890cd84aa6c82ab50cba15
parent3b5e0bd58c42edd6431d0cda0e5a4b03cfa41b25 (diff)
downloadmill-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.scala38
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())