mix doc_shell.build (DocShell v0.1.0)

Copy Markdown View Source

Builds the documentation artifact tree for the current project.

$ mix doc_shell.build

Starts the application, extracts every configured source, and writes the JSON tree to the configured :public_dir and :private_dir. Run it before building assets, and in CI before packaging a release, so the artifacts ship with the version of the code they describe.

Modules

The task documents every module the current application compiled, read from its application spec. That is almost always what you want from the command line — the alternative is listing modules by hand and watching the list rot. It also means the task documents this project only, not its dependencies.

Hosts wanting a different set call DocShell.Build.run/1 directly, from a release task or a script, and pass :modules explicitly. Everything else — guide directories, the notebook base, the OpenAPI adapter — comes from config :doc_shell; see DocShell.Config for the keys and their defaults.

Failure

A source that cannot be read aborts the build with Mix.raise/1 and a non-zero exit status, naming the module or file at fault. Documentation that quietly drops a page is worse than a build that stops, especially in CI where nothing else will notice.