diff options
author | Li Haoyi <haoyi.sg@gmail.com> | 2017-11-11 21:19:46 -0800 |
---|---|---|
committer | Li Haoyi <haoyi.sg@gmail.com> | 2017-11-11 21:19:46 -0800 |
commit | 24fe3185b455da233c6a4801176de57953265e5f (patch) | |
tree | 6daf36eda9b9a2a0a87b2fe38d327191e64b6ddf /scalaplugin/src/main | |
parent | 9dd14b1b976d1a95486339f92607496b8efca3b1 (diff) | |
download | mill-24fe3185b455da233c6a4801176de57953265e5f.tar.gz mill-24fe3185b455da233c6a4801176de57953265e5f.tar.bz2 mill-24fe3185b455da233c6a4801176de57953265e5f.zip |
cleanup `build.sc` imports
Diffstat (limited to 'scalaplugin/src/main')
3 files changed, 55 insertions, 46 deletions
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 { + +} |