diff --git a/build.sbt b/build.sbt index 78aa27149..b11f9c627 100644 --- a/build.sbt +++ b/build.sbt @@ -33,8 +33,6 @@ lazy val interfaces = project props.put("scala212", scala212) props.put("scala213", scala213) props.put("scala33", scala33) - props.put("scala35", scala35) - props.put("scala36", scala36) props.put("scala37", scala37) props.put("scala3LTS", scala3LTS) props.put("scala3Next", scala3Next) diff --git a/project/Dependencies.scala b/project/Dependencies.scala index b98044f29..706c81af6 100644 --- a/project/Dependencies.scala +++ b/project/Dependencies.scala @@ -8,8 +8,6 @@ object Dependencies { val scala212 = sys.props.getOrElse("scala212.nightly", "2.12.20") val scala213 = sys.props.getOrElse("scala213.nightly", "2.13.16") // remove 2.13.14 hack in RuleSuite when bumping val scala33 = "3.3.6" - val scala35 = "3.5.2" - val scala36 = "3.6.4" val scala37 = "3.7.0" val scala3LTS = scala33 val scala3Next = sys.props.getOrElse("scala3.nightly", scala37) diff --git a/project/Mima.scala b/project/Mima.scala index be59815dc..0fecba16d 100644 --- a/project/Mima.scala +++ b/project/Mima.scala @@ -7,8 +7,10 @@ object Mima { // See https://github.com/lightbend/mima Seq( ProblemFilters.exclude[Problem]("scalafix.internal.*"), - ProblemFilters.exclude[Problem]("scala.meta.internal.*") + ProblemFilters.exclude[Problem]("scala.meta.internal.*"), // Exceptions + ProblemFilters.exclude[DirectMissingMethodProblem]("scalafix.Versions.scala35"), + ProblemFilters.exclude[DirectMissingMethodProblem]("scalafix.Versions.scala36") ) } } diff --git a/project/ScalafixBuild.scala b/project/ScalafixBuild.scala index 084ef6efb..489da0ce1 100644 --- a/project/ScalafixBuild.scala +++ b/project/ScalafixBuild.scala @@ -33,14 +33,13 @@ object ScalafixBuild extends AutoPlugin with GhpagesKeys { // https://github.com/scalameta/scalameta/issues/2485 lazy val coreScalaVersions = Seq(scala212, scala213) - lazy val cliScalaVersions = { - val jdk = System.getProperty("java.specification.version").toDouble - val scala3Versions = - // Scala 3.5 will never support JDK 23 - if (jdk >= 23) Seq(scala33, scala36, scala37) - else Seq(scala33, scala35, scala36, scala37) - (coreScalaVersions ++ scala3Versions :+ scala3Next).distinct - } + lazy val cliScalaVersions = Seq( + scala212, + scala213, + scala33, + scala37, + scala3Next + ).distinct lazy val cliScalaVersionsWithTargets: Seq[(String, TargetAxis)] = cliScalaVersions.map(sv => (sv, TargetAxis(sv))) ++ Seq(scala213, scala212).flatMap { sv => @@ -146,8 +145,6 @@ object ScalafixBuild extends AutoPlugin with GhpagesKeys { "scala212" -> scala212, "scala213" -> scala213, "scala33" -> scala33, - "scala35" -> scala35, - "scala36" -> scala36, "scala37" -> scala37, "scala3LTS" -> scala3LTS, "scala3Next" -> scala3Next, diff --git a/scalafix-cli/src/main/scala/scalafix/internal/interfaces/ScalafixImpl.scala b/scalafix-cli/src/main/scala/scalafix/internal/interfaces/ScalafixImpl.scala index 2e714f977..fb7a6cd96 100644 --- a/scalafix-cli/src/main/scala/scalafix/internal/interfaces/ScalafixImpl.scala +++ b/scalafix-cli/src/main/scala/scalafix/internal/interfaces/ScalafixImpl.scala @@ -37,9 +37,13 @@ final class ScalafixImpl extends Scalafix { override def scala33(): String = Versions.scala33 override def scala35(): String = - Versions.scala35 + throw new java.lang.UnsupportedOperationException( + "Scala 3.5 is no longer supported; the final version supporting it is Scalafix 0.14.x" + ) override def scala36(): String = - Versions.scala36 + throw new java.lang.UnsupportedOperationException( + "Scala 3.6 is no longer supported; the final version supporting it is Scalafix 0.14.x" + ) override def scala37(): String = Versions.scala37 override def scala3LTS(): String = diff --git a/scalafix-interfaces/src/main/java/scalafix/interfaces/Scalafix.java b/scalafix-interfaces/src/main/java/scalafix/interfaces/Scalafix.java index b2dc9c8e1..8d66becdd 100644 --- a/scalafix-interfaces/src/main/java/scalafix/interfaces/Scalafix.java +++ b/scalafix-interfaces/src/main/java/scalafix/interfaces/Scalafix.java @@ -75,14 +75,10 @@ public interface Scalafix { */ String scala33(); - /** - * The Scala 3.5 version in {@link #supportedScalaVersions()} - */ + @Deprecated String scala35(); - /** - * The Scala 3.6 version in {@link #supportedScalaVersions()} - */ + @Deprecated String scala36(); /** @@ -151,18 +147,17 @@ static Scalafix fetchAndClassloadInstance(String requestedScalaVersion, List= 23) cancel("Scala 3.5 is not supported on JDK23+") - val scalafixAPI = Scalafix.fetchAndClassloadInstance("3.5.2", repositories) - assert(scalafixAPI.scalaVersion() == Versions.scala35) - } - - test("classload Scala 3.5 with major.minor version") { - if (jdk >= 23) cancel("Scala 3.5 is not supported on JDK23+") - val scalafixAPI = Scalafix.fetchAndClassloadInstance("3.5", repositories) - assert(scalafixAPI.scalaVersion() == Versions.scala35) - } - test("classload Scala 3 Next with full version") { val scalafixAPI = Scalafix.fetchAndClassloadInstance("3.7.0", repositories) assert(scalafixAPI.scalaVersion() == Versions.scala3Next) diff --git a/scalafix-tests/unit/src/test/scala/scalafix/tests/cli/InterfacesPropertiesSuite.scala b/scalafix-tests/unit/src/test/scala/scalafix/tests/cli/InterfacesPropertiesSuite.scala index 1e2baa35b..f381c041c 100644 --- a/scalafix-tests/unit/src/test/scala/scalafix/tests/cli/InterfacesPropertiesSuite.scala +++ b/scalafix-tests/unit/src/test/scala/scalafix/tests/cli/InterfacesPropertiesSuite.scala @@ -26,8 +26,6 @@ class InterfacesPropertiesSuite extends AnyFunSuite with BeforeAndAfterAll { check("scala212", Versions.scala212) check("scala213", Versions.scala213) check("scala33", Versions.scala33) - check("scala35", Versions.scala35) - check("scala36", Versions.scala36) check("scala37", Versions.scala37) check("scala3LTS", Versions.scala3LTS) check("scala3Next", Versions.scala3Next)