@@ -1417,7 +1417,7 @@ object Build {
14171417 // =================================== SCALA STANDARD LIBRARY ===================================
14181418 // ==============================================================================================
14191419
1420- /* Configuration of the org.scala-lang:scala-library:*.**.**-nonboostrapped project */
1420+ /* Configuration of the org.scala-lang:scala-library:*.**.**-nonbootstrapped project */
14211421 lazy val `scala-library-nonbootstrapped` = project.in(file(" library" ))
14221422 .enablePlugins(ScalaLibraryPlugin )
14231423 .settings(
@@ -1450,7 +1450,42 @@ object Build {
14501450 target := target.value / " scala-library-nonbootstrapped" ,
14511451 )
14521452
1453- /* Configuration of the org.scala-lang:scala-library:*.**.**-boostrapped project */
1453+ /* Configuration of the org.scala-lang:scala3-library_3:*.**.**-nonbootstrapped project */
1454+ lazy val `scala3-library-nonbootstrapped` = project.in(file(" library" ))
1455+ .dependsOn(`scala-library-nonbootstrapped`)
1456+ .settings(
1457+ name := " scala3-library-nonbootstrapped" ,
1458+ moduleName := " scala3-library" ,
1459+ version := dottyNonBootstrappedVersion,
1460+ versionScheme := Some (" semver-spec" ),
1461+ scalaVersion := referenceVersion, // nonbootstrapped artifacts are compiled with the reference compiler (already officially published)
1462+ crossPaths := true , // org.scala-lang:scala3-library has a crosspath
1463+ // Do not depend on the `org.scala-lang:scala3-library` automatically, we manually depend on `scala-library-nonbootstrapped`
1464+ autoScalaLibrary := false ,
1465+ // Drop all the scala tools in this project, so we can never generate any bytecode, or documentation
1466+ managedScalaInstance := false ,
1467+ // This Project only has a dependency to `org.scala-lang:scala-library:*.**.**-nonbootstrapped`
1468+ Compile / sources := Seq (),
1469+ Compile / resources := Seq (),
1470+ Test / sources := Seq (),
1471+ Test / resources := Seq (),
1472+ // Bridge the common task to call the ones of the actual library project
1473+ Compile / compile := (`scala-library-nonbootstrapped` / Compile / compile).value,
1474+ Compile / doc := (`scala-library-nonbootstrapped` / Compile / doc).value,
1475+ Compile / run := (`scala-library-nonbootstrapped` / Compile / run).evaluated,
1476+ Test / compile := (`scala-library-nonbootstrapped` / Test / compile).value,
1477+ Test / doc := (`scala-library-nonbootstrapped` / Test / doc).value,
1478+ Test / run := (`scala-library-nonbootstrapped` / Test / run).evaluated,
1479+ // Only publish compilation artifacts, no test artifacts
1480+ Compile / publishArtifact := true ,
1481+ Test / publishArtifact := false ,
1482+ // Do not allow to publish this project for now
1483+ publish / skip := true ,
1484+ // Project specific target folder. sbt doesn't like having two projects using the same target folder
1485+ target := target.value / " scala3-library-nonbootstrapped" ,
1486+ )
1487+
1488+ /* Configuration of the org.scala-lang:scala-library:*.**.**-bootstrapped project */
14541489 lazy val `scala-library-bootstrapped` = project.in(file(" library" ))
14551490 .enablePlugins(ScalaLibraryPlugin )
14561491 .settings(
@@ -1518,6 +1553,43 @@ object Build {
15181553 },
15191554 )
15201555
1556+ /* Configuration of the org.scala-lang:scala3-library_3:*.**.**-bootstrapped project */
1557+ lazy val `scala3-library-bootstrapped-new` = project.in(file(" library" ))
1558+ .dependsOn(`scala-library-bootstrapped`)
1559+ .settings(
1560+ name := " scala3-library-bootstrapped" ,
1561+ moduleName := " scala3-library" ,
1562+ version := dottyVersion,
1563+ versionScheme := Some (" semver-spec" ),
1564+ // sbt defaults to scala 2.12.x and metals will report issues as it doesn't consider the project a scala 3 project
1565+ // (not the actual version we use to compile the project)
1566+ scalaVersion := referenceVersion,
1567+ crossPaths := true , // org.scala-lang:scala3-library has a crosspath
1568+ // Do not depend on the `org.scala-lang:scala3-library` automatically, we manually depend on `scala-library-bootstrapped`
1569+ autoScalaLibrary := false ,
1570+ // Drop all the scala tools in this project, so we can never generate any bytecode, or documentation
1571+ managedScalaInstance := false ,
1572+ // This Project only has a dependency to `org.scala-lang:scala-library:*.**.**-bootstrapped`
1573+ Compile / sources := Seq (),
1574+ Compile / resources := Seq (),
1575+ Test / sources := Seq (),
1576+ Test / resources := Seq (),
1577+ // Bridge the common task to call the ones of the actual library project
1578+ Compile / compile := (`scala-library-bootstrapped` / Compile / compile).value,
1579+ Compile / doc := (`scala-library-bootstrapped` / Compile / doc).value,
1580+ Compile / run := (`scala-library-bootstrapped` / Compile / run).evaluated,
1581+ Test / compile := (`scala-library-bootstrapped` / Test / compile).value,
1582+ Test / doc := (`scala-library-bootstrapped` / Test / doc).value,
1583+ Test / run := (`scala-library-bootstrapped` / Test / run).evaluated,
1584+ // Only publish compilation artifacts, no test artifacts
1585+ Compile / publishArtifact := true ,
1586+ Test / publishArtifact := false ,
1587+ // Do not allow to publish this project for now
1588+ publish / skip := true ,
1589+ // Project specific target folder. sbt doesn't like having two projects using the same target folder
1590+ target := target.value / " scala3-library-bootstrapped" ,
1591+ )
1592+
15211593 def dottyLibrary (implicit mode : Mode ): Project = mode match {
15221594 case NonBootstrapped => `scala3-library`
15231595 case Bootstrapped => `scala3-library-bootstrapped`
0 commit comments