Skip to content

Commit 9a8746e

Browse files
authored
Some tweaks to BSP in the build (#24483)
When I pushed #24476 yesterday, metals was still showing me some outdated informations. After a `git clean -xfd` today, I noticed it and went over all the build file again to check for missing `bspEnabled` settings. I also went ahead and updated the `scalaVersion` of each project to reflect the reality as I couldn't do it before having `3.8.0-RC1`.
2 parents 7877f1f + 1ea06a4 commit 9a8746e

File tree

1 file changed

+22
-12
lines changed

1 file changed

+22
-12
lines changed

project/Build.scala

Lines changed: 22 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -981,7 +981,7 @@ object Build {
981981
moduleName := "scala3-staging",
982982
version := dottyVersion,
983983
versionScheme := Some("semver-spec"),
984-
scalaVersion := referenceVersion,
984+
scalaVersion := dottyNonBootstrappedVersion,
985985
crossPaths := true, // org.scala-lang:scala3-staging has a crosspath
986986
autoScalaLibrary := false, // do not add a dependency to stdlib, we depend transitively on the stdlib from `scala3-compiler-bootstrapped`
987987
// Add the source directories for the sbt-bridge (boostrapped)
@@ -995,6 +995,7 @@ object Build {
995995
Test / publishArtifact := false,
996996
publish / skip := false,
997997
// Configure to use the non-bootstrapped compiler
998+
managedScalaInstance := false,
998999
scalaInstance := {
9991000
val externalCompilerDeps = (`scala3-compiler-nonbootstrapped` / Compile / externalDependencyClasspath).value.map(_.data).toSet
10001001

@@ -1035,7 +1036,7 @@ object Build {
10351036
moduleName := "scala3-tasty-inspector",
10361037
version := dottyVersion,
10371038
versionScheme := Some("semver-spec"),
1038-
scalaVersion := referenceVersion,
1039+
scalaVersion := dottyNonBootstrappedVersion,
10391040
crossPaths := true, // org.scala-lang:scala3-tasty-inspector has a crosspath
10401041
autoScalaLibrary := false, // do not add a dependency to stdlib, we depend transitively on the stdlib from `scala3-compiler-bootstrapped`
10411042
// Add the source directories for the sbt-bridge (boostrapped)
@@ -1050,6 +1051,7 @@ object Build {
10501051
Test / publishArtifact := false,
10511052
publish / skip := false,
10521053
// Configure to use the non-bootstrapped compiler
1054+
managedScalaInstance := false,
10531055
scalaInstance := {
10541056
val externalCompilerDeps = (`scala3-compiler-nonbootstrapped` / Compile / externalDependencyClasspath).value.map(_.data).toSet
10551057

@@ -1086,7 +1088,7 @@ object Build {
10861088
moduleName := "scala3-repl",
10871089
version := dottyVersion,
10881090
versionScheme := Some("semver-spec"),
1089-
scalaVersion := referenceVersion,
1091+
scalaVersion := dottyNonBootstrappedVersion,
10901092
crossPaths := true,
10911093
autoScalaLibrary := false,
10921094
// Add the source directories for the sbt-bridge (boostrapped)
@@ -1113,6 +1115,7 @@ object Build {
11131115
"org.virtuslab" % "using_directives" % "1.1.4", // used by the REPL for parsing magic comments
11141116
),
11151117
// Configure to use the non-bootstrapped compiler
1118+
managedScalaInstance := false,
11161119
scalaInstance := {
11171120
val externalCompilerDeps = (`scala3-compiler-nonbootstrapped` / Compile / externalDependencyClasspath).value.map(_.data).toSet
11181121

@@ -1173,6 +1176,7 @@ object Build {
11731176
// with it as a parameter. THIS IS NOT A LEGIT USE CASE OF THE `-usejavacp` FLAG.
11741177
(Compile / run).toTask(" -usejavacp").value
11751178
},
1179+
bspEnabled := false,
11761180
)
11771181

11781182
// ==============================================================================================
@@ -1251,6 +1255,8 @@ object Build {
12511255
Test / doc := (`scala-library-nonbootstrapped` / Test / doc).value,
12521256
Test / run := (`scala-library-nonbootstrapped` / Test / run).evaluated,
12531257
Test / test := (`scala-library-nonbootstrapped` / Test / test).value,
1258+
// Claim that the classes generated by this project are the same as the one we get from `scala-library-nonbootstrapped`
1259+
Compile / classDirectory := (`scala-library-nonbootstrapped` / Compile / classDirectory).value,
12541260
// Packaging configuration of the stdlib
12551261
Compile / packageBin / publishArtifact := true,
12561262
Compile / packageDoc / publishArtifact := false,
@@ -1261,7 +1267,6 @@ object Build {
12611267
publish / skip := false,
12621268
// Project specific target folder. sbt doesn't like having two projects using the same target folder
12631269
target := target.value / "scala3-library-nonbootstrapped",
1264-
bspEnabled := false,
12651270
)
12661271

12671272
/* Configuration of the org.scala-lang:scala-library:*.**.**-bootstrapped project */
@@ -1281,7 +1286,7 @@ object Build {
12811286
versionScheme := Some("always"),
12821287
// sbt defaults to scala 2.12.x and metals will report issues as it doesn't consider the project a scala 3 project
12831288
// (not the actual version we use to compile the project)
1284-
scalaVersion := referenceVersion,
1289+
scalaVersion := dottyNonBootstrappedVersion,
12851290
crossPaths := false, // org.scala-lang:scala-library doesn't have a crosspath
12861291
autoScalaLibrary := false, // DO NOT DEPEND ON THE STDLIB, IT IS THE STDLIB
12871292
// Add the source directories for the stdlib (non-boostrapped)
@@ -1353,7 +1358,7 @@ object Build {
13531358
versionScheme := Some("semver-spec"),
13541359
// sbt defaults to scala 2.12.x and metals will report issues as it doesn't consider the project a scala 3 project
13551360
// (not the actual version we use to compile the project)
1356-
scalaVersion := referenceVersion,
1361+
scalaVersion := dottyNonBootstrappedVersion,
13571362
crossPaths := true, // org.scala-lang:scala3-library has a crosspath
13581363
// Do not depend on the `org.scala-lang:scala3-library` automatically, we manually depend on `scala-library-bootstrapped`
13591364
autoScalaLibrary := false,
@@ -1371,6 +1376,8 @@ object Build {
13711376
Test / compile := (`scala-library-bootstrapped` / Test / compile).value,
13721377
Test / doc := (`scala-library-bootstrapped` / Test / doc).value,
13731378
Test / run := (`scala-library-bootstrapped` / Test / run).evaluated,
1379+
// Claim that the classes generated by this project are the same as the one we get from `scala-library-bootstrapped`
1380+
Compile / classDirectory := (`scala-library-bootstrapped` / Compile / classDirectory).value,
13741381
// Packaging configuration of the stdlib
13751382
Compile / packageBin / publishArtifact := true,
13761383
Compile / packageDoc / publishArtifact := false,
@@ -1411,7 +1418,7 @@ object Build {
14111418
crossVersion := CrossVersion.disabled,
14121419
// sbt defaults to scala 2.12.x and metals will report issues as it doesn't consider the project a scala 3 project
14131420
// (not the actual version we use to compile the project)
1414-
scalaVersion := referenceVersion,
1421+
scalaVersion := dottyNonBootstrappedVersion,
14151422
// Add the source directories for the stdlib (non-boostrapped)
14161423
Compile / unmanagedSourceDirectories := Seq(baseDirectory.value / "src"),
14171424
Compile / unmanagedSourceDirectories ++=
@@ -1524,7 +1531,7 @@ object Build {
15241531
versionScheme := Some("semver-spec"),
15251532
// sbt defaults to scala 2.12.x and metals will report issues as it doesn't consider the project a scala 3 project
15261533
// (not the actual version we use to compile the project)
1527-
scalaVersion := referenceVersion,
1534+
scalaVersion := dottyNonBootstrappedVersion,
15281535
crossPaths := true, // org.scala-lang:scala3-library_sjs1 has a crosspath
15291536
// Do not depend on the `org.scala-lang:scala3-library` automatically, we manually depend on `scala-library-bootstrapped`
15301537
autoScalaLibrary := false,
@@ -1626,7 +1633,7 @@ object Build {
16261633
moduleName := "tasty-core",
16271634
version := dottyVersion,
16281635
versionScheme := Some("semver-spec"),
1629-
scalaVersion := referenceVersion, // nonbootstrapped artifacts are compiled with the reference compiler (already officially published)
1636+
scalaVersion := dottyNonBootstrappedVersion,
16301637
crossPaths := true, // org.scala-lang:tasty-core has a crosspath
16311638
// sbt shouldn't add stdlib automatically, we depend on `scala3-library-nonbootstrapped`
16321639
autoScalaLibrary := false,
@@ -1649,6 +1656,7 @@ object Build {
16491656
// Project specific target folder. sbt doesn't like having two projects using the same target folder
16501657
target := target.value / "tasty-core-bootstrapped",
16511658
// Configure to use the non-bootstrapped compiler
1659+
managedScalaInstance := false,
16521660
scalaInstance := {
16531661
val externalCompilerDeps = (`scala3-compiler-nonbootstrapped` / Compile / externalDependencyClasspath).value.map(_.data).toSet
16541662

@@ -1696,7 +1704,7 @@ object Build {
16961704
moduleName := "scala3-compiler",
16971705
version := dottyNonBootstrappedVersion,
16981706
versionScheme := Some("semver-spec"),
1699-
scalaVersion := dottyNonBootstrappedVersion, // nonbootstrapped artifacts are compiled with the reference compiler (already officially published)
1707+
scalaVersion := referenceVersion, // nonbootstrapped artifacts are compiled with the reference compiler (already officially published)
17001708
crossPaths := true, // org.scala-lang:scala3-compiler has a crosspath
17011709
// sbt shouldn't add stdlib automatically, we depend on `scala3-library-nonbootstrapped`
17021710
autoScalaLibrary := false,
@@ -1839,7 +1847,7 @@ object Build {
18391847
moduleName := "scala3-compiler",
18401848
version := dottyVersion,
18411849
versionScheme := Some("semver-spec"),
1842-
scalaVersion := referenceVersion, // nonbootstrapped artifacts are compiled with the reference compiler (already officially published)
1850+
scalaVersion := dottyNonBootstrappedVersion,
18431851
crossPaths := true, // org.scala-lang:scala3-compiler has a crosspath
18441852
// sbt shouldn't add stdlib automatically, we depend on `scala3-library-nonbootstrapped`
18451853
autoScalaLibrary := false,
@@ -1990,7 +1998,7 @@ object Build {
19901998
moduleName := "scaladoc",
19911999
version := dottyVersion,
19922000
versionScheme := Some("semver-spec"),
1993-
scalaVersion := referenceVersion, // nonbootstrapped artifacts are compiled with the reference compiler (already officially published)
2001+
scalaVersion := dottyNonBootstrappedVersion,
19942002
crossPaths := true, // org.scala-lang:scaladoc has a crosspath
19952003
// sbt shouldn't add stdlib automatically, we depend on `scala3-library-nonbootstrapped`
19962004
autoScalaLibrary := false,
@@ -2024,6 +2032,7 @@ object Build {
20242032
BuildInfoPlugin.buildInfoScopedSettings(Compile),
20252033
BuildInfoPlugin.buildInfoDefaultSettings,
20262034
// Configure to use the non-bootstrapped compiler
2035+
managedScalaInstance := false,
20272036
scalaInstance := {
20282037
val externalCompilerDeps = (`scala3-compiler-nonbootstrapped` / Compile / externalDependencyClasspath).value.map(_.data).toSet
20292038

@@ -2219,6 +2228,7 @@ object Build {
22192228
Test / fork := false,
22202229

22212230
scalaJSUseMainModuleInitializer := true,
2231+
bspEnabled := false,
22222232
)
22232233

22242234
/** Scala.js test suite.

0 commit comments

Comments
 (0)