Documentation generator for OpenLMI =================================== OpenLMI uses Sphinx [1] for documentation of our providers. Documentation is kept close with appropriate provider implementations, that means it is spread across all OpenLMI git repositories. Since each OpenLMI provider has slightly different way how to generate documentation for it, this tool helps to compose the documentation together into one HTML site with all providers and OpenLMI classes. [1]: http://sphinx-doc.org/ Design ------ The 'gendoc' tool is highly tailored to Fedora, as it uses 'mock' tool to create reproducible and untainted chroot with all tools needed to generate the docs. Documentation is always generated from fresh git clone. ./gendoc tool does: - Install all necessary tools to appropriate mock chroot (planuml, dia, ...) - Inside the mock: - Download git repositories of all OpenLMI provider subprojects. - Check out given tag of OpenLMI provider subprojects. - Therefore it's possible to generate docs for e.g. openlmi-storage 0.6.0, openlmi-providers 0.3.0 and openlmi-networking 0.2.0. - "Pre-build" the documentation, i.e. generate all SVG images and other files individually for each provider. - Generate RST files for all classes in MOF files for all providers. - Finally, generate HTML documentation. Usage ----- ./gendoc -r ' Where: = name of MOCK configuration file, without .cfg suffix. Typically 'fedora-devel-x86_64'. = name of tag in openlmi-providers git repository for which is the documentation generated. ./gendoc tool checks out this tag before the documentation is generated. 'master' can be used for current git master head. , = dtto. Example: # initialize the mock (only the 1st. time) mock -r fedora-devel-x86_64 init # Generate doc for specific tags: ./gendoc -r fedora-devel-x86_64 0.3.0 0.6.0 0.2.0 # Generate doc for current git masters: ./gendoc -r fedora-devel-x86_64 master master master