@@ -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 )
0 commit comments