Skip to content

Commit 30b10a4

Browse files
committed
fail hard on EOL Scala 3 minor
1 parent a18fe12 commit 30b10a4

File tree

7 files changed

+26
-38
lines changed

7 files changed

+26
-38
lines changed

build.sbt

-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ lazy val interfaces = project
3333
props.put("scala212", scala212)
3434
props.put("scala213", scala213)
3535
props.put("scala33", scala33)
36-
props.put("scala35", scala35)
3736
props.put("scala36", scala36)
3837
props.put("scala3LTS", scala3LTS)
3938
props.put("scala3Next", scala3Next)

project/Dependencies.scala

-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ object Dependencies {
88
val scala212 = sys.props.getOrElse("scala212.nightly", "2.12.20")
99
val scala213 = sys.props.getOrElse("scala213.nightly", "2.13.15")
1010
val scala33 = "3.3.4"
11-
val scala35 = "3.5.2"
1211
val scala36 = "3.6.2"
1312
val scala3LTS = scala33
1413
val scala3Next = sys.props.getOrElse("scala3.nightly", scala36)

project/ScalafixBuild.scala

-2
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@ object ScalafixBuild extends AutoPlugin with GhpagesKeys {
3737
scala212,
3838
scala213,
3939
scala33,
40-
scala35,
4140
scala36,
4241
scala3Next
4342
).distinct
@@ -146,7 +145,6 @@ object ScalafixBuild extends AutoPlugin with GhpagesKeys {
146145
"scala212" -> scala212,
147146
"scala213" -> scala213,
148147
"scala33" -> scala33,
149-
"scala35" -> scala35,
150148
"scala36" -> scala36,
151149
"scala3LTS" -> scala3LTS,
152150
"scala3Next" -> scala3Next,

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

+3-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,9 @@ final class ScalafixImpl extends Scalafix {
3737
override def scala33(): String =
3838
Versions.scala33
3939
override def scala35(): String =
40-
Versions.scala35
40+
throw new java.lang.UnsupportedOperationException(
41+
"Scala 3.5 is no longer supported; the final version supporting it is Scalafix 0.13.x"
42+
)
4143
override def scala36(): String =
4244
Versions.scala36
4345
override def scala3LTS(): String =

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

+8-10
Original file line numberDiff line numberDiff line change
@@ -75,9 +75,7 @@ public interface Scalafix {
7575
*/
7676
String scala33();
7777

78-
/**
79-
* The Scala 3.5 version in {@link #supportedScalaVersions()}
80-
*/
78+
@Deprecated
8179
String scala35();
8280

8381
/**
@@ -146,16 +144,16 @@ static Scalafix fetchAndClassloadInstance(String requestedScalaVersion, List<Rep
146144
} else if (requestedScalaMajorMinorOrMajorVersion.equals("2.13") ||
147145
requestedScalaMajorMinorOrMajorVersion.equals("2")) {
148146
scalaVersionKey = "scala213";
149-
} else if (requestedScalaMajorMinorOrMajorVersion.equals("3.0") ||
150-
requestedScalaMajorMinorOrMajorVersion.equals("3.1") ||
151-
requestedScalaMajorMinorOrMajorVersion.equals("3.2") ||
152-
requestedScalaMajorMinorOrMajorVersion.equals("3.3")) {
147+
} else if (requestedScalaMajorMinorOrMajorVersion.equals("3.3")) {
153148
scalaVersionKey = "scala33";
154-
} else if (requestedScalaMajorMinorOrMajorVersion.equals("3.5")) {
155-
scalaVersionKey = "scala35";
156149
} else if (requestedScalaMajorMinorOrMajorVersion.equals("3.6")) {
157150
scalaVersionKey = "scala36";
158-
} else if (requestedScalaMajorMinorOrMajorVersion.startsWith("3")) {
151+
} else if (!requestedScalaMajorMinorOrMajorVersion.equals("3.0") &&
152+
!requestedScalaMajorMinorOrMajorVersion.equals("3.1") &&
153+
!requestedScalaMajorMinorOrMajorVersion.equals("3.2") &&
154+
!requestedScalaMajorMinorOrMajorVersion.equals("3.4") &&
155+
!requestedScalaMajorMinorOrMajorVersion.equals("3.5") &&
156+
requestedScalaMajorMinorOrMajorVersion.startsWith("3")) {
159157
scalaVersionKey = "scala3Next";
160158
} else {
161159
throw new IllegalArgumentException("Unsupported scala version " + requestedScalaVersion);

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

+15-22
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@ class ScalafixSuite extends AnyFunSuite {
4444
assert(api.scala212() == Versions.scala212)
4545
assert(api.scala213() == Versions.scala213)
4646
assert(api.scala33() == Versions.scala33)
47-
assert(api.scala35() == Versions.scala35)
4847
assert(api.scala36() == Versions.scala36)
4948
assert(api.scala3LTS() == Versions.scala3LTS)
5049
assert(api.scala3Next() == Versions.scala3Next)
@@ -57,15 +56,24 @@ class ScalafixSuite extends AnyFunSuite {
5756
assert(help.contains("Usage: scalafix"))
5857
}
5958

60-
test("fail to classload Scala 2.11 with full version") {
59+
test("fail to classload EOL versions") {
6160
assertThrows[IllegalArgumentException](
62-
Scalafix.fetchAndClassloadInstance("2.11.0", repositories)
61+
Scalafix.fetchAndClassloadInstance("2.11", repositories)
6362
)
64-
}
65-
66-
test("fail to classload Scala 2.11 with minor version") {
6763
assertThrows[IllegalArgumentException](
68-
Scalafix.fetchAndClassloadInstance("2.11", repositories)
64+
Scalafix.fetchAndClassloadInstance("3.0", repositories)
65+
)
66+
assertThrows[IllegalArgumentException](
67+
Scalafix.fetchAndClassloadInstance("3.1", repositories)
68+
)
69+
assertThrows[IllegalArgumentException](
70+
Scalafix.fetchAndClassloadInstance("3.2", repositories)
71+
)
72+
assertThrows[IllegalArgumentException](
73+
Scalafix.fetchAndClassloadInstance("3.4", repositories)
74+
)
75+
assertThrows[IllegalArgumentException](
76+
Scalafix.fetchAndClassloadInstance("3.5", repositories)
6977
)
7078
}
7179

@@ -96,16 +104,6 @@ class ScalafixSuite extends AnyFunSuite {
96104
assert(scalafixAPI.scalaVersion() == Versions.scala213)
97105
}
98106

99-
test("classload Scala 3 LTS with full pre-LTS version") {
100-
val scalafixAPI = Scalafix.fetchAndClassloadInstance("3.0.0", repositories)
101-
assert(scalafixAPI.scalaVersion() == Versions.scala3LTS)
102-
}
103-
104-
test("classload Scala 3 LTS with major.minor pre-LTS version") {
105-
val scalafixAPI = Scalafix.fetchAndClassloadInstance("3.2", repositories)
106-
assert(scalafixAPI.scalaVersion() == Versions.scala3LTS)
107-
}
108-
109107
test("classload Scala 3 LTS with full LTS version") {
110108
val scalafixAPI = Scalafix.fetchAndClassloadInstance("3.3.4", repositories)
111109
assert(scalafixAPI.scalaVersion() == Versions.scala3LTS)
@@ -121,11 +119,6 @@ class ScalafixSuite extends AnyFunSuite {
121119
assert(scalafixAPI.scalaVersion() == Versions.scala35)
122120
}
123121

124-
test("classload Scala 3.5 with major.minor version") {
125-
val scalafixAPI = Scalafix.fetchAndClassloadInstance("3.5", repositories)
126-
assert(scalafixAPI.scalaVersion() == Versions.scala35)
127-
}
128-
129122
test("classload Scala 3 Next with full version") {
130123
val scalafixAPI = Scalafix.fetchAndClassloadInstance("3.6.2", repositories)
131124
assert(scalafixAPI.scalaVersion() == Versions.scala3Next)

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

-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ class InterfacesPropertiesSuite extends AnyFunSuite with BeforeAndAfterAll {
2626
check("scala212", Versions.scala212)
2727
check("scala213", Versions.scala213)
2828
check("scala33", Versions.scala33)
29-
check("scala35", Versions.scala35)
3029
check("scala36", Versions.scala36)
3130
check("scala3LTS", Versions.scala3LTS)
3231
check("scala3Next", Versions.scala3Next)

0 commit comments

Comments
 (0)