playframework / omnidoc

Play aggregated documentation



Omnidoc is an sbt build that adds to sbt's mappings in (Compile, packageBin) to aggregate source code and manuals produced within the Play ecosystem and produce a single deliverable. This must not be confused with Interplay's Omnidoc which simply adds some metadata on the -source.jar artifact of every Play library.

The resulting deliverable includes:

  • manual (also referred to as playdoc)
  • javadoc
  • scaladoc

How it works

Omnidoc defines 5 tasks to:

  1. download -sources.jar and -playdoc.jar artifacts for each dependency
  2. extract the dowloaded -sourcesartifacts into omnidoc/sources/
  3. extract the dowloaded -playdocartifacts into omnidoc/playdoc/
  4. use omnidoc/sources/ to produce omnidoc/javadoc/
  5. use omnidoc/sources/ to produce omnidoc/scaladoc/
  6. package playdoc into play/docs/content
  7. package javadoc into play/docs/content/api/java
  8. package scaladoc into play/docs/content/api/scala

NOTE: all the paths above are relative to target/scala-2.1x/ (for example target/scala-2.12/).