diff --git a/doc/requirements.txt b/doc/requirements.txt new file mode 100644 index 00000000..0c9dba33 --- /dev/null +++ b/doc/requirements.txt @@ -0,0 +1,8 @@ +# The order of packages is significant, because pip processes them in the order +# of appearance. Changing the order has an impact on the overall integration +# process, which may cause wedges in the gate later. +sphinx!=1.6.6,!=1.6.7,>=1.6.2 # BSD +sphinxcontrib-apidoc>=0.2.0 # BSD +reno>=2.5.0 # Apache-2.0 +openstackdocstheme>=1.18.1 # Apache-2.0 +httplib2>=0.9.1 # MIT diff --git a/doc/source/conf.py b/doc/source/conf.py index 0f7099a4..6233623a 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -28,12 +28,22 @@ sys.path.insert(0, ROOT) sys.path.insert(0, BASE_DIR) extensions = [ - 'sphinx.ext.autodoc', 'sphinx.ext.doctest', 'sphinx.ext.coverage', 'openstackdocstheme', + 'sphinxcontrib.apidoc', ] +# sphinxcontrib.apidoc options +apidoc_module_dir = '../../troveclient' +apidoc_output_dir = 'reference/api' +apidoc_excluded_paths = [ + 'compat/tests/*', + 'compat/tests', + 'tests/*', + 'tests'] +apidoc_separate_modules = True + # openstackdocstheme options repository_name = 'openstack/python-troveclient' bug_project = 'python-troveclient' diff --git a/doc/source/index.rst b/doc/source/index.rst index 22b0459c..9b3e9899 100644 --- a/doc/source/index.rst +++ b/doc/source/index.rst @@ -11,14 +11,17 @@ License for the specific language governing permissions and limitations under the License. -============================================ +=========================================== Python bindings to the OpenStack Trove API -============================================ +=========================================== This is a client for the OpenStack Trove API. There's a Python API (the ``troveclient`` module), and a command-line script (``trove``). Each implements 100% of the OpenStack Trove API. +Contents +-------- + .. toctree:: :maxdepth: 2 @@ -27,7 +30,7 @@ implements 100% of the OpenStack Trove API. reference/index Indices and tables -================== +------------------ * :ref:`genindex` * :ref:`search` diff --git a/doc/source/reference/index.rst b/doc/source/reference/index.rst index 1d9e914d..efc5e398 100644 --- a/doc/source/reference/index.rst +++ b/doc/source/reference/index.rst @@ -5,4 +5,4 @@ .. toctree:: :maxdepth: 2 - api/autoindex + api/modules diff --git a/setup.cfg b/setup.cfg index 404d9d13..eaa3de09 100644 --- a/setup.cfg +++ b/setup.cfg @@ -90,20 +90,5 @@ openstack.database.v1 = datastore_version_show = troveclient.osc.v1.datastores:ShowDatastoreVersion -[build_sphinx] -all_files = 1 -source-dir = doc/source -build-dir = doc/build -warning-is-error = 1 - -[upload_sphinx] -upload-dir = doc/build/html - [wheel] universal = 1 - -[pbr] -autodoc_index_modules = True -api_doc_dir = reference/api -autodoc_exclude_modules = - troveclient.tests.* diff --git a/test-requirements.txt b/test-requirements.txt index cd56b3e2..078aad62 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -7,11 +7,8 @@ fixtures>=3.0.0 # Apache-2.0/BSD oslotest>=3.2.0 # Apache-2.0 python-openstackclient>=3.12.0 # Apache-2.0 requests-mock>=1.2.0 # Apache-2.0 -sphinx!=1.6.6,!=1.6.7,>=1.6.2 # BSD testrepository>=0.0.18 # Apache-2.0/BSD testscenarios>=0.4 # Apache-2.0/BSD testtools>=2.2.0 # MIT mock>=2.0.0 # BSD httplib2>=0.9.1 # MIT -reno>=2.5.0 # Apache-2.0 -openstackdocstheme>=1.18.1 # Apache-2.0 diff --git a/tox.ini b/tox.ini index bf663c00..dbc16920 100644 --- a/tox.ini +++ b/tox.ini @@ -49,11 +49,19 @@ commands = coverage report [testenv:docs] +deps = + -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} + -r{toxinidir}/requirements.txt + -r{toxinidir}/doc/requirements.txt commands = - rm -rf doc/html doc/build - python setup.py build_sphinx + rm -rf doc/html doc/build + sphinx-build -W -b html doc/source doc/build/html [testenv:releasenotes] +deps = + -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} + -r{toxinidir}/requirements.txt + -r{toxinidir}/doc/requirements.txt commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html [flake8]