Skip to content

Commit 26758e5

Browse files
committed
SBT: use only one scala 3 and one sbt 2 versions
1 parent 5dbe0e9 commit 26758e5

1 file changed

Lines changed: 9 additions & 11 deletions

File tree

build.sbt

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import scala.util.Properties.isJavaAtLeast
22

33
val scala2 = "2.12.21"
4-
val scala3 = if (isJavaAtLeast("17")) "3.8.3" else "3.7.4"
4+
val scala3 = "3.8.3"
55

66
addCommandAlias("test2", s"++$scala2 plugin/scripted")
77
addCommandAlias("test3", s"++$scala3 plugin/scripted")
@@ -55,6 +55,8 @@ val scalafmtVersion = "3.10.7"
5555
onLoadMessage :=
5656
s"Welcome to sbt-scalafmt ${version.value} (scalafmt $scalafmtVersion)"
5757

58+
def isScala3 = Def.setting(scalaBinaryVersion.value == "3")
59+
5860
lazy val plugin = project.enablePlugins(SbtPlugin, ScriptedPlugin).settings(
5961
moduleName := "sbt-scalafmt",
6062
libraryDependencies ++= List(
@@ -69,19 +71,15 @@ lazy val plugin = project.enablePlugins(SbtPlugin, ScriptedPlugin).settings(
6971
// For compat reasons we have this in here to ensure we are testing against 1.2.8
7072
// We honestly probably don't need to, so if this ever causes issues, rip it out.
7173
pluginCrossBuild / sbtVersion := {
72-
scalaBinaryVersion.value match {
73-
case "2.12" => if (isJavaAtLeast("17")) "1.9.0" else "1.2.8"
74-
case _ => if (isJavaAtLeast("17")) "2.0.0-RC10" else "2.0.0-RC6"
75-
}
74+
if (!isScala3.value) if (isJavaAtLeast("17")) "1.9.0" else "1.2.8"
75+
else if (!isJavaAtLeast("17")) sys.error("Scala 3 requires JDK 17+")
76+
else "2.0.0-RC10"
7677
},
7778
conflictWarning := {
78-
scalaBinaryVersion.value match {
79-
case "3" => ConflictWarning("warn", Level.Warn, false)
80-
case _ => conflictWarning.value
81-
}
79+
if (!isScala3.value) conflictWarning.value
80+
else ConflictWarning("warn", Level.Warn, failOnConflict = false)
8281
},
83-
scalacOptions ++=
84-
{ if (scalaVersion.value.startsWith("3.8.")) Nil else Seq("-release:8") },
82+
scalacOptions += { if (isScala3.value) "-release:17" else "-release:8" },
8583
)
8684

8785
// For some reason, it doesn't work if this is defined in globalSettings in PublishPlugin.

0 commit comments

Comments
 (0)