@@ -34,10 +34,11 @@ object ScalafixBuild extends AutoPlugin with GhpagesKeys {
3434 // https://github.com/scalameta/scalameta/issues/2485
3535 lazy val coreScalaVersions = Seq (scala212, scala213)
3636 lazy val cliScalaVersions = {
37- val scala3Versions = Seq (scala33, scala35, scala36, scala37)
37+ val scala3Versions = Seq (scala33, scala35, scala36, scala37, scala38 )
3838 val jdk = System .getProperty(" java.specification.version" ).toDouble
3939 val unsupportedVersions =
4040 if (jdk >= 25 ) Seq (scala212, scala35, scala36)
41+ else if (jdk < 17 ) Seq (scala38)
4142 else Nil
4243 (coreScalaVersions ++ scala3Versions :+ scala3Next)
4344 .diff(unsupportedVersions)
@@ -85,16 +86,21 @@ object ScalafixBuild extends AutoPlugin with GhpagesKeys {
8586 scalaVersion.value.startsWith(" 2.12" )
8687 }
8788 lazy val warnUnused = Def .setting {
88- if (isScala3.value)
89+ val minor = scalaVersion.value.split('.' )(1 ).toInt
90+ if (isScala3.value && minor >= 7 )
91+ Seq (" -Wunused:all" )
92+ else if (isScala3.value)
8993 Seq (
9094 " -Wunused:all" ,
91- " -Wunused:unsafe-warn-patvars" // only needed for <3.7.0
95+ " -Wunused:unsafe-warn-patvars"
9296 )
9397 else if (isScala213.value) Seq (" -Wunused" )
9498 else Seq (" -Ywarn-unused" )
9599 }
96100 lazy val targetJvm = Def .setting {
97- if (isScala3.value) Seq (" -release:8" )
101+ val minor = scalaVersion.value.split('.' )(1 ).toInt
102+ if (isScala3.value && minor >= 8 ) Seq (" -release:17" )
103+ else if (isScala3.value) Seq (" -release:8" )
98104 else if (isScala213.value) Seq (" -release" , " 8" )
99105 else Seq (" -target:jvm-1.8" )
100106 }
@@ -150,6 +156,7 @@ object ScalafixBuild extends AutoPlugin with GhpagesKeys {
150156 " scala35" -> scala35,
151157 " scala36" -> scala36,
152158 " scala37" -> scala37,
159+ " scala38" -> scala38,
153160 " scala3LTS" -> scala3LTS,
154161 " scala3Next" -> scala3Next,
155162 sbtVersion
@@ -241,7 +248,8 @@ object ScalafixBuild extends AutoPlugin with GhpagesKeys {
241248 )
242249
243250 private val PreviousScalaVersion : Map [String , Option [String ]] = Map (
244- scala37 -> Some (" 3.7.3" )
251+ scala37 -> Some (" 3.7.3" ),
252+ scala38 -> None
245253 )
246254
247255 override def buildSettings : Seq [Setting [_]] = List (
0 commit comments