Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 569d6d5

Browse files
committedDec 23, 2024·
build with and test against Scala 3.6.2
Keep building for Scala 3.5 until the next minor version for backward compatibility.
1 parent 6365c36 commit 569d6d5

File tree

8 files changed

+72
-11
lines changed

8 files changed

+72
-11
lines changed
 

‎build.sbt

+4-1
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,11 @@ lazy val interfaces = project
3030
props.put("scalafixVersion", version.value)
3131
props.put("scalafixStableVersion", stableVersion.value)
3232
props.put("scalametaVersion", scalametaV)
33-
props.put("scala213", scala213)
3433
props.put("scala212", scala212)
34+
props.put("scala213", scala213)
35+
props.put("scala33", scala33)
36+
props.put("scala35", scala35)
37+
props.put("scala36", scala36)
3538
props.put("scala3LTS", scala3LTS)
3639
props.put("scala3Next", scala3Next)
3740
val out =

‎project/Dependencies.scala

+5-2
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,11 @@ import sbt._
77
object Dependencies {
88
val scala212 = sys.props.getOrElse("scala212.nightly", "2.12.20")
99
val scala213 = sys.props.getOrElse("scala213.nightly", "2.13.15")
10-
val scala3Next = sys.props.getOrElse("scala3.nightly", "3.5.2")
11-
val scala3LTS = "3.3.4"
10+
val scala33 = "3.3.4"
11+
val scala35 = "3.5.2"
12+
val scala36 = "3.6.2"
13+
val scala3LTS = scala33
14+
val scala3Next = sys.props.getOrElse("scala3.nightly", scala36)
1215

1316
val bijectionCoreV = "0.9.8"
1417
val collectionCompatV = "2.12.0"

‎project/Mima.scala

+4-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,10 @@ object Mima {
99
ProblemFilters.exclude[Problem]("scalafix.internal.*"),
1010
ProblemFilters.exclude[Problem]("scala.meta.internal.*"),
1111
// Exceptions
12-
ProblemFilters.exclude[DirectMissingMethodProblem]("scalafix.v0.Signature#Self.syntax")
12+
ProblemFilters.exclude[DirectMissingMethodProblem]("scalafix.v0.Signature#Self.syntax"),
13+
ProblemFilters.exclude[ReversedMissingMethodProblem]("scalafix.interfaces.Scalafix.scala33"),
14+
ProblemFilters.exclude[ReversedMissingMethodProblem]("scalafix.interfaces.Scalafix.scala35"),
15+
ProblemFilters.exclude[ReversedMissingMethodProblem]("scalafix.interfaces.Scalafix.scala36")
1316
)
1417
}
1518
}

‎project/ScalafixBuild.scala

+13-2
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,14 @@ object ScalafixBuild extends AutoPlugin with GhpagesKeys {
3333

3434
// https://github.com/scalameta/scalameta/issues/2485
3535
lazy val coreScalaVersions = Seq(scala212, scala213)
36-
lazy val cliScalaVersions = Seq(scala212, scala213, scala3LTS, scala3Next)
36+
lazy val cliScalaVersions = Seq(
37+
scala212,
38+
scala213,
39+
scala33,
40+
scala35,
41+
scala36,
42+
scala3Next
43+
).distinct
3744
lazy val cliScalaVersionsWithTargets: Seq[(String, TargetAxis)] =
3845
cliScalaVersions.map(sv => (sv, TargetAxis(sv))) ++
3946
Seq(scala213, scala212).flatMap { sv =>
@@ -138,6 +145,9 @@ object ScalafixBuild extends AutoPlugin with GhpagesKeys {
138145
"supportedScalaVersions" -> cliScalaVersions,
139146
"scala212" -> scala212,
140147
"scala213" -> scala213,
148+
"scala33" -> scala33,
149+
"scala35" -> scala35,
150+
"scala36" -> scala36,
141151
"scala3LTS" -> scala3LTS,
142152
"scala3Next" -> scala3Next,
143153
sbtVersion
@@ -231,7 +241,8 @@ object ScalafixBuild extends AutoPlugin with GhpagesKeys {
231241
)
232242

233243
private val PreviousScalaVersion: Map[String, String] = Map(
234-
"3.5.2" -> "3.5.1"
244+
"3.5.2" -> "3.5.1",
245+
"3.6.2" -> "3.5.1"
235246
)
236247

237248
override def buildSettings: Seq[Setting[_]] = List(

‎scalafix-cli/src/main/scala/scalafix/internal/interfaces/ScalafixImpl.scala

+6
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,12 @@ final class ScalafixImpl extends Scalafix {
3434
Versions.scala212
3535
override def scala213(): String =
3636
Versions.scala213
37+
override def scala33(): String =
38+
Versions.scala33
39+
override def scala35(): String =
40+
Versions.scala35
41+
override def scala36(): String =
42+
Versions.scala36
3743
override def scala3LTS(): String =
3844
Versions.scala3LTS
3945
override def scala3Next(): String =

‎scalafix-interfaces/src/main/java/scalafix/interfaces/Scalafix.java

+20-1
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,21 @@ public interface Scalafix {
7070
*/
7171
String scala213();
7272

73+
/**
74+
* The Scala 3.3 version in {@link #supportedScalaVersions()}
75+
*/
76+
String scala33();
77+
78+
/**
79+
* The Scala 3.5 version in {@link #supportedScalaVersions()}
80+
*/
81+
String scala35();
82+
83+
/**
84+
* The Scala 3.6 version in {@link #supportedScalaVersions()}
85+
*/
86+
String scala36();
87+
7388
/**
7489
* The Scala 3 LTS version in {@link #supportedScalaVersions()}
7590
*/
@@ -135,7 +150,11 @@ static Scalafix fetchAndClassloadInstance(String requestedScalaVersion, List<Rep
135150
requestedScalaMajorMinorOrMajorVersion.equals("3.1") ||
136151
requestedScalaMajorMinorOrMajorVersion.equals("3.2") ||
137152
requestedScalaMajorMinorOrMajorVersion.equals("3.3")) {
138-
scalaVersionKey = "scala3LTS";
153+
scalaVersionKey = "scala33";
154+
} else if (requestedScalaMajorMinorOrMajorVersion.equals("3.5")) {
155+
scalaVersionKey = "scala35";
156+
} else if (requestedScalaMajorMinorOrMajorVersion.equals("3.6")) {
157+
scalaVersionKey = "scala36";
139158
} else if (requestedScalaMajorMinorOrMajorVersion.startsWith("3")) {
140159
scalaVersionKey = "scala3Next";
141160
} else {

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

+17-4
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,9 @@ class ScalafixSuite extends AnyFunSuite {
4343
assert(api.scalametaVersion() == Versions.scalameta)
4444
assert(api.scala212() == Versions.scala212)
4545
assert(api.scala213() == Versions.scala213)
46+
assert(api.scala33() == Versions.scala33)
47+
assert(api.scala35() == Versions.scala35)
48+
assert(api.scala36() == Versions.scala36)
4649
assert(api.scala3LTS() == Versions.scala3LTS)
4750
assert(api.scala3Next() == Versions.scala3Next)
4851
assert(
@@ -113,13 +116,23 @@ class ScalafixSuite extends AnyFunSuite {
113116
assert(scalafixAPI.scalaVersion() == Versions.scala3LTS)
114117
}
115118

116-
test("classload Scala 3 Next with full post-LTS version") {
117-
val scalafixAPI = Scalafix.fetchAndClassloadInstance("3.4.0", repositories)
118-
assert(scalafixAPI.scalaVersion() == Versions.scala3Next)
119+
test("classload Scala 3.5 with full version") {
120+
val scalafixAPI = Scalafix.fetchAndClassloadInstance("3.5.2", repositories)
121+
assert(scalafixAPI.scalaVersion() == Versions.scala35)
119122
}
120123

121-
test("classload Scala 3 Next with major.minor post-LTS version") {
124+
test("classload Scala 3.5 with major.minor version") {
122125
val scalafixAPI = Scalafix.fetchAndClassloadInstance("3.5", repositories)
126+
assert(scalafixAPI.scalaVersion() == Versions.scala35)
127+
}
128+
129+
test("classload Scala 3 Next with full version") {
130+
val scalafixAPI = Scalafix.fetchAndClassloadInstance("3.6.2", repositories)
131+
assert(scalafixAPI.scalaVersion() == Versions.scala3Next)
132+
}
133+
134+
test("classload Scala 3 Next with major.minor version") {
135+
val scalafixAPI = Scalafix.fetchAndClassloadInstance("3.6", repositories)
123136
assert(scalafixAPI.scalaVersion() == Versions.scala3Next)
124137
}
125138

‎scalafix-tests/unit/src/test/scala/scalafix/tests/cli/InterfacesPropertiesSuite.scala

+3
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,9 @@ class InterfacesPropertiesSuite extends AnyFunSuite with BeforeAndAfterAll {
2525
check("scalametaVersion", Versions.scalameta)
2626
check("scala212", Versions.scala212)
2727
check("scala213", Versions.scala213)
28+
check("scala33", Versions.scala33)
29+
check("scala35", Versions.scala35)
30+
check("scala36", Versions.scala36)
2831
check("scala3LTS", Versions.scala3LTS)
2932
check("scala3Next", Versions.scala3Next)
3033

0 commit comments

Comments
 (0)
Please sign in to comment.