
This is something that confuses folks and isn't centrally located. So... add it to the devref docs and hope that developers read it. There's tons of detail we can add in the future of course, but this at least clears up some of the common misconceptions that exist currently. Change-Id: Ic5fb8da06d18fac3369a91a525accc75c1d28100
Building the docs
Dependencies
- Sphinx
-
You'll need sphinx (the python one) and if you are using the virtualenv you'll need to install it in the virtualenv specifically so that it can load the cinder modules.
pip install Sphinx
- Graphviz
-
Some of the diagrams are generated using the
dot
language from Graphviz.sudo apt-get install graphviz
Use make
Just type make:
% make
Look in the Makefile for more targets.
Manually
Generate the code.rst file so that Sphinx will pull in our docstrings:
% ./generate_autodoc_index.sh > source/code.rst
Run `sphinx_build`:
% sphinx-build -b html source build/html
Use tox
The easiest way to build the docs and avoid dealing with all dependencies is to let tox prepare a virtualenv and run the build_sphinx target inside the virtualenv:
% cd ..
% tox -e docs
The docs have been built
Check out the build directory to find them. Yay!