Explorar o código

Update NGINX Unit, SNUnit and change json lib (#7815)

Lorenzo Gabriele %!s(int64=2) %!d(string=hai) anos
pai
achega
9d8b2af735

+ 3 - 2
frameworks/Scala/snunit/build.sbt

@@ -2,10 +2,11 @@ import scala.scalanative.build._
 
 scalaVersion := "2.13.8"
 
-val snunitVersion = "0.0.24"
+val snunitVersion = "0.2.4"
 libraryDependencies ++= Seq(
   "com.github.lolgab" %%% "snunit" % snunitVersion,
-  "com.lihaoyi" %%% "upickle" % "2.0.0"
+  "com.github.plokhotnyuk.jsoniter-scala" %%% "jsoniter-scala-core" % "2.19.1",
+  "com.github.plokhotnyuk.jsoniter-scala" %%% "jsoniter-scala-macros" % "2.19.1" % "compile-internal"
 )
 
 nativeConfig ~= {

+ 1 - 1
frameworks/Scala/snunit/project/build.properties

@@ -1 +1 @@
-sbt.version=1.7.1
+sbt.version=1.8.0

+ 1 - 1
frameworks/Scala/snunit/project/plugins.sbt

@@ -1 +1 @@
-addSbtPlugin("org.scala-native" % "sbt-scala-native" % "0.4.4")
+addSbtPlugin("org.scala-native" % "sbt-scala-native" % "0.4.9")

+ 2 - 2
frameworks/Scala/snunit/snunit.dockerfile

@@ -6,7 +6,7 @@ RUN apt-get update && apt-get install -y curl gnupg && \
   curl -sL https://nginx.org/keys/nginx_signing.key | apt-key add - && \
   echo "deb https://packages.nginx.org/unit/debian/ bullseye unit" > /etc/apt/sources.list.d/unit.list && \
   echo "deb-src https://packages.nginx.org/unit/debian/ bullseye unit" >> /etc/apt/sources.list.d/unit.list && \
-  apt-get update && apt-get install -y clang unit-dev=1.28* openjdk-11-jdk sbt && \
+  apt-get update && apt-get install -y clang unit-dev=1.29* openjdk-11-jdk sbt && \
   apt-get purge -y gnupg
 
 WORKDIR /workdir
@@ -15,7 +15,7 @@ COPY . .
 
 RUN sbt nativeLink
 
-FROM nginx/unit:1.28.0-minimal
+FROM nginx/unit:1.29.0-minimal
 
 COPY /config.sh /docker-entrypoint.d/
 COPY --from=builder /workdir/target/scala-2.13/workdir-out /app/example

+ 4 - 3
frameworks/Scala/snunit/src/main/scala/Main.scala

@@ -1,10 +1,11 @@
+import com.github.plokhotnyuk.jsoniter_scala.core._
+import com.github.plokhotnyuk.jsoniter_scala.macros._
 import snunit._
-import upickle.default._
 
 final case class Message(message: String)
 
 object Message {
-  implicit final val messageRW: ReadWriter[Message] = macroRW[Message]
+  implicit final val codec: JsonValueCodec[Message] = JsonCodecMaker.make
 }
 
 object Main {
@@ -20,7 +21,7 @@ object Main {
         else if (req.method == Method.GET && req.path == "/json")
           req.send(
             statusCode = StatusCode.OK,
-            content = write(Message("Hello, World!")),
+            content = writeToArray(Message("Hello, World!")),
             headers = Seq("Content-Type" -> "application/json")
           )
         else