Skip to content

Commit d459b13

Browse files
committed
test and document JDK25 LTS support
1 parent c313ea6 commit d459b13

File tree

5 files changed

+13
-9
lines changed

5 files changed

+13
-9
lines changed

.github/workflows/ci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@ jobs:
1010
fail-fast: false
1111
matrix:
1212
os: ["ubuntu"]
13-
jvm: ["8", "11", "17", "21", "23"]
13+
jvm: ["8", "11", "17", "21", "25"]
1414
include:
1515
- os: windows
16-
jvm: 21
16+
jvm: 25
1717
name: ${{ matrix.os }} / JDK${{ matrix.jvm }}
1818
runs-on: ${{ matrix.os }}-latest
1919
steps:

docs/users/installation.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ title: Installation
88
Scalafix is tested to work with:
99

1010
* **macOS, Linux or Windows**
11-
* **Java LTS (8, 11, 17 or 21)**
11+
* **Java LTS (8, 11, 17, 21 or 25)**
1212
* **Scala @SCALA212@, @SCALA213@, @SCALA3LTS@ LTS or @SCALA3NEXT@**
1313

1414
Note that other setups may work, but could result in unexpected behavior.

project/Dependencies.scala

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import sbt._
55
/* scalafmt: { maxColumn = 140 }*/
66

77
object Dependencies {
8+
// upon bump, remove JDK25 exclusion in cliScalaVersions & in ScalafixSuite
89
val scala212 = sys.props.getOrElse("scala212.nightly", "2.12.20")
910
val scala213 = sys.props.getOrElse("scala213.nightly", "2.13.17")
1011
val scala33 = "3.3.6"

project/ScalafixBuild.scala

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,16 +34,17 @@ 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)
3738
val jdk = System.getProperty("java.specification.version").toDouble
38-
val scala3Versions =
39-
// Scala 3.5 will never support JDK 23
40-
if (jdk >= 23) Seq(scala33, scala36, scala37)
41-
else Seq(scala33, scala35, scala36, scala37)
42-
(coreScalaVersions ++ scala3Versions :+ scala3Next).distinct
39+
val unsupportedVersions =
40+
if (jdk >= 25) Seq(scala212, scala35, scala36)
41+
else Nil
42+
(coreScalaVersions ++ scala3Versions :+ scala3Next)
43+
.diff(unsupportedVersions)
4344
}
4445
lazy val cliScalaVersionsWithTargets: Seq[(String, TargetAxis)] =
4546
cliScalaVersions.map(sv => (sv, TargetAxis(sv))) ++
46-
Seq(scala213, scala212).flatMap { sv =>
47+
cliScalaVersions.intersect(Seq(scala213, scala212)).flatMap { sv =>
4748
def previousVersions(scalaVersion: String): Seq[String] = {
4849
val split = scalaVersion.split('.')
4950
val binaryVersion = split.take(2).mkString(".")

scalafix-tests/integration/src/test/scala/scalafix/tests/interfaces/ScalafixSuite.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,12 +73,14 @@ class ScalafixSuite extends AnyFunSuite {
7373
}
7474

7575
test("classload Scala 2.12 with full version") {
76+
if (jdk >= 25) cancel("Scala 2.12 is not yet supported on JDK25+")
7677
val scalafixAPI =
7778
Scalafix.fetchAndClassloadInstance("2.12.20", repositories)
7879
assert(scalafixAPI.scalaVersion() == Versions.scala212)
7980
}
8081

8182
test("classload Scala 2.12 with major.minor version") {
83+
if (jdk >= 25) cancel("Scala 2.12 is not yet supported on JDK25+")
8284
val scalafixAPI = Scalafix.fetchAndClassloadInstance("2.12", repositories)
8385
assert(scalafixAPI.scalaVersion() == Versions.scala212)
8486
}

0 commit comments

Comments
 (0)