In the Open Community Build for typelevel/spotted-leopards I've seen a strange failures when building docs under 3.4.0-NIGHTLY. Build logs.
One of the reasons of failures were duplicated entries of scala3-library. The error message was as following
object caps does not have a member type Cap while compiling ...
where caps.Cap is the experimental part of Caprese project (Capture Calculus) https://github.com/lampepfl/dotty/blob/15033c7ac8be33a1b94226da3cca3922b53066ce/library/src/scala/caps.scala#L7
Why this symbol was required in building docs is out of the scope of this issue. What's important is the fact the for some reason scala3-library:3.3.0 was present on the classpath when building docs insteead of expected nightly version of stdlib. After poking around I've found the following injected externalDependecies
show coreJVM/unmanagedClasspath
[info] * Attributed(/home/gitpod/.cache/coursier/v1/https/repo1.maven.org/maven2/org/typelevel/scalac-compat-annotation_3/0.1.2/scalac-compat-annotation_3-0.1.2.jar)
[info] * Attributed(/home/gitpod/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala3-library_3/3.3.0/scala3-library_3-3.3.0.jar)
[info] * Attributed(/home/gitpod/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.10/scala-library-2.13.10.jar)
Inspection of unmanaged classpath pointed me to this project:
inspect coreJVM/unmanagedClasspath
...
[info] ProjectRef(uri("file:/workspace/spotted-leopards/"), "coreJVM") / Compile / unmanagedClasspath
[info] Defined at:
[info] (sbt.Classpaths.classpaths) Defaults.scala:2709
[info] (org.typelevel.sbt.TypelevelKernelPlugin.projectSettings) TypelevelKernelPlugin.scala:62
The scala3-library:3.3.0 seems to be injected in here in TypeLevelKernelPlugin
|
Compile / unmanagedClasspath ++= update.value.select(configurationFilter(CompileTime.name)) |
I don't know the purpose of this inject and if it really required. I only want to spot some light on it.
When it comes to failures in the scaladoc I think there might some some bug, because during normal compilation duplicate stdlib entries seems not to be the problems, altough I would try to reproduce it and report to the dotty repo.
In the Open Community Build for typelevel/spotted-leopards I've seen a strange failures when building docs under 3.4.0-NIGHTLY. Build logs.
One of the reasons of failures were duplicated entries of
scala3-library. The error message was as followingwhere
caps.Capis the experimental part of Caprese project (Capture Calculus) https://github.com/lampepfl/dotty/blob/15033c7ac8be33a1b94226da3cca3922b53066ce/library/src/scala/caps.scala#L7Why this symbol was required in building docs is out of the scope of this issue. What's important is the fact the for some reason
scala3-library:3.3.0was present on the classpath when building docs insteead of expected nightly version of stdlib. After poking around I've found the following injected externalDependeciesInspection of unmanaged classpath pointed me to this project:
The
scala3-library:3.3.0seems to be injected in here inTypeLevelKernelPluginsbt-typelevel/kernel/src/main/scala/org/typelevel/sbt/TypelevelKernelPlugin.scala
Line 62 in 076d867
I don't know the purpose of this inject and if it really required. I only want to spot some light on it.
When it comes to failures in the scaladoc I think there might some some bug, because during normal compilation duplicate stdlib entries seems not to be the problems, altough I would try to reproduce it and report to the dotty repo.