From 75645c4ff0a2e8e4ec4e5b040d0d24b56d832cb6 Mon Sep 17 00:00:00 2001 From: Jan Boerman Date: Thu, 26 Dec 2024 00:44:04 +0100 Subject: [PATCH] Scala 3 example: upgrade Scala and drop ZIO dependency. --- Scala3Example/pom.xml | 11 +---- .../example/scala3/BukkitRuntime.scala | 49 ------------------- .../example/scala3/ExamplePlugin.scala | 13 +---- 3 files changed, 3 insertions(+), 70 deletions(-) delete mode 100644 Scala3Example/src/main/scala/xyz/janboerman/scalaloader/example/scala3/BukkitRuntime.scala diff --git a/Scala3Example/pom.xml b/Scala3Example/pom.xml index 242486cf..25d69ab7 100644 --- a/Scala3Example/pom.xml +++ b/Scala3Example/pom.xml @@ -12,8 +12,8 @@ Scala3Example - 2.13.12 - 3.3.1 + 2.13.15 + 3.6.2 @@ -112,13 +112,6 @@ 1.20.4-R0.1-SNAPSHOT provided - - - dev.zio - zio_3 - 2.0.2 - provided - diff --git a/Scala3Example/src/main/scala/xyz/janboerman/scalaloader/example/scala3/BukkitRuntime.scala b/Scala3Example/src/main/scala/xyz/janboerman/scalaloader/example/scala3/BukkitRuntime.scala deleted file mode 100644 index fc11dc94..00000000 --- a/Scala3Example/src/main/scala/xyz/janboerman/scalaloader/example/scala3/BukkitRuntime.scala +++ /dev/null @@ -1,49 +0,0 @@ -package xyz.janboerman.scalaloader.example.scala3 - -import org.bukkit.plugin.Plugin -import zio.{Runtime, Executor, ZLayer} -//import zio.internal.Platform -//import zio.ZEnv -//private val syncPlatform: Platform = Platform.fromExecutionContext(syncExecutionContext) -//private val asyncPlatform: Platform = Platform.fromExecutionContext(asyncExecutionContext) - -import java.util.logging.Level -import scala.concurrent.ExecutionContext - -private[scala3] class BukkitRuntime[P <: Plugin](plugin: P) { - - private val syncExecutionContext = new ExecutionContext { - override def execute(runnable: Runnable): Unit = - if plugin.getServer.isPrimaryThread then - runnable.run() - else - plugin.getServer.getScheduler.runTask(plugin, runnable) - - override def reportFailure(cause: Throwable): Unit = - plugin.getLogger.log(Level.SEVERE, "Error caused by synchronous effect", cause) - } - - private val asyncExecutionContext = new ExecutionContext { - override def execute(runnable: Runnable): Unit = - if plugin.getServer.isPrimaryThread then - plugin.getServer.getScheduler.runTaskAsynchronously(plugin, runnable) - else - runnable.run() - - override def reportFailure(cause: Throwable): Unit = - plugin.getLogger.log(Level.SEVERE, "Error caused by asynchronous effect", cause) - } - - val syncExecutor: zio.Executor = Executor.fromExecutionContext(syncExecutionContext) - val asyncExecutor: zio.Executor = Executor.fromExecutionContext(asyncExecutionContext) - - private val syncLayer: ZLayer[Any, Nothing, Unit] = Runtime.setExecutor(syncExecutor) - private val asyncLayer: ZLayer[Any, Nothing, Unit] = Runtime.setExecutor(asyncExecutor) - - given zio.Unsafe = zio.Unsafe.unsafe(unsafe => unsafe) - - val syncRuntime = Runtime.unsafe.fromLayer(layer = syncLayer) - val asyncRuntime = Runtime.unsafe.fromLayer(layer = asyncLayer) - -} - diff --git a/Scala3Example/src/main/scala/xyz/janboerman/scalaloader/example/scala3/ExamplePlugin.scala b/Scala3Example/src/main/scala/xyz/janboerman/scalaloader/example/scala3/ExamplePlugin.scala index 0cacc322..eb678563 100644 --- a/Scala3Example/src/main/scala/xyz/janboerman/scalaloader/example/scala3/ExamplePlugin.scala +++ b/Scala3Example/src/main/scala/xyz/janboerman/scalaloader/example/scala3/ExamplePlugin.scala @@ -3,13 +3,10 @@ package xyz.janboerman.scalaloader.example.scala3 import xyz.janboerman.scalaloader.configurationserializable.runtime.{Codec, RuntimeConversions} import xyz.janboerman.scalaloader.plugin.description.{Api, ApiVersion, Scala, ScalaVersion} import xyz.janboerman.scalaloader.plugin.{ScalaPlugin, ScalaPluginDescription} -import zio.{ZIO, Console} -@Scala(ScalaVersion.v3_2_0) +@Scala(ScalaVersion.v3_6_2) object ExamplePlugin extends ScalaPlugin { - var syncRuntime = new BukkitRuntime(this).syncRuntime - override def onEnable(): Unit = getLogger.info("Hello from Scala 3!") @@ -21,14 +18,6 @@ object ExamplePlugin extends ScalaPlugin { JavaMapTest.test() ScalaMapTest.test() - val fortyTwo: ZIO[Any, Nothing, Int] = ZIO.succeed(42) - val program = for - name <- fortyTwo.map(number => s"Jannyboy${number}") - _ <- Console.printLine(s"Hello $name, welcome to ZIO!") - yield () - syncRuntime.run(program) - - def assertionsEnabled: Boolean = try assert(false)