From 19d6b785421acc94edd92c1dc011b7ac37806758 Mon Sep 17 00:00:00 2001 From: Jakob Odersky Date: Thu, 19 Apr 2018 16:21:15 -0700 Subject: Group formats and default protocols into utility objects --- shared/src/main/scala/DerivedFormats.scala | 12 ++++++++++++ shared/src/test/scala/ImplicitDerivedFormatTests.scala | 3 +-- shared/src/test/scala/ProductTypeFormatTests.scala | 3 +-- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/shared/src/main/scala/DerivedFormats.scala b/shared/src/main/scala/DerivedFormats.scala index 4a0b8b4..122e744 100644 --- a/shared/src/main/scala/DerivedFormats.scala +++ b/shared/src/main/scala/DerivedFormats.scala @@ -89,16 +89,28 @@ trait DerivedFormats { self: BasicFormats => macro DerivedFormatMacros.derivedFormat[T] } + +@deprecated("use DerivedJsonProtocol", "spray-json-derivation 0.4.3") object DerivedFormats extends DerivedFormats with DefaultJsonProtocol trait ImplicitDerivedFormats extends DerivedFormats { self: BasicFormats => implicit def implicitJsonFormat[T]: RootJsonFormat[T] = macro DerivedFormatMacros.derivedFormat[T] } + +@deprecated("use ImplicitDerivedJsonProtocol", "spray-json-derivation 0.4.3") object ImplicitDerivedFormats extends ImplicitDerivedFormats with DefaultJsonProtocol +trait DerivedJsonProtocol extends DefaultJsonProtocol with DerivedFormats +object DerivedJsonProtocol extends DerivedJsonProtocol + +trait ImplicitDerivedJsonProtocol + extends DefaultJsonProtocol + with ImplicitDerivedFormats +object ImplicitDerivedJsonProtocol extends ImplicitDerivedJsonProtocol + object DerivedFormatMacros { import scala.reflect.macros.whitebox._ diff --git a/shared/src/test/scala/ImplicitDerivedFormatTests.scala b/shared/src/test/scala/ImplicitDerivedFormatTests.scala index 1d54ae9..f062a56 100644 --- a/shared/src/test/scala/ImplicitDerivedFormatTests.scala +++ b/shared/src/test/scala/ImplicitDerivedFormatTests.scala @@ -5,8 +5,7 @@ import org.scalatest._ class ImplicitDerivedFormatTests extends FlatSpec with FormatTests - with ImplicitDerivedFormats - with DefaultJsonProtocol { + with ImplicitDerivedJsonProtocol { case class B(x: Int, b: String, mp: Map[String, Int]) case class C(b: B) diff --git a/shared/src/test/scala/ProductTypeFormatTests.scala b/shared/src/test/scala/ProductTypeFormatTests.scala index 502568f..4d71aa3 100644 --- a/shared/src/test/scala/ProductTypeFormatTests.scala +++ b/shared/src/test/scala/ProductTypeFormatTests.scala @@ -5,8 +5,7 @@ import org.scalatest._ class ProductTypeFormatTests extends FlatSpec with FormatTests - with DerivedFormats - with DefaultJsonProtocol { + with DerivedJsonProtocol { case class A() case class B(x: Int, b: String, mp: Map[String, Int]) -- cgit v1.2.3