Skip to content

Commit 6612583

Browse files
authored
Merge pull request #563 from lwronski/scala-version
For -S 3.x input use latest release from 3.x versions
2 parents 2c8add7 + 5768906 commit 6612583

File tree

2 files changed

+9
-5
lines changed

2 files changed

+9
-5
lines changed

modules/build/src/main/scala/scala/build/options/BuildOptions.scala

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -284,15 +284,17 @@ final case class BuildOptions(
284284
sv match {
285285
case Some(sv0) =>
286286
val prefix = if (sv0.endsWith(".")) sv0 else sv0 + "."
287-
val matchingVersions = allVersions.filter(_.startsWith(prefix))
287+
val matchingVersions = allVersions.filter(_.startsWith(prefix)).map(Version(_))
288288
if (matchingVersions.isEmpty)
289289
Left(new InvalidBinaryScalaVersionError(sv0))
290290
else {
291291
val validMaxVersions = maxSupportedScalaVersions
292292
.filter(_.repr.startsWith(prefix))
293-
val validMatchingVersions = matchingVersions
294-
.map(Version(_))
295-
.filter(v => validMaxVersions.exists(v <= _))
293+
val validMatchingVersions = {
294+
val filtered = matchingVersions.filter(v => validMaxVersions.exists(v <= _))
295+
if (filtered.isEmpty) matchingVersions
296+
else filtered
297+
}
296298
if (validMatchingVersions.isEmpty)
297299
Left(new UnsupportedScalaVersionError(sv0))
298300
else

modules/build/src/test/scala/scala/build/tests/BuildOptionsTests.scala

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,8 @@ class BuildOptionsTests extends munit.FunSuite {
3535
Some("2.12") -> defaultScala212Version,
3636
Some("2") -> defaultScala213Version,
3737
Some("2.13.2") -> "2.13.2",
38-
Some("3.0.1") -> "3.0.1"
38+
Some("3.0.1") -> "3.0.1",
39+
Some("3.0") -> "3.0.2"
3940
)
4041

4142
for ((prefix, expectedScalaVersion) <- expectedScalaVersions)
@@ -61,6 +62,7 @@ class BuildOptionsTests extends munit.FunSuite {
6162

6263
val expectedScalaConfVersions = Seq(
6364
Some("3") -> "3.0.1",
65+
Some("3.0") -> "3.0.1",
6466
None -> "3.0.1",
6567
Some("2.13") -> "2.13.4",
6668
Some("2.12") -> "2.12.13",

0 commit comments

Comments
 (0)