-
Notifications
You must be signed in to change notification settings - Fork 1k
[2.x] scaladoc failure when semanticdbEnabled is enabled on scala 2.x projects #8740
Copy link
Copy link
Labels
Description
steps
➜ cat project/build.properties
sbt.version=2.0.0-RC8
➜ cat build.sbt
semanticdbEnabled := true
scalaVersion := "2.12.21"
➜ cat src/main/scala/A.scala
object A
problem
Scaladoc failure
sbt:test> doc
[error] bad option: -P:semanticdb:targetroot:/private/tmp/test/target/out/jvm/scala-2.12.21/test/meta
[error] one error found doc 0s
[error] stack trace is suppressed; run last Compile / doc for the full output
[error] (Compile / doc) Scaladoc generation failed
[error] elapsed time: 1 s, cache 7%, 1 disk cache hit, 13 onsite tasks
sbt:test> last doc
[debug] Getting org.scala-sbt:compiler-bridge_2.12:2.0.0-M11:compile for Scala 2.12.21
[debug] Calling Scaladoc with arguments:
[debug] -d
[debug] /private/tmp/test/target/out/jvm/scala-2.12.21/test/api
[debug] -Xplugin:${CSR_CACHE}/https/repo1.maven.org/maven2/org/scalameta/semanticdb-scalac_2.12.21/4.14.2/semanticdb-scalac_2.12.21-4.14.2.jar
[debug] -Yrangepos
[debug] -P:semanticdb:targetroot:/private/tmp/test/target/out/jvm/scala-2.12.21/test/meta
[debug] -bootclasspath
[debug] /Users/brice.jaglin/Library/Caches/Coursier/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.12.21/scala-library-2.12.21.jar
[debug] -classpath
[debug] dummy_8e2dff45
[debug] /private/tmp/test/src/main/scala/A.scala
[error] bad option: -P:semanticdb:targetroot:/private/tmp/test/target/out/jvm/scala-2.12.21/test/meta
[error] one error found
[error] Scaladoc generation failed
[error] at xsbt.Runner.run(ScaladocBridge.scala:50)
[error] at xsbt.ScaladocBridge.run(ScaladocBridge.scala:21)
[error] at sbt.internal.inc.AnalyzingCompiler.doc(AnalyzingCompiler.scala:154)
[error] at sbt.internal.inc.AnalyzingCompiler.doc(AnalyzingCompiler.scala:133)
[error] at sbt.Defaults$.docTaskSettings$$anonfun$5(Defaults.scala:1997)
[error] at scala.Function1.$anonfun$compose$1(Function1.scala:79)
[error] at scala.Function1.$anonfun$compose$1(Function1.scala:79)
[error] at sbt.std.Transform$$anon$3.work(Transform.scala:79)
[error] at sbt.std.Transform$$anon$3.work(Transform.scala:79)
[error] at sbt.Execute.submit$$anonfun$1$$anonfun$1(Execute.scala:284)
[error] at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:24)
[error] at sbt.Execute.work(Execute.scala:295)
[error] at sbt.Execute.submit$$anonfun$1(Execute.scala:284)
[error] at sbt.ConcurrentRestrictions$$anon$4.$anonfun$2(ConcurrentRestrictions.scala:275)
[error] at sbt.CompletionService$$anon$2.call(CompletionService.scala:75)
[error] at sbt.CompletionService$$anon$2.call(CompletionService.scala:73)
[error] at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:328)
[error] at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:545)
[error] at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:328)
[error] at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090)
[error] at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614)
[error] at java.base/java.lang.Thread.run(Thread.java:1474)
[error] (Compile / doc) Scaladoc generation failed
expectation
No errror, like in sbt 1.x
➜ cat project/build.properties
sbt.version=1.12.2
sbt:test> doc
[info] Main Scala API documentation to /private/tmp/test/target/scala-2.12/api...
model contains 2 documentable templates
[info] Main Scala API documentation successful.
[success] Total time: 1 s, completed 14 Feb 2026, 19:19:25
notes
The error points at the -P:semanticdb flag but I think the real problem is that the plugin that is not properly loaded because CSR_CACHE is not expanded when calling Scaladoc, and thus associated flags are rejected.
Judging by the logs, when it works, CSR_CACHE does get expanded, for example with
docon sbt 1.xcompileon any sbt version
Reactions are currently unavailable