diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3a8284eb4..651696b5c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -10,7 +10,7 @@ jobs: fail-fast: false matrix: os: ["ubuntu"] - jvm: ["8", "11", "17", "20"] + jvm: ["8", "11", "17", "21"] include: - os: windows jvm: 17 diff --git a/docs/users/installation.md b/docs/users/installation.md index 6329bb301..6b6f55ef3 100644 --- a/docs/users/installation.md +++ b/docs/users/installation.md @@ -3,17 +3,13 @@ id: installation title: Installation --- -## Requirements +## Support -**macOS, Linux or Windows**: Scalafix runs on macOS, Linux and Windows. Every -pull request is tested on both Linux and Windows. +**macOS, Linux or Windows** -**Java 8 or Java 11.** +**Java LTS (8, 11, 17 or 21)** -**Scala 2.12 and 2.13** - -**Scala 3.x**: Scala 3 support is experimental and many built-in rules are not -supported. +**Scala 2.12, 2.13 or 3.x** (all rules are not available for Scala 3.x) ## sbt diff --git a/project/Dependencies.scala b/project/Dependencies.scala index 395902318..778d25490 100644 --- a/project/Dependencies.scala +++ b/project/Dependencies.scala @@ -12,11 +12,19 @@ object Dependencies { val scala3 = sys.props.getOrElse("scala3.nightly", "3.3.1") val buildScalaVersions = Seq(scala212, scala213, scala3) - val buildWithTargetVersions: Seq[(String, String)] = - buildScalaVersions.map(sv => (sv, sv)) ++ + val buildWithTargetVersions: Seq[(String, String)] = { + val all = buildScalaVersions.map(sv => (sv, sv)) ++ Seq(scala213, scala212).flatMap(sv => previousVersions(sv).map(prev => (sv, prev))) ++ Seq(scala213, scala212).map(sv => (sv, scala3)) + all.filter { + case (_, v) if System.getProperty("java.version") == "21" => + !Seq("2.12.16", "2.12.17", "2.13.10").contains(v) + case _ => + true + } + } + val bijectionCoreV = "0.9.7" val collectionCompatV = "2.11.0" val coursierV = "2.1.7" @@ -28,7 +36,7 @@ object Dependencies { val metaconfigV = "0.12.0" val nailgunV = "0.9.1" val scalaXmlV = "2.2.0" - val scalametaV = "4.8.12" + val scalametaV = "4.8.13" val scalatestV = "3.2.17" val munitV = "0.7.29"