playframework / omnidoc

Play aggregated documentation

GitHub

Omnidoc

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/).