Skip to content

Commit bd4c68d

Browse files
Use upcoming version when looking at supported Scala version listing
1 parent c24e37c commit bd4c68d

File tree

1 file changed

+19
-2
lines changed

1 file changed

+19
-2
lines changed

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

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -274,9 +274,26 @@ final case class BuildOptions(
274274
case Right(versions) =>
275275
versions.find(_.scalaCliVersion == scalaCliVersion)
276276
.orElse {
277-
val scalaCliVersion0 = Version(scalaCliVersion)
277+
val retainedCliVersion =
278+
if (scalaCliVersion.endsWith("-SNAPSHOT"))
279+
if (scalaCliVersion.contains("-g"))
280+
// version like 0.1.7-30-g51330f19d-SNAPSHOT
281+
scalaCliVersion.takeWhile(_ != '-').split('.') match {
282+
case Array(maj, min, patch) if patch.nonEmpty && patch.forall(_.isDigit) =>
283+
val patch0 = patch.toInt + 1
284+
s"$maj.$min.$patch0"
285+
case _ =>
286+
// shouldn't happen
287+
scalaCliVersion
288+
}
289+
else
290+
// version like 0.1.8-SNAPSHOT
291+
scalaCliVersion.takeWhile(_ != '-')
292+
else
293+
scalaCliVersion
294+
val retainedCliVersion0 = Version(retainedCliVersion)
278295
versions
279-
.filter(_.scalaCliVersion0.compareTo(scalaCliVersion0) <= 0)
296+
.filter(_.scalaCliVersion0.compareTo(retainedCliVersion0) <= 0)
280297
.maxByOption(_.scalaCliVersion0)
281298
}
282299
.map(_.supportedScalaVersions)

0 commit comments

Comments
 (0)