From 92f69e36a37aaf1eb48642704e726e5b8c0f1cfd Mon Sep 17 00:00:00 2001 From: xuwei-k <6b656e6a69@gmail.com> Date: Wed, 7 Jan 2026 15:20:55 +0900 Subject: [PATCH 1/3] Update scalacOptions for Scala 3.8 --- .../typelevel/sbt/TypelevelSettingsPlugin.scala | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/settings/src/main/scala/org/typelevel/sbt/TypelevelSettingsPlugin.scala b/settings/src/main/scala/org/typelevel/sbt/TypelevelSettingsPlugin.scala index 9843c00d..5969dd65 100644 --- a/settings/src/main/scala/org/typelevel/sbt/TypelevelSettingsPlugin.scala +++ b/settings/src/main/scala/org/typelevel/sbt/TypelevelSettingsPlugin.scala @@ -279,6 +279,8 @@ object TypelevelSettingsPlugin extends AutoPlugin { ) } + val log = streams.value.log + scalaVersion.value match { case V(V(2, 11, _, _)) => oldTargetOption @@ -296,7 +298,20 @@ object TypelevelSettingsPlugin extends AutoPlugin { releaseOption case V(V(3, minor, _, _)) if minor >= 2 => - javaOutputVersionOption + if (minor <= 7) { + javaOutputVersionOption + } else { + // https://www.scala-lang.org/news/next-scala-lts-jdk.html + tlJdkRelease.value match { + case Some(n) if n >= 17 => + javaOutputVersionOption + case Some(n) => + log.warn(s"tlJdkRelease is ${n} but scala ${scalaVersion.value} require JDK 17") + Seq.empty + case None => + Seq.empty + } + } case _ => Seq.empty From 50be1c2ccee28337c3da888609f882425d576f5e Mon Sep 17 00:00:00 2001 From: Noel Welsh Date: Mon, 18 May 2026 10:30:31 +0100 Subject: [PATCH 2/3] Set -java-output-version to 17 for Scala 3.8+ This is done silently, as chosing Scala 3.8+ is opting into JDK 17+ --- .../scala/org/typelevel/sbt/TypelevelSettingsPlugin.scala | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/settings/src/main/scala/org/typelevel/sbt/TypelevelSettingsPlugin.scala b/settings/src/main/scala/org/typelevel/sbt/TypelevelSettingsPlugin.scala index 5969dd65..5789ac41 100644 --- a/settings/src/main/scala/org/typelevel/sbt/TypelevelSettingsPlugin.scala +++ b/settings/src/main/scala/org/typelevel/sbt/TypelevelSettingsPlugin.scala @@ -279,8 +279,6 @@ object TypelevelSettingsPlugin extends AutoPlugin { ) } - val log = streams.value.log - scalaVersion.value match { case V(V(2, 11, _, _)) => oldTargetOption @@ -305,9 +303,8 @@ object TypelevelSettingsPlugin extends AutoPlugin { tlJdkRelease.value match { case Some(n) if n >= 17 => javaOutputVersionOption - case Some(n) => - log.warn(s"tlJdkRelease is ${n} but scala ${scalaVersion.value} require JDK 17") - Seq.empty + case Some(_) => + Seq("-java-output-version", "17") case None => Seq.empty } From 18b2eee86fc0d54e9c11644326a3df3ede6658d0 Mon Sep 17 00:00:00 2001 From: Noel Welsh Date: Wed, 20 May 2026 10:45:41 +0100 Subject: [PATCH 3/3] Clean up version matching cases --- .../sbt/TypelevelSettingsPlugin.scala | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/settings/src/main/scala/org/typelevel/sbt/TypelevelSettingsPlugin.scala b/settings/src/main/scala/org/typelevel/sbt/TypelevelSettingsPlugin.scala index 5789ac41..eba79cf1 100644 --- a/settings/src/main/scala/org/typelevel/sbt/TypelevelSettingsPlugin.scala +++ b/settings/src/main/scala/org/typelevel/sbt/TypelevelSettingsPlugin.scala @@ -295,19 +295,18 @@ object TypelevelSettingsPlugin extends AutoPlugin { case V(V(3, minor, _, _)) if minor <= 1 => releaseOption - case V(V(3, minor, _, _)) if minor >= 2 => - if (minor <= 7) { - javaOutputVersionOption - } else { - // https://www.scala-lang.org/news/next-scala-lts-jdk.html - tlJdkRelease.value match { - case Some(n) if n >= 17 => - javaOutputVersionOption - case Some(_) => - Seq("-java-output-version", "17") - case None => - Seq.empty - } + case V(V(3, minor, _, _)) if minor >= 2 && minor <= 7 => + javaOutputVersionOption + + case V(V(3, minor, _, _)) if minor > 7 => + // https://www.scala-lang.org/news/next-scala-lts-jdk.html + tlJdkRelease.value match { + case Some(n) if n >= 17 => + javaOutputVersionOption + case Some(_) => + Seq("-java-output-version", "17") + case None => + Seq.empty } case _ =>