diff --git a/doc/source/conf.py b/doc/source/conf.py new file mode 100644 index 0000000..1787335 --- /dev/null +++ b/doc/source/conf.py @@ -0,0 +1,79 @@ +# -*- coding: utf-8 -*- +# + +# -- General configuration ---------------------------------------------------- + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom ones. +extensions = ['sphinx.ext.autodoc', + 'sphinx.ext.viewcode', + 'oslosphinx', + ] + +wsme_protocols = ['restjson'] + +# autodoc generation is a bit aggressive and a nuisance when doing heavy +# text edit cycles. +# execute "export SPHINX_DEBUG=1" in your terminal to disable + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# The suffix of source filenames. +source_suffix = '.rst' + +# The master toctree document. +master_doc = 'index' + +# General information about the project. +project = u'Ironic Lib' +copyright = u'OpenStack Foundation' + +# The version info for the project you're documenting, acts as replacement for +# |version| and |release|, also used in various other places throughout the +# built documents. +# +# The short X.Y version. +from ironic_lib import version as il_version +# The full version, including alpha/beta/rc tags. +release = il_version.version_info.release_string() +# The short X.Y version. +version = il_version.version_info.version_string() + +# A list of ignored prefixes for module index sorting. +modindex_common_prefix = ['ironic_lib'] + +# If true, '()' will be appended to :func: etc. cross-reference text. +add_function_parentheses = True + +# If true, the current module name will be prepended to all description +# unit titles (such as .. function::). +add_module_names = True + +# The name of the Pygments (syntax highlighting) style to use. +pygments_style = 'sphinx' + +# -- Options for HTML output -------------------------------------------------- + +# The theme to use for HTML and HTML Help pages. Major themes that come with +# Sphinx are currently 'default' and 'sphinxdoc'. +#html_theme_path = ["."] +#html_theme = '_theme' +#html_static_path = ['_static'] + +# Output file base name for HTML help builder. +htmlhelp_basename = '%sdoc' % project + + +# Grouping the document tree into LaTeX files. List of tuples +# (source start file, target name, title, author, documentclass +# [howto/manual]). +latex_documents = [ + ( + 'index', + '%s.tex' % project, + u'%s Documentation' % project, + u'OpenStack Foundation', + 'manual' + ), +] diff --git a/doc/source/index.rst b/doc/source/index.rst new file mode 100644 index 0000000..230de13 --- /dev/null +++ b/doc/source/index.rst @@ -0,0 +1,30 @@ +====================== +Welcome to Ironic-lib! +====================== + +Overview +======== + +Ironic-lib is a library for use by projects under Bare Metal governance only. + +Index +===== + +Generated Developer Documentation +================================= + +.. toctree:: + :maxdepth: 1 + + api/autoindex + + +References +========== + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`modindex` +* :ref:`search` diff --git a/ironic_lib/version.py b/ironic_lib/version.py new file mode 100644 index 0000000..cd45253 --- /dev/null +++ b/ironic_lib/version.py @@ -0,0 +1,18 @@ +# Copyright 2011 OpenStack Foundation +# All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +import pbr.version + +version_info = pbr.version.VersionInfo('ironic_lib') diff --git a/setup.cfg b/setup.cfg index b48475e..3f102a8 100644 --- a/setup.cfg +++ b/setup.cfg @@ -27,3 +27,12 @@ oslo.config.opts = ironic_lib.utils = ironic_lib.utils:list_opts ironic_lib.metrics = ironic_lib.metrics_utils:list_opts ironic_lib.metrics_statsd = ironic_lib.metrics_statsd:list_opts + +[pbr] +autodoc_index_modules = True +warnerrors = True + +[build_sphinx] +all_files = 1 +build-dir = doc/build +source-dir = doc/source diff --git a/test-requirements.txt b/test-requirements.txt index 6a7c98a..eb64ecf 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -10,3 +10,7 @@ os-testr>=0.7.0 # Apache-2.0 oslotest>=1.10.0 # Apache-2.0 testscenarios>=0.4 # Apache-2.0/BSD testtools>=1.4.0 # MIT + +# Doc requirements +sphinx!=1.3b1,<1.3,>=1.2.1 # BSD +oslosphinx!=3.4.0,>=2.5.0 # Apache-2.0 diff --git a/tox.ini b/tox.ini index 7e912ae..8759b9d 100644 --- a/tox.ini +++ b/tox.ini @@ -28,3 +28,10 @@ commands = [testenv:venv] commands = {posargs} + +[testenv:docs] +setenv = PYTHONHASHSEED=0 +sitepackages = False +envdir = {toxworkdir}/venv +commands = + python setup.py build_sphinx