diff --git a/build.sbt b/build.sbt index 2b44841..d1aef91 100644 --- a/build.sbt +++ b/build.sbt @@ -2,11 +2,11 @@ import Dependencies._ import com.typesafe.tools.mima.core._ import sbt.internal.ProjectMatrix -val scala212 = "2.12.15" -val scala213 = "2.13.8" -val scala3 = "3.1.0" +val scala212 = "2.12.18" +val scala213 = "2.13.11" +val scala3 = "3.3.0" -ThisBuild / version := "0.12.0-SNAPSHOT" +ThisBuild / version := "0.13.0" ThisBuild / scalaVersion := scala212 lazy val allScalaVersions = Seq(scala212, scala213, scala3) diff --git a/core/src/main/scala/sjsonnew/package.scala b/core/src/main/scala/sjsonnew/package.scala index d869653..565b56e 100644 --- a/core/src/main/scala/sjsonnew/package.scala +++ b/core/src/main/scala/sjsonnew/package.scala @@ -16,7 +16,19 @@ import scala.reflect.ClassTag -package object sjsonnew { +package object sjsonnew + extends PrimitiveFormats + with StandardFormats + with TupleFormats + with CollectionFormats + with AdditionalFormats + with UnionFormats + with FlatUnionFormats + with IsoFormats + with JavaPrimitiveFormats + with ThrowableFormats + with ImplicitHashWriters + { def deserializationError(msg: String, cause: Throwable = null, fieldNames: List[String] = Nil) = throw new DeserializationException(msg, cause, fieldNames) def serializationError(msg: String) = throw new SerializationException(msg) diff --git a/project/build.properties b/project/build.properties index 563a014..875b706 100644 --- a/project/build.properties +++ b/project/build.properties @@ -1 +1 @@ -sbt.version=1.7.2 +sbt.version=1.9.2 diff --git a/support/murmurhash/src/test/scala/sjsonnew/support/murmurhash/MurmurhashSpec.scala b/support/murmurhash/src/test/scala/sjsonnew/support/murmurhash/MurmurhashSpec.scala index a2baf99..79a4971 100644 --- a/support/murmurhash/src/test/scala/sjsonnew/support/murmurhash/MurmurhashSpec.scala +++ b/support/murmurhash/src/test/scala/sjsonnew/support/murmurhash/MurmurhashSpec.scala @@ -21,7 +21,7 @@ import org.scalatest.flatspec.AnyFlatSpec import BUtil._ import LList._ -class MurmurhashSpec extends AnyFlatSpec with BasicJsonProtocol { +class MurmurhashSpec extends AnyFlatSpec { "The IntJsonFormat" should "convert an Int to an int hash" in { assert(Hasher.hashUnsafe[Int](1) === 1527037976) } diff --git a/support/spray/src/test/scala/sjsonnew/support/spray/CollectionFormatsSpec.scala b/support/spray/src/test/scala/sjsonnew/support/spray/CollectionFormatsSpec.scala index ba01378..9e4c59b 100644 --- a/support/spray/src/test/scala/sjsonnew/support/spray/CollectionFormatsSpec.scala +++ b/support/spray/src/test/scala/sjsonnew/support/spray/CollectionFormatsSpec.scala @@ -21,7 +21,7 @@ package support.spray import java.util.Arrays import spray.json.{ JsArray, JsNumber, JsObject, JsString, JsValue } -object CollectionFormatsSpec extends verify.BasicTestSuite with BasicJsonProtocol { +object CollectionFormatsSpec extends verify.BasicTestSuite { case class Person(name: String, value: List[Int], ary: Array[Int], m: Map[String, Int], vs: Vector[Int]) implicit object PersonFormat extends JsonFormat[Person] { diff --git a/support/spray/src/test/scala/sjsonnew/support/spray/IsoLListFormatSpec.scala b/support/spray/src/test/scala/sjsonnew/support/spray/IsoLListFormatSpec.scala index 7990e3a..8456d37 100644 --- a/support/spray/src/test/scala/sjsonnew/support/spray/IsoLListFormatSpec.scala +++ b/support/spray/src/test/scala/sjsonnew/support/spray/IsoLListFormatSpec.scala @@ -19,7 +19,7 @@ package support.spray import spray.json.{ JsArray, JsNumber, JsString, JsObject } -object IsoLListFormatSpec extends verify.BasicTestSuite with BasicJsonProtocol { +object IsoLListFormatSpec extends verify.BasicTestSuite { sealed trait Contact case class Person(name: String, value: Option[Int]) extends Contact case class Organization(name: String, value: Option[Int]) extends Contact diff --git a/support/spray/src/test/scala/sjsonnew/support/spray/JavaPrimitiveSpec.scala b/support/spray/src/test/scala/sjsonnew/support/spray/JavaPrimitiveSpec.scala index 9219235..1758ec7 100644 --- a/support/spray/src/test/scala/sjsonnew/support/spray/JavaPrimitiveSpec.scala +++ b/support/spray/src/test/scala/sjsonnew/support/spray/JavaPrimitiveSpec.scala @@ -22,7 +22,7 @@ import java.lang.{ Integer => JInteger, Long => JLong, Boolean => JBoolean, Float => JFloat, Double => JDouble, Byte => JByte, Short => JShort, Character => JCharacter } -object JavaPrimitiveFormatsSpec extends verify.BasicTestSuite with BasicJsonProtocol { +object JavaPrimitiveFormatsSpec extends verify.BasicTestSuite { test("The JIntegerJsonFormat") { // "convert an JInteger to a JsNumber" in { Predef.assert(Converter.toJsonUnsafe[JInteger](42: JInteger) == JsNumber(42)) diff --git a/support/spray/src/test/scala/sjsonnew/support/spray/LListFormatSpec.scala b/support/spray/src/test/scala/sjsonnew/support/spray/LListFormatSpec.scala index 061415b..68853af 100644 --- a/support/spray/src/test/scala/sjsonnew/support/spray/LListFormatSpec.scala +++ b/support/spray/src/test/scala/sjsonnew/support/spray/LListFormatSpec.scala @@ -20,7 +20,7 @@ package support.spray import java.util.Arrays import spray.json.{ JsArray, JsNumber, JsString, JsObject } -object LListFormatsSpec extends verify.BasicTestSuite with BasicJsonProtocol { +object LListFormatsSpec extends verify.BasicTestSuite { val empty = LNil val emptyObject = JsObject() val list = ("Z", 2) :*: ("a", 1) :*: LNil diff --git a/support/spray/src/test/scala/sjsonnew/support/spray/PrimitiveFormatsSpec.scala b/support/spray/src/test/scala/sjsonnew/support/spray/PrimitiveFormatsSpec.scala index ffb64dc..5fb2c36 100644 --- a/support/spray/src/test/scala/sjsonnew/support/spray/PrimitiveFormatsSpec.scala +++ b/support/spray/src/test/scala/sjsonnew/support/spray/PrimitiveFormatsSpec.scala @@ -20,7 +20,7 @@ package support.spray import spray.json.{ JsValue, JsNumber, JsString, JsNull, JsTrue, JsFalse } -object PritimiveFormatsSpec extends verify.BasicTestSuite with BasicJsonProtocol { +object PritimiveFormatsSpec extends verify.BasicTestSuite { test("The IntJsonFormat") { // "convert an Int to a JsNumber" diff --git a/support/spray/src/test/scala/sjsonnew/support/spray/StandardFormatsSpec.scala b/support/spray/src/test/scala/sjsonnew/support/spray/StandardFormatsSpec.scala index e044e8e..30218c1 100644 --- a/support/spray/src/test/scala/sjsonnew/support/spray/StandardFormatsSpec.scala +++ b/support/spray/src/test/scala/sjsonnew/support/spray/StandardFormatsSpec.scala @@ -21,7 +21,7 @@ package support.spray import spray.json.{ JsValue, JsNumber, JsString, JsNull, JsTrue, JsFalse, JsObject } import scala.Right -object StandardFormatsSpec extends verify.BasicTestSuite with BasicJsonProtocol { +object StandardFormatsSpec extends verify.BasicTestSuite { case class Person(name: Option[String], value: Option[Int]) implicit object PersonFormat extends JsonFormat[Person] { def write[J](x: Person, builder: Builder[J]): Unit = { diff --git a/support/spray/src/test/scala/sjsonnew/support/spray/ThrowableFormatsSpec.scala b/support/spray/src/test/scala/sjsonnew/support/spray/ThrowableFormatsSpec.scala index 970bdba..cbbff0a 100644 --- a/support/spray/src/test/scala/sjsonnew/support/spray/ThrowableFormatsSpec.scala +++ b/support/spray/src/test/scala/sjsonnew/support/spray/ThrowableFormatsSpec.scala @@ -17,7 +17,7 @@ package sjsonnew package support.spray -object ThrowableFormatsSpec extends verify.BasicTestSuite with BasicJsonProtocol { +object ThrowableFormatsSpec extends verify.BasicTestSuite { test("The throwableFormat round trip") { val t: Throwable = new Exception("foo", new Exception("bar")) diff --git a/support/spray/src/test/scala/sjsonnew/support/spray/TupleFormatsSpec.scala b/support/spray/src/test/scala/sjsonnew/support/spray/TupleFormatsSpec.scala index e725c6b..38e48ca 100644 --- a/support/spray/src/test/scala/sjsonnew/support/spray/TupleFormatsSpec.scala +++ b/support/spray/src/test/scala/sjsonnew/support/spray/TupleFormatsSpec.scala @@ -21,7 +21,7 @@ package support.spray import spray.json.{ JsValue, JsNumber, JsString, JsNull, JsTrue, JsFalse, JsArray } import scala.Right -object TupleFormatsSpec extends verify.BasicTestSuite with BasicJsonProtocol { +object TupleFormatsSpec extends verify.BasicTestSuite { test("The tuple1Format") { // "convert (42) to a JsNumber" diff --git a/support/spray/src/test/scala/sjsonnew/support/spray/UnionFormatSpec.scala b/support/spray/src/test/scala/sjsonnew/support/spray/UnionFormatSpec.scala index 3358834..a69dd6c 100644 --- a/support/spray/src/test/scala/sjsonnew/support/spray/UnionFormatSpec.scala +++ b/support/spray/src/test/scala/sjsonnew/support/spray/UnionFormatSpec.scala @@ -21,7 +21,7 @@ import java.util.Arrays import spray.json.{ JsArray, JsNumber, JsString, JsObject } import LList._ -object UnionFormatsSpec extends verify.BasicTestSuite with BasicJsonProtocol { +object UnionFormatsSpec extends verify.BasicTestSuite { sealed trait Fruit case class Apple() extends Fruit sealed trait Citrus extends Fruit