Skip to content

Commit 07f949a

Browse files
authored
Merge pull request #12771 from adpi2/sbt-1.5.3
Use sbt makeScalaInstance
2 parents 2ea25b5 + bf75812 commit 07f949a

File tree

4 files changed

+20
-70
lines changed

4 files changed

+20
-70
lines changed

project/Bootstrap.scala

-55
This file was deleted.

project/Build.scala

+18-13
Original file line numberDiff line numberDiff line change
@@ -386,15 +386,14 @@ object Build {
386386
val scala3Compiler = (`scala3-compiler` / Compile / packageBin).value
387387

388388
val libraryJars = Array(scala3Library) ++ externalLibraryDeps
389-
val compilerJars = Array(tastyCore, scala3Interfaces, scala3Compiler) ++ (externalCompilerDeps -- externalLibraryDeps)
389+
val compilerJars = Seq(tastyCore, scala3Interfaces, scala3Compiler) ++ (externalCompilerDeps -- externalLibraryDeps)
390390

391-
// should be replaced by sbt.Defaults.makeScalaInstance when released
392-
// See https://github.com/sbt/sbt/pull/6480
393-
Bootstrap.makeScalaInstance(
394-
state.value,
391+
Defaults.makeScalaInstance(
395392
scalaVersion.value,
396393
libraryJars = libraryJars,
397-
compilerJars = compilerJars,
394+
allCompilerJars = compilerJars,
395+
allDocJars = Seq.empty,
396+
state.value,
398397
scalaInstanceTopLoader.value
399398
)
400399
},
@@ -404,16 +403,22 @@ object Build {
404403
// in the `scalaInstance` of the `doc` task which allows us to run
405404
// `scala3-library-bootstrapped/doc` for example.
406405
doc / scalaInstance := {
407-
val externalCompilerDeps = (`scala3-compiler` / Compile / externalDependencyClasspath).value.map(_.data).toSet
408-
val externalScaladocDeps = (LocalProject("scaladoc") / Compile / externalDependencyClasspath).value.map(_.data).toSet
406+
val externalDeps = (LocalProject("scaladoc") / Compile / externalDependencyClasspath).value.map(_.data)
409407
val scalaDoc = (LocalProject("scaladoc") / Compile / packageBin).value
410-
val docJars = Array(scalaDoc) ++ (externalScaladocDeps -- externalCompilerDeps)
411-
412-
Bootstrap.makeDocScalaInstance(
408+
val docJars = Array(scalaDoc) ++ externalDeps
409+
410+
val base = scalaInstance.value
411+
val docScalaInstance = Defaults.makeScalaInstance(
412+
version = base.version,
413+
libraryJars = base.libraryJars,
414+
allCompilerJars = base.compilerJars,
415+
allDocJars = docJars,
413416
state.value,
414-
scalaInstance.value,
415-
docJars
417+
scalaInstanceTopLoader.value
416418
)
419+
// assert that sbt reuses the same compiler class loader
420+
assert(docScalaInstance.loaderCompilerOnly == base.loaderCompilerOnly)
421+
docScalaInstance
417422
},
418423
Compile / doc / scalacOptions ++= scalacOptionsDocSettings
419424
)

project/build.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
sbt.version=1.5.2
1+
sbt.version=1.5.3

project/project/build.sbt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
// Some dependencies are shared between the regular build and the meta-build
2-
sources in Compile += baseDirectory.value / "../Dependencies.scala"
2+
Compile / sources += baseDirectory.value / "../Dependencies.scala"

0 commit comments

Comments
 (0)