fix compiler class loader jars

This commit is contained in:
Adrien Piquerez 2021-06-09 17:21:58 +02:00
parent fabeed2227
commit 75a55a10df
7 changed files with 13 additions and 18 deletions

View File

@ -1182,12 +1182,7 @@ object Defaults extends BuildCommon {
val allJars = libraryJars ++ compilerJars ++ docJars val allJars = libraryJars ++ compilerJars ++ docJars
val libraryLoader = classLoaderCache(libraryJars.toList, jansiExclusionLoader) val libraryLoader = classLoaderCache(libraryJars.toList, jansiExclusionLoader)
val compilerLoader = classLoaderCache( val compilerLoader = classLoaderCache(compilerJars.toList, libraryLoader)
// It should be `compilerJars` but it would break on `3.0.0-M2` because of
// https://github.com/lampepfl/dotty/blob/d932af954ef187d7bdb87500d49ed0ff530bd1e7/sbt-bridge/src/xsbt/CompilerClassLoader.java#L108-L117
allCompilerJars.toList,
libraryLoader
)
val fullLoader = val fullLoader =
if (docJars.isEmpty) compilerLoader if (docJars.isEmpty) compilerLoader
else classLoaderCache(docJars.distinct.toList, compilerLoader) else classLoaderCache(docJars.distinct.toList, compilerLoader)

View File

@ -1,6 +1,6 @@
import xsbti.compile.TastyFiles import xsbti.compile.TastyFiles
ThisBuild / scalaVersion := "3.0.0-M2" ThisBuild / scalaVersion := "3.0.0-M3"
TaskKey[Unit]("check") := { TaskKey[Unit]("check") := {
assert((Compile / auxiliaryClassFiles).value == Seq(TastyFiles.instance)) assert((Compile / auxiliaryClassFiles).value == Seq(TastyFiles.instance))

View File

@ -1,12 +1,12 @@
> check > check
> compile > compile
$ exists target/scala-3.0.0-M2/classes/A.tasty $ exists target/scala-3.0.0-M3/classes/A.tasty
$ exists target/scala-3.0.0-M2/classes/B.tasty $ exists target/scala-3.0.0-M3/classes/B.tasty
$ delete src/main/scala/B.scala $ delete src/main/scala/B.scala
> compile > compile
$ exists target/scala-3.0.0-M2/classes/A.tasty $ exists target/scala-3.0.0-M3/classes/A.tasty
-$ exists target/scala-3.0.0-M2/classes/B.tasty -$ exists target/scala-3.0.0-M3/classes/B.tasty

View File

@ -1,4 +1,4 @@
ThisBuild / scalaVersion := "3.0.0-M2" ThisBuild / scalaVersion := "3.0.0-M3"
lazy val check = taskKey[Unit]("") lazy val check = taskKey[Unit]("")

View File

@ -1,15 +1,15 @@
ThisBuild / scalaVersion := "2.13.4" ThisBuild / scalaVersion := "2.13.6"
ThisBuild / scalacOptions += "-Ytasty-reader" ThisBuild / scalacOptions += "-Ytasty-reader"
lazy val scala3code = project lazy val scala3code = project
.enablePlugins(ScalaJSPlugin) .enablePlugins(ScalaJSPlugin)
.settings(scalaVersion := "3.0.0-M1") .settings(scalaVersion := "3.0.0")
lazy val app = project lazy val app = project
.enablePlugins(ScalaJSPlugin) .enablePlugins(ScalaJSPlugin)
.dependsOn(scala3code) .dependsOn(scala3code)
.settings( .settings(
scalaVersion := "2.13.4", scalaVersion := "2.13.6",
scalacOptions += "-Ytasty-reader", scalacOptions += "-Ytasty-reader",
scalaJSUseMainModuleInitializer := true scalaJSUseMainModuleInitializer := true
) )

View File

@ -1 +1 @@
addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.3.1") addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.6.0")

View File

@ -1,6 +1,6 @@
ThisBuild / scalaVersion := "3.0.0-M1" ThisBuild / scalaVersion := "3.0.0"
lazy val scala213 = "2.13.4" lazy val scala213 = "2.13.6"
lazy val root = (project in file(".")) lazy val root = (project in file("."))
.aggregate(fooApp, fooCore, barApp, barCore) .aggregate(fooApp, fooCore, barApp, barCore)