Closed
Description
Compiler version
3.0.0-RC1
Minimized code
build.sbt:
ThisBuild / scalaVersion := "3.0.0-RC1"
lazy val foo =
project
.in(file("."))
.enablePlugins(ScalaJSPlugin)
project/build.properties:
sbt.version=1.4.8
project/plugins.sbt:
addSbtPlugin("ch.epfl.lamp" % "sbt-dotty" % "0.5.3")
addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.5.0")
Output
chris@chris-desktop (direnv: -/home/chris/git/repro)
~/git/repro $ sbt
[info] welcome to sbt 1.4.8 (Oracle Corporation Java 11.0.10)
[info] loading settings for project repro-build from plugins.sbt ...
[info] loading project definition from /home/chris/git/repro/project
[info] loading settings for project foo from build.sbt ...
[info] set current project to foo (in build file:/home/chris/git/repro/)
[info] sbt server started at local:///home/chris/.sbt/1.0/server/955e72bba38244af177c/sock
[info] started sbt server
sbt:foo> print scalaVersion
3.0.0-RC1
sbt:foo> evicted
[warn] Found version conflict(s) in library dependencies; some are suspected to be binary incompatible:
[warn] * org.scala-js:scalajs-library_2.13:1.5.0 is selected over 1.4.0
[warn] +- foo:foo_sjs1_3.0.0-RC1:0.1.0-SNAPSHOT (depends on 1.5.0)
[warn] +- org.scala-lang:scala3-library_sjs1_3.0.0-RC1:3.0.0-RC1 (depends on 1.4.0)
[warn] * org.scala-lang:scala3-library_sjs1_3.0.0-RC1:3.0.0-RC1 is selected over 3.0.0-RC1-nonbootstrapped
[warn] +- foo:foo_sjs1_3.0.0-RC1:0.1.0-SNAPSHOT (depends on 3.0.0-RC1)
[warn] +- org.scala-lang:scala3-library_sjs1_3.0.0-RC1:3.0.0-RC1 (depends on 3.0.0-RC1-nonbootstrapped)
[success] Total time: 1 s, completed Mar 11, 2021, 10:17:57 PM
sbt:foo> dependencyTree
[warn] There may be incompatibilities among your library dependencies; run 'evicted' to see detailed eviction warnings.
[info] foo:foo_sjs1_3.0.0-RC1:0.1.0-SNAPSHOT
[info] +-org.scala-js:scalajs-library_2.13:1.5.0 [S]
[info] +-org.scala-lang:scala3-library_sjs1_3.0.0-RC1:3.0.0-RC1 [S]
[info] +-org.scala-js:scalajs-library_2.13:1.4.0 (evicted by: 1.5.0)
[info] +-org.scala-js:scalajs-library_2.13:1.5.0 [S]
[info] #-org.scala-lang:scala3-library_sjs1_3.0.0-RC1:3.0.0-RC1 [S] (cycle)
[info] +-org.scala-lang:scala3-library_sjs1_3.0.0-RC1:3.0.0-RC1-nonbootstrapped (evicted by: 3.0.0-RC1)
[info]
[success] Total time: 0 s, completed Mar 11, 2021, 10:17:59 PM
sbt:foo>
Expectation
org.scala-lang:scala3-library for Scala.js should not have a dependency on the nonbootstrapped version of itself. It makes for extremely strange eviction warnings and the nonbootstrapped artifact doesn't even seem to be getting published. Ideally (but non-critically), something might be done by either this project, Scala.js, or sbt in order to avoid the eviction warning for scalajs-library.