From e4d7f043b3d1d66d270c955d8fb4ec130e0b5119 Mon Sep 17 00:00:00 2001 From: Nabil Abdel-Hafeez <7283535+987Nabil@users.noreply.github.com> Date: Fri, 30 Aug 2024 17:04:41 +0200 Subject: [PATCH] Update zio and reactivate native multi threading (#720) --- project/BuildHelper.scala | 16 ++++++++++++++-- project/plugins.sbt | 2 +- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/project/BuildHelper.scala b/project/BuildHelper.scala index eda8731f6..f9f05325c 100644 --- a/project/BuildHelper.scala +++ b/project/BuildHelper.scala @@ -6,6 +6,7 @@ import BuildInfoKeys.* import scalafix.sbt.ScalafixPlugin.autoImport.* import scalanativecrossproject.NativePlatform +import scala.scalanative.build.{ GC, Mode } import scala.scalanative.sbtplugin.ScalaNativePlugin.autoImport.nativeConfig object BuildHelper { @@ -27,7 +28,7 @@ object BuildHelper { val Scala213: String = versions("2.13") val Scala3: String = versions("3.3") - val zioVersion = "2.1.7" + val zioVersion = "2.1.9" val zioJsonVersion = "0.7.2" val zioPreludeVersion = "1.0.0-RC28" val zioOpticsVersion = "0.2.2" @@ -188,7 +189,18 @@ object BuildHelper { baseDirectory.value ) }, - nativeConfig ~= { _.withMultithreading(false) } + nativeConfig ~= { cfg => + val os = System.getProperty("os.name").toLowerCase + // For some unknown reason, we can't run the test suites in debug mode on MacOS + if (os.contains("mac")) cfg.withMode(Mode.releaseFast) + else cfg.withGC(GC.boehm) // See https://github.com/scala-native/scala-native/issues/4032 + }, + scalacOptions += { + if (crossProjectPlatform.value == JVMPlatform) + "-P:scalanative:genStaticForwardersForNonTopLevelObjects" + else "" + }, + Test / fork := crossProjectPlatform.value == JVMPlatform // set fork to `true` on JVM to improve log readability, JS and Native need `false` ) def buildInfoSettings(packageName: String) = Seq( diff --git a/project/plugins.sbt b/project/plugins.sbt index c55a5cc1f..d8ea37172 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -6,7 +6,7 @@ addSbtPlugin("org.portable-scala" % "sbt-scalajs-crossproject" % "1.3.2") addSbtPlugin("com.eed3si9n" % "sbt-buildinfo" % "0.11.0") addSbtPlugin("com.github.sbt" % "sbt-ci-release" % "1.5.12") addSbtPlugin("org.portable-scala" % "sbt-scala-native-crossproject" % "1.3.2") -addSbtPlugin("org.scala-native" % "sbt-scala-native" % "0.5.3") +addSbtPlugin("org.scala-native" % "sbt-scala-native" % "0.5.5") addSbtPlugin("pl.project13.scala" % "sbt-jmh" % "0.4.6") addSbtPlugin("dev.zio" % "zio-sbt-website" % "0.4.0-alpha.22")