From 56c5717af50518e2efd7375ddbd4791300b21b53 Mon Sep 17 00:00:00 2001 From: Daniel Schroeter Date: Thu, 16 Jan 2025 10:45:02 +0100 Subject: [PATCH 1/2] Update dependencies -testlibs -sbt -scala -plugins no api/client relevant upgrades --- build.sbt | 9 +++--- .../TransformationSerializationTest.scala | 28 +++++++++++-------- .../scala/serializer/MapSerializerTest.scala | 4 ++- project/build.properties | 2 +- project/plugins.sbt | 6 ++-- 5 files changed, 28 insertions(+), 21 deletions(-) diff --git a/build.sbt b/build.sbt index 156f31c..69e66ee 100644 --- a/build.sbt +++ b/build.sbt @@ -5,7 +5,7 @@ import sbtrelease.ReleasePlugin.autoImport.ReleaseTransformations._ // note: keep in sync to pekko https://github.com/apache/incubator-pekko/blob/main/project/Dependencies.scala val mainScalaVersion = "3.3.4" -val secondaryScalaVersions = Seq("2.12.20", "2.13.14") +val secondaryScalaVersions = Seq("2.12.20", "2.13.16") val kryoVersion = "5.6.2" enablePlugins(ReleasePlugin) @@ -51,7 +51,7 @@ lazy val coreDeps = Seq( lazy val testingDeps = Seq( "org.scalatest" %% "scalatest" % "3.2.19" % Test, - "ch.qos.logback" % "logback-classic" % "1.5.10" % Test) + "ch.qos.logback" % "logback-classic" % "1.5.16" % Test) // Settings lazy val commonSettings: Seq[Setting[?]] = Seq( @@ -126,11 +126,12 @@ lazy val scalacStrictOptions = Seq( "-Wunused:privates", "-Wunused:locals", // "-Wunused:params", enable once 2.12 support is dropped - "-Wunused:nowarn") + ) case "3" => Seq( // "-Xfatal-warnings", enable once dotty supports @nowarn - "-Ycheck-all-patmat") + "-Ycheck-all-patmat" + ) } }) diff --git a/core/src/test/scala/io/altoo/serialization/kryo/scala/TransformationSerializationTest.scala b/core/src/test/scala/io/altoo/serialization/kryo/scala/TransformationSerializationTest.scala index acb6830..e1edd64 100644 --- a/core/src/test/scala/io/altoo/serialization/kryo/scala/TransformationSerializationTest.scala +++ b/core/src/test/scala/io/altoo/serialization/kryo/scala/TransformationSerializationTest.scala @@ -4,12 +4,12 @@ import com.typesafe.config.ConfigFactory import org.scalatest.Inside import org.scalatest.flatspec.AnyFlatSpec import org.scalatest.matchers.should.Matchers - +import scala.annotation.nowarn import java.nio.ByteBuffer import scala.collection.{immutable, mutable} import scala.collection.immutable.{HashMap, TreeMap} -object TransformationserializerTest { +object TransformationSerializationTest { private val defaultConfig = """ |scala-kryo-serializer { @@ -32,22 +32,26 @@ object TransformationserializerTest { |""".stripMargin } -class ZipTransformationserializerTest extends TransformationserializerTest("Zip", "scala-kryo-serializer.post-serializer-transformations = deflate") -class Lz4TransformationserializerTest extends TransformationserializerTest("LZ4", "scala-kryo-serializer.post-serializer-transformations = lz4") -class AESTransformationserializerTest extends TransformationserializerTest("AES", "scala-kryo-serializer.post-serializer-transformations = aes") -class ZipAESTransformationserializerTest extends TransformationserializerTest("ZipAES", """scala-kryo-serializer.post-serializer-transformations = "deflate,aes"""") -class LZ4AESTransformationserializerTest extends TransformationserializerTest("LZ4AES", """scala-kryo-serializer.post-serializer-transformations = "lz4,aes"""") -class OffTransformationserializerTest extends TransformationserializerTest("Off", "") -class UnsafeTransformationserializerTest extends TransformationserializerTest("Unsafe", "scala-kryo-serializer.use-unsafe = true") -class UnsafeLZ4TransformationserializerTest extends TransformationserializerTest("UnsafeLZ4", +class ZipTransformationserializerTest extends TransformationSerializationTest("Zip", "scala-kryo-serializer.post-serializer-transformations = deflate") +class Lz4TransformationserializerTest extends TransformationSerializationTest("LZ4", "scala-kryo-serializer.post-serializer-transformations = lz4") +class AESTransformationserializerTest extends TransformationSerializationTest("AES", "scala-kryo-serializer.post-serializer-transformations = aes") +class ZipAESTransformationserializerTest extends TransformationSerializationTest("ZipAES", """scala-kryo-serializer.post-serializer-transformations = "deflate,aes"""") +class LZ4AESTransformationserializerTest extends TransformationSerializationTest("LZ4AES", """scala-kryo-serializer.post-serializer-transformations = "lz4,aes"""") +class OffTransformationserializerTest extends TransformationSerializationTest("Off", "") +class UnsafeTransformationserializerTest extends TransformationSerializationTest("Unsafe", "scala-kryo-serializer.use-unsafe = true") +class UnsafeLZ4TransformationserializerTest extends TransformationSerializationTest("UnsafeLZ4", """ |scala-kryo-serializer.use-unsafe = true |scala-kryo-serializer.post-serializer-transformations = lz4 """.stripMargin) -abstract class TransformationserializerTest(name: String, testConfig: String) extends AnyFlatSpec with Matchers with Inside { +//fails for scala 3 +@nowarn("cat=deprecation") +@nowarn("msg=@nowarn annotation does not suppress any warnings") +@nowarn("msg=object AnyRefMap in package mutable is deprecated (since 2.13.16): Use `scala.collection.mutable.HashMap` instead for better performance.") +abstract class TransformationSerializationTest(name: String, testConfig: String) extends AnyFlatSpec with Matchers with Inside { private val config = ConfigFactory.parseString(testConfig) - .withFallback(ConfigFactory.parseString(TransformationserializerTest.defaultConfig)) + .withFallback(ConfigFactory.parseString(TransformationSerializationTest.defaultConfig)) .withFallback(ConfigFactory.defaultReference()) private val serializer = new ScalaKryoSerializer(config, getClass.getClassLoader) diff --git a/core/src/test/scala/io/altoo/serialization/kryo/scala/serializer/MapSerializerTest.scala b/core/src/test/scala/io/altoo/serialization/kryo/scala/serializer/MapSerializerTest.scala index 02232a7..2614d02 100644 --- a/core/src/test/scala/io/altoo/serialization/kryo/scala/serializer/MapSerializerTest.scala +++ b/core/src/test/scala/io/altoo/serialization/kryo/scala/serializer/MapSerializerTest.scala @@ -4,12 +4,14 @@ import com.esotericsoftware.kryo.kryo5.io.{Input, Output} import com.esotericsoftware.kryo.kryo5.serializers.MapSerializer import com.esotericsoftware.kryo.kryo5.{Kryo, Serializer} import io.altoo.serialization.kryo.scala.testkit.AbstractKryoTest - +import scala.annotation.nowarn import java.util import java.util.Random import java.util.concurrent.ConcurrentHashMap import scala.collection.immutable.{Map, Set, Vector} +@nowarn("cat=deprecation") +@nowarn("msg=object AnyRefMap in package mutable is deprecated (since 2.13.16): Use `scala.collection.mutable.HashMap` instead for better performance.") class MapSerializerTest extends AbstractKryoTest { private val hugeCollectionSize = 100 diff --git a/project/build.properties b/project/build.properties index abbbce5..73df629 100644 --- a/project/build.properties +++ b/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.8 +sbt.version=1.10.7 diff --git a/project/plugins.sbt b/project/plugins.sbt index 0d7db8c..b9a930a 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -1,4 +1,4 @@ -addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.5.2") -addSbtPlugin("org.xerial.sbt" % "sbt-sonatype" % "3.10.0") +addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.5.3") +addSbtPlugin("org.xerial.sbt" % "sbt-sonatype" % "3.12.2") addSbtPlugin("com.github.sbt" % "sbt-release" % "1.4.0") -addSbtPlugin("com.github.sbt" % "sbt-pgp" % "2.2.1") +addSbtPlugin("com.github.sbt" % "sbt-pgp" % "2.3.1") From dce23af090f37fb3fc5985ba70d2ccbb1af20ca9 Mon Sep 17 00:00:00 2001 From: Daniel Schroeter Date: Thu, 16 Jan 2025 10:48:35 +0100 Subject: [PATCH 2/2] adapt doc --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index fdf9188..3babb72 100644 --- a/README.md +++ b/README.md @@ -41,7 +41,7 @@ We provide several versions of the library: | Version | Kryo Compatibility | Available Scala Versions | Tested with | |---------|--------------------|--------------------------|---------------------------------------------------------------------| -| v1.2.x | Kryo-5.6 | 2.12,2.13,3 | JDK: OpenJdk11,OpenJdk17,OpenJdk21 Scala: 2.12.18,2.13.11,3.3.1 | +| v1.2.x | Kryo-5.6 | 2.12,2.13,3 | JDK: OpenJdk11,OpenJdk17,OpenJdk21 Scala: 2.12.20,2.13.16,3.3.4 | | v1.1.x | Kryo-5.5 | 2.12,2.13,3 | JDK: OpenJdk11,OpenJdk17,OpenJdk21 Scala: 2.12.18,2.13.11,3.3.1 | | v1.0.x | Kryo-5.4 | 2.12,2.13,3 | JDK: OpenJdk11,OpenJdk17 Scala: 2.12.18,2.13.11,3.3.1 |