From c7385346bc25c636ee46fe6567eafae65249ae1f Mon Sep 17 00:00:00 2001 From: Li Haoyi Date: Sun, 18 Nov 2018 21:18:13 +0800 Subject: bump Ammonite version --- build.sc | 5 ++--- main/core/src/mill/eval/Evaluator.scala | 3 +-- main/core/src/mill/util/JsonFormatters.scala | 15 +++++++-------- main/src/mill/main/MainModule.scala | 3 +-- main/src/mill/main/RunScript.scala | 7 +++---- readme.md | 4 ++++ scalalib/src/mill/scalalib/JavaModule.scala | 2 +- scalalib/src/mill/scalalib/Versions.scala | 2 +- 8 files changed, 20 insertions(+), 21 deletions(-) diff --git a/build.sc b/build.sc index b5072b1b..3e061e04 100755 --- a/build.sc +++ b/build.sc @@ -8,7 +8,6 @@ import mill._ import mill.scalalib._ import publish._ import mill.modules.Jvm.createAssembly -import upickle.Js trait MillPublishModule extends PublishModule{ def artifactName = "mill-" + super.artifactName() @@ -88,7 +87,7 @@ object main extends MillModule { def ivyDeps = Agg( // Keep synchronized with ammonite in Versions.scala - ivy"com.lihaoyi:::ammonite:1.4.2", + ivy"com.lihaoyi:::ammonite:1.4.4", // Necessary so we can share the JNA classes throughout the build process ivy"net.java.dev.jna:jna:4.5.0", ivy"net.java.dev.jna:jna-platform:4.5.0" @@ -521,7 +520,7 @@ def uploadToGithub(authKey: String) = T.command{ scalaj.http.Http("https://api.github.com/repos/lihaoyi/mill/releases") .postData( ujson.write( - Js.Obj( + ujson.Js.Obj( "tag_name" -> releaseTag, "name" -> releaseTag ) diff --git a/main/core/src/mill/eval/Evaluator.scala b/main/core/src/mill/eval/Evaluator.scala index 563d7b63..2aafdb7a 100644 --- a/main/core/src/mill/eval/Evaluator.scala +++ b/main/core/src/mill/eval/Evaluator.scala @@ -11,7 +11,6 @@ import mill.eval.Result.OuterStack import mill.util import mill.util._ import mill.util.Strict.Agg -import upickle.Js import scala.collection.mutable import scala.util.control.NonFatal @@ -346,7 +345,7 @@ case class Evaluator(home: os.Path, object Evaluator{ - case class Cached(value: Js.Value, + case class Cached(value: ujson.Value, valueHash: Int, inputsHash: Int) object Cached{ diff --git a/main/core/src/mill/util/JsonFormatters.scala b/main/core/src/mill/util/JsonFormatters.scala index e2c3073f..dba599f7 100644 --- a/main/core/src/mill/util/JsonFormatters.scala +++ b/main/core/src/mill/util/JsonFormatters.scala @@ -1,6 +1,5 @@ package mill.util -import upickle.Js import upickle.default.{ReadWriter => RW} import scala.util.matching.Regex object JsonFormatters extends JsonFormatters @@ -29,14 +28,14 @@ trait JsonFormatters { implicit lazy val modFormat: RW[coursier.Module] = upickle.default.macroRW implicit lazy val depFormat: RW[coursier.Dependency]= upickle.default.macroRW implicit lazy val attrFormat: RW[coursier.Attributes] = upickle.default.macroRW - implicit val stackTraceRW = upickle.default.readwriter[Js.Obj].bimap[StackTraceElement]( - ste => Js.Obj( - "declaringClass" -> Js.Str(ste.getClassName), - "methodName" -> Js.Str(ste.getMethodName), - "fileName" -> Js.Str(ste.getFileName), - "lineNumber" -> Js.Num(ste.getLineNumber) + implicit val stackTraceRW = upickle.default.readwriter[ujson.Obj].bimap[StackTraceElement]( + ste => ujson.Obj( + "declaringClass" -> ujson.Str(ste.getClassName), + "methodName" -> ujson.Str(ste.getMethodName), + "fileName" -> ujson.Str(ste.getFileName), + "lineNumber" -> ujson.Num(ste.getLineNumber) ), - {case json: Js.Obj => + {case json: ujson.Obj => new StackTraceElement( json("declaringClass").str.toString, json("methodName").str.toString, diff --git a/main/src/mill/main/MainModule.scala b/main/src/mill/main/MainModule.scala index a740a2e6..34145668 100644 --- a/main/src/mill/main/MainModule.scala +++ b/main/src/mill/main/MainModule.scala @@ -7,7 +7,6 @@ import mill.define.{NamedTask, Task} import mill.eval.{Evaluator, PathRef, Result} import mill.util.{Ctx, PrintLogger, Watched} import pprint.{Renderer, Truncated} -import upickle.Js object MainModule{ def resolveTasks[T](evaluator: Evaluator, targets: Seq[String], multiSelect: Boolean) (f: List[NamedTask[Any]] => T) = { @@ -17,7 +16,7 @@ object MainModule{ } } def evaluateTasks[T](evaluator: Evaluator, targets: Seq[String], multiSelect: Boolean) - (f: Seq[(Any, Option[Js.Value])] => T) = { + (f: Seq[(Any, Option[ujson.Value])] => T) = { RunScript.evaluateTasks(evaluator, targets, multiSelect) match{ case Left(err) => Result.Failure(err) case Right((watched, Left(err))) => Result.Failure(err, Some(Watched((), watched))) diff --git a/main/src/mill/main/RunScript.scala b/main/src/mill/main/RunScript.scala index 820b1341..119ac2aa 100644 --- a/main/src/mill/main/RunScript.scala +++ b/main/src/mill/main/RunScript.scala @@ -11,7 +11,6 @@ import mill.define._ import mill.eval.{Evaluator, PathRef, Result} import mill.util.{EitherOps, Logger, ParseArgs, Watched} import mill.util.Strict.Agg -import upickle.Js import scala.collection.mutable import scala.reflect.ClassTag @@ -30,7 +29,7 @@ object RunScript{ stateCache: Option[Evaluator.State], log: Logger, env : Map[String, String]) - : (Res[(Evaluator, Seq[PathRef], Either[String, Seq[Js.Value]])], Seq[(os.Path, Long)]) = { + : (Res[(Evaluator, Seq[PathRef], Either[String, Seq[ujson.Value]])], Seq[(os.Path, Long)]) = { val (evalState, interpWatched) = stateCache match{ case Some(s) if watchedSigUnchanged(s.watched) => Res.Success(s) -> s.watched @@ -198,7 +197,7 @@ object RunScript{ } def evaluate(evaluator: Evaluator, - targets: Agg[Task[Any]]): (Seq[PathRef], Either[String, Seq[(Any, Option[upickle.Js.Value])]]) = { + targets: Agg[Task[Any]]): (Seq[PathRef], Either[String, Seq[(Any, Option[ujson.Value])]]) = { val evaluated = evaluator.evaluate(targets) val watched = evaluated.results .iterator @@ -239,7 +238,7 @@ object RunScript{ val jsonFile = Evaluator .resolveDestPaths(evaluator.outPath, t.ctx.segments) .meta - val metadata = upickle.default.readJs[Evaluator.Cached](ujson.read(jsonFile.toIO)) + val metadata = upickle.default.read[Evaluator.Cached](ujson.read(jsonFile.toIO)) Some(metadata.value) case _ => None diff --git a/readme.md b/readme.md index a98e7720..63d3e9c1 100644 --- a/readme.md +++ b/readme.md @@ -151,6 +151,10 @@ optimizer without classpath conflicts. ## Changelog +### 0.3.5 + +- Bump uPickle to 0.7.1 + ### 0.3.4 - Mill is now bundled with [OS-Lib](https://github.com/lihaoyi/os-lib), diff --git a/scalalib/src/mill/scalalib/JavaModule.scala b/scalalib/src/mill/scalalib/JavaModule.scala index 53677c53..5cd9b600 100644 --- a/scalalib/src/mill/scalalib/JavaModule.scala +++ b/scalalib/src/mill/scalalib/JavaModule.scala @@ -563,7 +563,7 @@ trait TestModule extends JavaModule with TaskModule { try { val jsonOutput = ujson.read(outputPath.toIO) - val (doneMsg, results) = upickle.default.readJs[(String, Seq[TestRunner.Result])](jsonOutput) + val (doneMsg, results) = upickle.default.read[(String, Seq[TestRunner.Result])](jsonOutput) TestModule.handleResults(doneMsg, results) }catch{case e: Throwable => Result.Failure("Test reporting failed: " + e) diff --git a/scalalib/src/mill/scalalib/Versions.scala b/scalalib/src/mill/scalalib/Versions.scala index b93e0df1..749637da 100644 --- a/scalalib/src/mill/scalalib/Versions.scala +++ b/scalalib/src/mill/scalalib/Versions.scala @@ -2,7 +2,7 @@ package mill.scalalib object Versions { // Keep synchronized with ammonite dependency in core in build.sc - val ammonite = "1.4.0" + val ammonite = "1.4.4" // Keep synchronized with zinc dependency in scalalib.worker in build.sc val zinc = "1.2.1" } -- cgit v1.2.3