diff options
-rwxr-xr-x | build.sc | 9 | ||||
-rw-r--r-- | core/src/main/scala/mill/package.scala | 2 | ||||
-rw-r--r-- | scalaplugin/src/main/scala/mill/scalaplugin/Dep.scala | 50 | ||||
-rw-r--r-- | scalaplugin/src/main/scala/mill/scalaplugin/Subproject.scala | 46 | ||||
-rw-r--r-- | scalaplugin/src/main/scala/mill/scalaplugin/package.scala | 5 |
5 files changed, 60 insertions, 52 deletions
@@ -1,12 +1,9 @@ #!/usr/bin/env amm import $cp.scalaplugin.target.`scala-2.12`.`mill-scalaplugin-assembly-0.1-SNAPSHOT.jar` import ammonite.ops.pwd -import mill.discover.Discovered -import mill.eval.{Evaluator, PathRef} -import mill.scalaplugin.Subproject.Dep -import mill.util.OSet -import mill.{T, _} -import mill.scalaplugin.{TestRunner, _} +import mill._ +import mill.scalaplugin.{Subproject, Dep, TestRunner} + @main def main(args: String*) = mill.Main(args, Build) object Build{ trait MillSubproject extends Subproject{ diff --git a/core/src/main/scala/mill/package.scala b/core/src/main/scala/mill/package.scala index 339a1a26..3d713b2a 100644 --- a/core/src/main/scala/mill/package.scala +++ b/core/src/main/scala/mill/package.scala @@ -3,4 +3,6 @@ import mill.util.JsonFormatters package object mill extends JsonFormatters{ val T = define.Task type T[T] = define.Task[T] + val PathRef = mill.eval.PathRef + type PathRef = mill.eval.PathRef } diff --git a/scalaplugin/src/main/scala/mill/scalaplugin/Dep.scala b/scalaplugin/src/main/scala/mill/scalaplugin/Dep.scala new file mode 100644 index 00000000..57c881c8 --- /dev/null +++ b/scalaplugin/src/main/scala/mill/scalaplugin/Dep.scala @@ -0,0 +1,50 @@ +package mill.scalaplugin + +import play.api.libs.json._ +import mill.util.JsonFormatters._ +sealed trait Dep +object Dep{ + def apply(org: String, name: String, version: String): Dep = { + this(coursier.Dependency(coursier.Module(org, name), version)) + } + case class Java(dep: coursier.Dependency) extends Dep + object Java{ + def apply(org: String, name: String, version: String): Dep = { + Java(coursier.Dependency(coursier.Module(org, name), version)) + } + } + implicit def default(dep: coursier.Dependency): Dep = new Java(dep) + def apply(dep: coursier.Dependency) = Scala(dep) + case class Scala(dep: coursier.Dependency) extends Dep + object Scala{ + def apply(org: String, name: String, version: String): Dep = { + Scala(coursier.Dependency(coursier.Module(org, name), version)) + } + } + case class Point(dep: coursier.Dependency) extends Dep + object Point{ + def apply(org: String, name: String, version: String): Dep = { + Point(coursier.Dependency(coursier.Module(org, name), version)) + } + } + implicit def formatter: Format[Dep] = new Format[Dep]{ + def writes(o: Dep) = o match{ + case Java(dep) => Json.obj("Java" -> Json.toJson(dep)) + case Scala(dep) => Json.obj("Scala" -> Json.toJson(dep)) + case Point(dep) => Json.obj("PointScala" -> Json.toJson(dep)) + } + + def reads(json: JsValue) = json match{ + case obj: JsObject => + obj.fields match{ + case Seq(("Java", dep)) => Json.fromJson[coursier.Dependency](dep).map(Java(_)) + case Seq(("Scala", dep)) => Json.fromJson[coursier.Dependency](dep).map(Scala(_)) + case Seq(("PointScala", dep)) => Json.fromJson[coursier.Dependency](dep).map(Point(_)) + case _ => JsError("Invalid JSON object to parse ScalaDep") + } + + + case _ => JsError("Expected JSON object to parse ScalaDep") + } + } +}
\ No newline at end of file diff --git a/scalaplugin/src/main/scala/mill/scalaplugin/Subproject.scala b/scalaplugin/src/main/scala/mill/scalaplugin/Subproject.scala index 2fd9b2e0..4f576623 100644 --- a/scalaplugin/src/main/scala/mill/scalaplugin/Subproject.scala +++ b/scalaplugin/src/main/scala/mill/scalaplugin/Subproject.scala @@ -140,52 +140,6 @@ object Subproject{ def scalaRuntimeIvyDeps(scalaVersion: String) = Seq[Dep]( Dep.Java("org.scala-lang", "scala-library", scalaVersion) ) - sealed trait Dep - object Dep{ - def apply(org: String, name: String, version: String): Dep = { - this(coursier.Dependency(coursier.Module(org, name), version)) - } - case class Java(dep: coursier.Dependency) extends Dep - object Java{ - def apply(org: String, name: String, version: String): Dep = { - Java(coursier.Dependency(coursier.Module(org, name), version)) - } - } - implicit def default(dep: coursier.Dependency): Dep = new Java(dep) - def apply(dep: coursier.Dependency) = Scala(dep) - case class Scala(dep: coursier.Dependency) extends Dep - object Scala{ - def apply(org: String, name: String, version: String): Dep = { - Scala(coursier.Dependency(coursier.Module(org, name), version)) - } - } - case class Point(dep: coursier.Dependency) extends Dep - object Point{ - def apply(org: String, name: String, version: String): Dep = { - Point(coursier.Dependency(coursier.Module(org, name), version)) - } - } - implicit def formatter: Format[Dep] = new Format[Dep]{ - def writes(o: Dep) = o match{ - case Java(dep) => Json.obj("Java" -> Json.toJson(dep)) - case Scala(dep) => Json.obj("Scala" -> Json.toJson(dep)) - case Point(dep) => Json.obj("PointScala" -> Json.toJson(dep)) - } - - def reads(json: JsValue) = json match{ - case obj: JsObject => - obj.fields match{ - case Seq(("Java", dep)) => Json.fromJson[coursier.Dependency](dep).map(Java(_)) - case Seq(("Scala", dep)) => Json.fromJson[coursier.Dependency](dep).map(Scala(_)) - case Seq(("PointScala", dep)) => Json.fromJson[coursier.Dependency](dep).map(Point(_)) - case _ => JsError("Invalid JSON object to parse ScalaDep") - } - - - case _ => JsError("Expected JSON object to parse ScalaDep") - } - } - } } import Subproject._ diff --git a/scalaplugin/src/main/scala/mill/scalaplugin/package.scala b/scalaplugin/src/main/scala/mill/scalaplugin/package.scala new file mode 100644 index 00000000..1f1c5378 --- /dev/null +++ b/scalaplugin/src/main/scala/mill/scalaplugin/package.scala @@ -0,0 +1,5 @@ +package mill + +package object scalaplugin { + +} |