plant-simulator
plant-simulator copied to clipboard
Migrate to Scala 3
Scala 3 is out for quite some time, we need to migrate to Scala 3 to be up to date and to use some of the features.
Currently not possible to migrate to Scala 3.x.x because some of the libraries that I use are depending on some macros which are not yet ported to Scala 3.x. Here is a sample run of the scala3 migration helper sbt plugin that shows what the blockers are:
[plant-simulator] $ migrate-libs root
[info]
[info]
[info] Starting to migrate libDependencies for root
[info]
[info] X : Cannot be updated to scala 3
[info] Valid : Already a valid version for Scala 3
[info] To be updated : Need to be updated to the following version
[info]
[info] com.typesafe.play:play-json:2.9.3 -> X : Contains Macros and is not yet published for 3.0.0
[info] com.typesafe.slick:slick:3.4.1 -> X : Contains Macros and is not yet published for 3.0.0
[info] com.typesafe.scala-logging:scala-logging:3.9.5 -> X : Contains Macros and is not yet published for 3.0.0
[info] org.wartremover:wartremover:2.4.21:plugin->default(compile) -> X : Scala 2 compiler plugins are not supported in scala 3.0.0. You need to find an alternative
[info] io.dropwizard.metrics:metrics-jvm:4.2.13 -> Valid
[info] com.h2database:h2:1.4.186 -> Valid
[info] org.awaitility:awaitility:4.2.0:test -> Valid
[info] io.dropwizard.metrics:metrics-core:4.2.13 -> Valid
[info] com.typesafe:config:1.4.2 -> Valid
[info] mysql:mysql-connector-java:8.0.31 -> Valid
[info] com.typesafe.play:twirl-api:1.5.1 -> "com.typesafe.play" % "twirl-api_2.13" % "1.5.1"
[info] com.typesafe.akka:akka-protobuf-v3:2.6.20:test -> "com.typesafe.akka" % "akka-protobuf-v3_2.13" % "2.6.20" % "test"
[info] com.typesafe.play:play-akka-http-server:2.8.16 -> "com.typesafe.play" % "play-akka-http-server_2.13" % "2.8.16"
[info] com.typesafe.play:play-json-joda:2.9.3 -> "com.typesafe.play" % "play-json-joda_2.13" % "2.9.3"
[info] com.typesafe.slick:slick-hikaricp:3.4.1 -> "com.typesafe.slick" % "slick-hikaricp_2.13" % "3.4.1"
[info] org.scalatestplus.play:scalatestplus-play:5.1.0:test -> "org.scalatestplus.play" % "scalatestplus-play_2.13" % "5.1.0" % "test"
[info] com.github.andyglow:websocket-scala-client:0.4.0:test -> "com.github.andyglow" % "websocket-scala-client_2.13" % "0.4.0" % "test"
[info] com.typesafe.akka:akka-stream:2.6.20:test -> "com.typesafe.akka" % "akka-stream_2.13" % "2.6.20" % "test"
[info] com.typesafe.akka:akka-slf4j:2.6.20:test -> "com.typesafe.akka" % "akka-slf4j_2.13" % "2.6.20" % "test"
[info] com.typesafe.akka:akka-testkit:2.6.20:test -> "com.typesafe.akka" % "akka-testkit_2.13" % "2.6.20" % "test"
[info] com.typesafe.play:play-ahc-ws:2.8.16 -> "com.typesafe.play" % "play-ahc-ws_2.13" % "2.8.16"
[info] io.monix:monix:3.4.1 -> "io.monix" % "monix_2.13" % "3.4.1"
[info] com.geirsson:scalafmt-core_2.12:1.5.1:scalafmt -> "com.geirsson" % "scalafmt-core_2.13" % "1.5.1" % "scalafmt"
[info] com.typesafe.play:play-logback:2.8.16 -> "com.typesafe.play" % "play-logback_2.13" % "2.8.16"
[info] com.typesafe.play:play-test:2.8.16:test -> "com.typesafe.play" % "play-test_2.13" % "2.8.16" % "test"
[info] com.typesafe.play:play-server:2.8.16 -> "com.typesafe.play" % "play-server_2.13" % "2.8.16"
[info] com.typesafe.play:play-docs:2.8.16:docs -> "com.typesafe.play" % "play-docs_2.13" % "2.8.16" % "docs"
[info] org.scala-lang.modules:scala-async_2.11:0.9.7 -> "org.scala-lang.modules" % "scala-async_2.13" % "0.9.7"
[info] org.scalatest:scalatest:3.2.14:test -> "org.scalatest" % "scalatest_2.13" % "3.2.14" % "test"
[info] com.typesafe.akka:akka-serialization-jackson:2.6.20:test -> "com.typesafe.akka" % "akka-serialization-jackson_2.13" % "2.6.20" % "test"
[info] com.typesafe.play:filters-helpers:2.8.16 -> "com.typesafe.play" % "filters-helpers_2.13" % "2.8.16"
[info] com.lucidchart:scalafmt-impl_2.12:1.16-1.5:scalafmt -> "com.lucidchart" % "scalafmt-impl_2.13" % "1.16-1.5" % "scalafmt"
[info] com.typesafe.akka:akka-actor-typed:2.6.20:test -> "com.typesafe.akka" % "akka-actor-typed_2.13" % "2.6.20" % "test"
[success] Total time