Also generate Scala 3 scaladoc (requires tasty files) #249
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Scala 3 scaladoc ("dottydoc") does not support
.scala
files at the moment (unless Scala 2 scaladoc which does). It requires.tasty
and/or.jar
files to generate the scala doc from. That means, when on Scala 3, we need to trigger a full compilation to generate those.tasty
files.See
However, currently we don't really support multiple api docs on the Play Framework website. When you click on "Scala" next to "Browse APIs" you get taken to
/api/scala/index.html
(like not/scala_2.13/
or similiar). That means we probably want to modify the website to have a "Scala 2" and "Scala 3" link. It's also obvious from the releasing docs that we currently only copy over one scaladoc version to the generated docs (See "Step 3 - Release omnidoc")To be honest, I am not sure if this omnidoc thing is a good thing for long term. We already discussed we should at some point change the documentation and website setup. I think when doing that we should get rid of omnidoc and find another way to publish (api) docs, e.g. let each project just generate and push it's scaladoc to a github folder itself instead of gathering it at one place like omnidoc does. Also it's quite some sbt kung-fu...
Note for myself so I don't forget for next time in case I ran into troubles again:
The scaladoc will be generated in
target/scala-XXX/omnidoc/scaladoc/
Using
sbt ++X.X --debug scaladoc
displays all the arguments that get passed to the scaladoc command, which makes it quite easy to rebuild the command ourselves to run it standalone for testing. (I also had to use-mem 4096
because of out of memory a couple of times with Scala 3).