Closed nicolasfara closed 1 year ago
Can reproduce the issue with 3.1.2. I also tried with 3.1.3-RC4 with the default site root (./docs
) and the files in docs/_docs
are ignored.
Also, I'm honestly puzzled about the substantial change in behavior between using ./docs
and docs
as the site root. Shouldn't they be the same?
There are few things going on there:
The refactor of YAML format and static site generation was done in 3.1.3. That's why on 3.1.2 the generation fails with exception that looks like YAML parsing error - the format was other then
In the YAML, you've got:
index: index.md
subsection:
- title: Test
So you define a subsection and then in first element of array you provide only title. You need to define also page
property with the path to page. I see that you don't have any other page, so probably you wanted do:
index: index.md
title: Test
but this is the root section so the title is always the name of project.
I don't know why the behavior differs between docs
and ./docs
but I will investigate that. Also, maybe we need to work on error messaging so that they're more useful.
Compiler version
3.1.2
Minimized code
A minimal repo created accoring to the scaladoc documentation. Link to example repo: https://github.com/nicolasfara/scaladoc-test
Output
When
-siteroot
is set to:./docs
thesbt doc
task is successful but the files indocs/_docs/
are ignoreddocs
ordocs/
thesbt doc
task fails with the following exception:Stack trace
```scala [error] java.lang.RuntimeException: java.lang.reflect.InvocationTargetException [error] at xsbt.DottydocRunner.run(DottydocRunner.java:65) [error] at xsbt.ScaladocInterface.run(ScaladocInterface.java:11) [error] at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) [error] at java.base/java.lang.reflect.Method.invoke(Method.java:577) [error] at sbt.internal.inc.AnalyzingCompiler.invoke(AnalyzingCompiler.scala:329) [error] at sbt.internal.inc.AnalyzingCompiler.doc(AnalyzingCompiler.scala:175) [error] at sbt.internal.inc.AnalyzingCompiler.doc(AnalyzingCompiler.scala:133) [error] at sbt.Doc$.$anonfun$scaladoc$1(Doc.scala:52) [error] at sbt.Doc$.$anonfun$scaladoc$1$adapted(Doc.scala:40) [error] at sbt.RawCompileLike$.$anonfun$prepare$1(RawCompileLike.scala:79) [error] at sbt.RawCompileLike$.$anonfun$prepare$1$adapted(RawCompileLike.scala:72) [error] at sbt.RawCompileLike$.$anonfun$cached$4(RawCompileLike.scala:63) [error] at sbt.RawCompileLike$.$anonfun$cached$4$adapted(RawCompileLike.scala:61) [error] at sbt.util.Tracked$.$anonfun$inputChangedW$1(Tracked.scala:219) [error] at sbt.RawCompileLike$.$anonfun$cached$1(RawCompileLike.scala:68) [error] at sbt.RawCompileLike$.$anonfun$cached$1$adapted(RawCompileLike.scala:52) [error] at sbt.Defaults$.$anonfun$docTaskSettings$4(Defaults.scala:2159) [error] at scala.Function1.$anonfun$compose$1(Function1.scala:49) [error] at sbt.internal.util.$tilde$greater.$anonfun$$u2219$1(TypeFunctions.scala:62) [error] at sbt.std.Transform$$anon$4.work(Transform.scala:68) [error] at sbt.Execute.$anonfun$submit$2(Execute.scala:282) [error] at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:23) [error] at sbt.Execute.work(Execute.scala:291) [error] at sbt.Execute.$anonfun$submit$1(Execute.scala:282) [error] at sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:265) [error] at sbt.CompletionService$$anon$2.call(CompletionService.scala:64) [error] at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) [error] at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) [error] at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) [error] at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [error] at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [error] at java.base/java.lang.Thread.run(Thread.java:833) [error] Caused by: java.lang.reflect.InvocationTargetException [error] at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:119) [error] at java.base/java.lang.reflect.Method.invoke(Method.java:577) [error] at xsbt.DottydocRunner.run(DottydocRunner.java:61) [error] at xsbt.ScaladocInterface.run(ScaladocInterface.java:11) [error] at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) [error] at java.base/java.lang.reflect.Method.invoke(Method.java:577) [error] at sbt.internal.inc.AnalyzingCompiler.invoke(AnalyzingCompiler.scala:329) [error] at sbt.internal.inc.AnalyzingCompiler.doc(AnalyzingCompiler.scala:175) [error] at sbt.internal.inc.AnalyzingCompiler.doc(AnalyzingCompiler.scala:133) [error] at sbt.Doc$.$anonfun$scaladoc$1(Doc.scala:52) [error] at sbt.Doc$.$anonfun$scaladoc$1$adapted(Doc.scala:40) [error] at sbt.RawCompileLike$.$anonfun$prepare$1(RawCompileLike.scala:79) [error] at sbt.RawCompileLike$.$anonfun$prepare$1$adapted(RawCompileLike.scala:72) [error] at sbt.RawCompileLike$.$anonfun$cached$4(RawCompileLike.scala:63) [error] at sbt.RawCompileLike$.$anonfun$cached$4$adapted(RawCompileLike.scala:61) [error] at sbt.util.Tracked$.$anonfun$inputChangedW$1(Tracked.scala:219) [error] at sbt.RawCompileLike$.$anonfun$cached$1(RawCompileLike.scala:68) [error] at sbt.RawCompileLike$.$anonfun$cached$1$adapted(RawCompileLike.scala:52) [error] at sbt.Defaults$.$anonfun$docTaskSettings$4(Defaults.scala:2159) [error] at scala.Function1.$anonfun$compose$1(Function1.scala:49) [error] at sbt.internal.util.$tilde$greater.$anonfun$$u2219$1(TypeFunctions.scala:62) [error] at sbt.std.Transform$$anon$4.work(Transform.scala:68) [error] at sbt.Execute.$anonfun$submit$2(Execute.scala:282) [error] at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:23) [error] at sbt.Execute.work(Execute.scala:291) [error] at sbt.Execute.$anonfun$submit$1(Execute.scala:282) [error] at sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:265) [error] at sbt.CompletionService$$anon$2.call(CompletionService.scala:64) [error] at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) [error] at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) [error] at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) [error] at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [error] at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [error] at java.base/java.lang.Thread.run(Thread.java:833) [error] Caused by: com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize value of type `java.util.ArrayListExpectation
I would expect the
sbt doc
task to generate the correct API documentation and render the files contained indocs/_docs
.