Skip to content

Scala.js standard library for 3.0.0-RC1 depends on nonbootstrapped self #11709

Closed
@clhodapp

Description

@clhodapp

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.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions