Skip to content

Commit b92630a

Browse files
authored
Merge pull request #3093 from Gedochao/update/scala-3.5.0
Update Scala 3 Next to 3.5.0
2 parents 721e28e + e299a44 commit b92630a

File tree

7 files changed

+71
-32
lines changed

7 files changed

+71
-32
lines changed

build.sc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1003,6 +1003,7 @@ trait CliIntegration extends SbtModule with ScalaCliPublishModule with HasTests
10031003
| def scala3Lts = "${Scala.scala3Lts}"
10041004
| def scala3NextRc = "${Scala.scala3NextRc}"
10051005
| def scala3Next = "${Scala.scala3Next}"
1006+
| def scala3NextAnnounced = "${Scala.scala3NextAnnounced}"
10061007
| def defaultScala = "${Scala.defaultUser}"
10071008
| def defaultScalafmtVersion = "${Deps.scalafmtCli.dep.version}"
10081009
| def maxAmmoniteScala212Version = "${Scala.maxAmmoniteScala212Version}"

modules/integration/src/test/scala/scala/cli/integration/RunTestDefinitions.scala

Lines changed: 47 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1967,13 +1967,42 @@ abstract class RunTestDefinitions
19671967
}
19681968
}
19691969

1970-
if (!actualScalaVersion.contains("RC"))
1971-
test("offline mode should fail on missing artifacts") {
1970+
if (!actualScalaVersion.contains("RC")) {
1971+
val actualAnnouncedScalaVersion = actualScalaVersion match {
1972+
case _
1973+
if actualScalaVersion == Constants.scala3Next &&
1974+
Constants.scala3Next != Constants.scala3NextAnnounced =>
1975+
// if the version isn't public yet, Coursier won't be able to install it
1976+
Constants.scala3NextAnnounced
1977+
case s => s
1978+
}
1979+
1980+
test(
1981+
s"offline mode should fail on missing artifacts (with Scala $actualAnnouncedScalaVersion)"
1982+
) {
19721983
// Kill bloop deamon to test scalac fallback
19731984
os.proc(TestUtil.cli, "--power", "bloop", "exit")
19741985
.call(cwd = os.pwd)
19751986

1976-
val depScalaVersion = actualScalaVersion match {
1987+
// ensure extra options use an announced Scala version
1988+
val customExtraOptions: Seq[String] =
1989+
if (
1990+
scalaVersionOpt.isEmpty &&
1991+
Constants.scala3Next != Constants.scala3NextAnnounced
1992+
)
1993+
extraOptions ++ Seq("--scala", actualAnnouncedScalaVersion)
1994+
else if (
1995+
actualScalaVersion == Constants.scala3Next &&
1996+
actualScalaVersion != actualAnnouncedScalaVersion
1997+
)
1998+
extraOptions
1999+
.map {
2000+
case opt if opt == Constants.scala3Next => actualAnnouncedScalaVersion
2001+
case opt => opt
2002+
}
2003+
else extraOptions
2004+
2005+
val depScalaVersion = actualAnnouncedScalaVersion match {
19772006
case sv if sv.startsWith("2.12") => "2.12"
19782007
case sv if sv.startsWith("2.13") => "2.13"
19792008
case _ => "3"
@@ -2008,7 +2037,7 @@ abstract class RunTestDefinitions
20082037
TestUtil.cli,
20092038
"--power",
20102039
"NoDeps.scala",
2011-
extraOptions,
2040+
customExtraOptions,
20122041
"--offline",
20132042
"--cache",
20142043
cachePath.toString
@@ -2020,19 +2049,23 @@ abstract class RunTestDefinitions
20202049
expect(emptyCacheWalkSize == os.walk(cachePath).size)
20212050

20222051
// Download the artifacts for scala
2023-
os.proc(TestUtil.cs, "install", s"scala:$actualScalaVersion")
2052+
os.proc(TestUtil.cs, "install", s"scala:$actualAnnouncedScalaVersion")
20242053
.call(cwd = root, env = extraEnv)
2025-
os.proc(TestUtil.cs, "install", s"scalac:$actualScalaVersion")
2054+
os.proc(TestUtil.cs, "install", s"scalac:$actualAnnouncedScalaVersion")
20262055
.call(cwd = root, env = extraEnv)
2027-
(if (actualScalaVersion.startsWith("3")) Some("scala3-sbt-bridge")
2056+
(if (actualAnnouncedScalaVersion.startsWith("3")) Some("scala3-sbt-bridge")
20282057
else if (
2029-
actualScalaVersion.startsWith("2.13.") &&
2030-
actualScalaVersion.coursierVersion >= "2.13.12".coursierVersion
2058+
actualAnnouncedScalaVersion.startsWith("2.13.") &&
2059+
actualAnnouncedScalaVersion.coursierVersion >= "2.13.12".coursierVersion
20312060
)
20322061
Some("scala2-sbt-bridge")
20332062
else None)
20342063
.foreach { bridgeArtifactName =>
2035-
os.proc(TestUtil.cs, "fetch", s"org.scala-lang:$bridgeArtifactName:$actualScalaVersion")
2064+
os.proc(
2065+
TestUtil.cs,
2066+
"fetch",
2067+
s"org.scala-lang:$bridgeArtifactName:$actualAnnouncedScalaVersion"
2068+
)
20362069
.call(cwd = root, env = extraEnv)
20372070
}
20382071

@@ -2046,7 +2079,7 @@ abstract class RunTestDefinitions
20462079
TestUtil.cli,
20472080
"--power",
20482081
"NoDeps.scala",
2049-
extraOptions,
2082+
customExtraOptions,
20502083
"--offline",
20512084
"--cache",
20522085
cachePath.toString,
@@ -2076,7 +2109,7 @@ abstract class RunTestDefinitions
20762109
"--power",
20772110
cliOption,
20782111
"WithDeps.scala",
2079-
extraOptions,
2112+
customExtraOptions,
20802113
"--cache",
20812114
cachePath.toString
20822115
)
@@ -2098,7 +2131,7 @@ abstract class RunTestDefinitions
20982131
TestUtil.cli,
20992132
"--power",
21002133
"WithDeps.scala",
2101-
extraOptions,
2134+
customExtraOptions,
21022135
"--offline",
21032136
"--cache",
21042137
cachePath.toString,
@@ -2118,6 +2151,7 @@ abstract class RunTestDefinitions
21182151
expect(withDependencyCacheWalkSize == os.walk(cachePath).size)
21192152
}
21202153
}
2154+
}
21212155

21222156
test("JVM id is printed with compilation info correctly") {
21232157
val msg = "Hello"

project/deps.sc

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,10 @@ object Scala {
77
def scala213 = "2.13.14"
88
def runnerScala3 = "3.0.2" // the newest version that is compatible with all Scala 3.x versions
99
def scala3LtsPrefix = "3.3" // used for the LTS version tags
10-
def scala3Lts = s"$scala3LtsPrefix.3" // the LTS version currently used in the build
11-
def scala3Next = "3.4.2" // the newest/next version of Scala
12-
def scala3NextRc = "3.5.0-RC7" // the latest RC version of Scala Next
10+
def scala3Lts = s"$scala3LtsPrefix.3" // the LTS version currently used in the build
11+
def scala3Next = "3.5.0" // the newest/next version of Scala
12+
def scala3NextAnnounced = "3.4.2" // the newest/next version of Scala that's been announced
13+
def scala3NextRc = "3.5.0-RC7" // the latest RC version of Scala Next
1314

1415
// The Scala version used to build the CLI itself.
1516
def defaultInternal = sys.props.get("scala.version.internal").getOrElse(scala3Lts)
@@ -38,19 +39,21 @@ object Scala {
3839
val max31 = 3
3940
val max32 = 2
4041
val max33 = patchVer(scala3Lts)
41-
val max34 = patchVer(scala3Next)
42+
val max34 = 3
43+
val max35 = patchVer(scala3Next)
4244
(8 until max212).map(i => s"2.12.$i") ++ Seq(scala212) ++
4345
(0 until max213).map(i => s"2.13.$i") ++ Seq(scala213) ++
4446
(0 to max30).map(i => s"3.0.$i") ++
4547
(0 to max31).map(i => s"3.1.$i") ++
4648
(0 to max32).map(i => s"3.2.$i") ++
47-
(0 until max33).map(i => s"3.3.$i") ++
48-
(0 until max34).map(i => s"3.4.$i") ++ Seq(scala3Next)
49+
(0 to max33).map(i => s"3.3.$i") ++
50+
(0 to max34).map(i => s"3.4.$i") ++
51+
(0 until max35).map(i => s"3.5.$i") ++ Seq(scala3Next)
4952
}
5053

5154
def maxAmmoniteScala212Version = scala212
5255
def maxAmmoniteScala213Version = scala213
53-
def maxAmmoniteScala3Version = scala3Next
56+
def maxAmmoniteScala3Version = scala3NextAnnounced
5457
lazy val listMaxAmmoniteScalaVersion =
5558
Seq(maxAmmoniteScala212Version, maxAmmoniteScala213Version, maxAmmoniteScala3Version)
5659
lazy val listAllAmmonite = {

website/docs/reference/cli-options.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1533,7 +1533,7 @@ Available in commands:
15331533

15341534
Aliases: `-S`, `--scala`
15351535

1536-
Set the Scala version (3.4.2 by default)
1536+
Set the Scala version (3.5.0 by default)
15371537

15381538
### `--scala-binary-version`
15391539

website/docs/reference/scala-command/cli-options.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -996,7 +996,7 @@ Aliases: `-S`, `--scala`
996996

997997
`MUST have` per Scala Runner specification
998998

999-
Set the Scala version (3.4.2 by default)
999+
Set the Scala version (3.5.0 by default)
10001000

10011001
### `--scala-binary-version`
10021002

website/docs/reference/scala-command/runner-specification.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ Aliases: `-P` ,`--plugin`
9292

9393
**--scala-version**
9494

95-
Set the Scala version (3.4.2 by default)
95+
Set the Scala version (3.5.0 by default)
9696

9797
Aliases: `-S` ,`--scala`
9898

@@ -861,7 +861,7 @@ Aliases: `-P` ,`--plugin`
861861

862862
**--scala-version**
863863

864-
Set the Scala version (3.4.2 by default)
864+
Set the Scala version (3.5.0 by default)
865865

866866
Aliases: `-S` ,`--scala`
867867

@@ -1450,7 +1450,7 @@ Aliases: `-P` ,`--plugin`
14501450

14511451
**--scala-version**
14521452

1453-
Set the Scala version (3.4.2 by default)
1453+
Set the Scala version (3.5.0 by default)
14541454

14551455
Aliases: `-S` ,`--scala`
14561456

@@ -2059,7 +2059,7 @@ Aliases: `-P` ,`--plugin`
20592059

20602060
**--scala-version**
20612061

2062-
Set the Scala version (3.4.2 by default)
2062+
Set the Scala version (3.5.0 by default)
20632063

20642064
Aliases: `-S` ,`--scala`
20652065

@@ -2687,7 +2687,7 @@ Aliases: `-P` ,`--plugin`
26872687

26882688
**--scala-version**
26892689

2690-
Set the Scala version (3.4.2 by default)
2690+
Set the Scala version (3.5.0 by default)
26912691

26922692
Aliases: `-S` ,`--scala`
26932693

@@ -3303,7 +3303,7 @@ Aliases: `-P` ,`--plugin`
33033303

33043304
**--scala-version**
33053305

3306-
Set the Scala version (3.4.2 by default)
3306+
Set the Scala version (3.5.0 by default)
33073307

33083308
Aliases: `-S` ,`--scala`
33093309

@@ -3938,7 +3938,7 @@ Aliases: `-P` ,`--plugin`
39383938

39393939
**--scala-version**
39403940

3941-
Set the Scala version (3.4.2 by default)
3941+
Set the Scala version (3.5.0 by default)
39423942

39433943
Aliases: `-S` ,`--scala`
39443944

@@ -4636,7 +4636,7 @@ Aliases: `-P` ,`--plugin`
46364636

46374637
**--scala-version**
46384638

4639-
Set the Scala version (3.4.2 by default)
4639+
Set the Scala version (3.5.0 by default)
46404640

46414641
Aliases: `-S` ,`--scala`
46424642

@@ -5569,7 +5569,7 @@ Aliases: `-P` ,`--plugin`
55695569

55705570
**--scala-version**
55715571

5572-
Set the Scala version (3.4.2 by default)
5572+
Set the Scala version (3.5.0 by default)
55735573

55745574
Aliases: `-S` ,`--scala`
55755575

website/docs/reference/scala-versions.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,6 @@ it is recommended to update scala-cli.
2424
| 1.2.0 - 1.2.1 | 3.4.0 | 2.13.13 | 2.12.19 |
2525
| 1.2.1 - 1.3.0 | 3.4.1 | 2.13.13 | 2.12.19 |
2626
| 1.3.1 | 3.4.1 | 2.13.14 | 2.12.19 |
27-
| 1.3.2 - current | 3.4.2 | 2.13.14 | 2.12.19 |
27+
| 1.3.2 - 1.4.3 | 3.4.2 | 2.13.14 | 2.12.19 |
28+
| 1.5.0 - current | 3.5.0 | 2.13.14 | 2.12.19 |
2829

0 commit comments

Comments
 (0)