From d1cccb61f3a6be985c203c66f0fc11c2b5481cc4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C4=99drzej=20Rochala?= <48657087+rochala@users.noreply.github.com> Date: Wed, 14 Feb 2024 16:01:56 +0100 Subject: [PATCH] Add scala 3.3.2 and 3.4.0 (#1048) --- .../scala/com.olegych.scastie.api/ScalaVersions.scala | 4 ++-- .../components/VersionSelector.scala | 9 ++++++++- project/SbtShared.scala | 10 +++++----- 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/api/src/main/scala/com.olegych.scastie.api/ScalaVersions.scala b/api/src/main/scala/com.olegych.scastie.api/ScalaVersions.scala index f177c2b04..3b756cdf5 100644 --- a/api/src/main/scala/com.olegych.scastie.api/ScalaVersions.scala +++ b/api/src/main/scala/com.olegych.scastie.api/ScalaVersions.scala @@ -5,8 +5,8 @@ import com.olegych.scastie.buildinfo.BuildInfo object ScalaVersions { def suggestedScalaVersions(tpe: ScalaTargetType): List[String] = { val versions = tpe match { - case ScalaTargetType.Scala3 => List(BuildInfo.stableLTS, BuildInfo.latestLTS, BuildInfo.latestNext) - case ScalaTargetType.JS => List(BuildInfo.stableLTS, BuildInfo.latest213, BuildInfo.latest212) + case ScalaTargetType.Scala3 => List(BuildInfo.stableLTS, BuildInfo.stableNext) + case ScalaTargetType.JS => List(BuildInfo.stableLTS, BuildInfo.stableNext, BuildInfo.latest213, BuildInfo.latest212) case _ => List(BuildInfo.latest213, BuildInfo.latest212) } versions.distinct diff --git a/client/src/main/scala/com.olegych.scastie.client/components/VersionSelector.scala b/client/src/main/scala/com.olegych.scastie.client/components/VersionSelector.scala index ef3b8241c..d4122525f 100644 --- a/client/src/main/scala/com.olegych.scastie.client/components/VersionSelector.scala +++ b/client/src/main/scala/com.olegych.scastie.client/components/VersionSelector.scala @@ -4,6 +4,7 @@ import com.olegych.scastie.api._ import japgolly.scalajs.react._ import vdom.all._ +import com.olegych.scastie.buildinfo.BuildInfo case class VersionSelector(scalaTarget: ScalaTarget, onChange: ScalaTarget ~=> Callback) { @inline def render: VdomElement = VersionSelector.versionSelectorHook(this) @@ -24,6 +25,12 @@ object VersionSelector { case n: ScalaTarget.Native => ScalaTarget.Native(n.scalaNativeVersion, n.scalaVersion) } + def renderRecommended3Versions(scalaVersion: String) = { + if (scalaVersion == BuildInfo.stableLTS) s"$scalaVersion LTS" + else if (scalaVersion == BuildInfo.stableNext) s"$scalaVersion Next" + else scalaVersion + } + ul(cls := "suggestedVersions")( ScalaVersions .suggestedScalaVersions(props.scalaTarget.targetType) @@ -37,7 +44,7 @@ object VersionSelector { onChange --> props.onChange(versionSelectors(suggestedVersion)), checked := props.scalaTarget.scalaVersion == suggestedVersion ), - label(`for` := s"scala-$suggestedVersion", cls := "radio", role := "button", suggestedVersion) + label(`for` := s"scala-$suggestedVersion", cls := "radio", role := "button", renderRecommended3Versions(suggestedVersion)) ) } .toTagMod, diff --git a/project/SbtShared.scala b/project/SbtShared.scala index b737f6404..1beffe754 100644 --- a/project/SbtShared.scala +++ b/project/SbtShared.scala @@ -23,10 +23,10 @@ object SbtShared { val latest212 = "2.12.18" val latest213 = "2.13.12" val old3 = "3.0.2" - val stableLTS = "3.3.1" - val stableNext = "???" - val latestLTS = "3.3.2-RC3" - val latestNext = "3.4.0-RC4" + val stableLTS = "3.3.2" + val stableNext = "3.4.0" + val latestLTS = "3.3.2" + val latestNext = "3.4.1-RC1" val js = latest213 val sbt = latest212 val jvm = latest213 @@ -152,7 +152,7 @@ object SbtShared { "latest212" -> ScalaVersions.latest212, "latest213" -> ScalaVersions.latest213, "stableLTS" -> ScalaVersions.stableLTS, - // "stableNext" -> ScalaVersions.stableNext, + "stableNext" -> ScalaVersions.stableNext, "latestLTS" -> ScalaVersions.latestLTS, "latestNext" -> ScalaVersions.latestNext, "jsScalaVersion" -> ScalaVersions.js,