summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bindep.txt7
-rw-r--r--stevedore/sphinxext.py12
-rw-r--r--tox.ini12
3 files changed, 25 insertions, 6 deletions
diff --git a/bindep.txt b/bindep.txt
new file mode 100644
index 0000000..7a2df73
--- /dev/null
+++ b/bindep.txt
@@ -0,0 +1,7 @@
+# This is a cross-platform list tracking distribution packages needed for install and tests;
+# see https://docs.openstack.org/infra/bindep/ for additional information.
+
+# graphviz is necessary for documentation build
+graphviz [!platform:gentoo]
+media-gfx/graphviz [platform:gentoo]
+
diff --git a/stevedore/sphinxext.py b/stevedore/sphinxext.py
index 3c9b6ce..8ca88bb 100644
--- a/stevedore/sphinxext.py
+++ b/stevedore/sphinxext.py
@@ -18,10 +18,13 @@ from docutils import nodes
from docutils.parsers import rst
from docutils.parsers.rst import directives
from docutils.statemachine import ViewList
+from sphinx.util import logging
from sphinx.util.nodes import nested_parse_with_titles
from stevedore import extension
+LOG = logging.getLogger(__name__)
+
def _get_docstring(plugin):
return inspect.getdoc(plugin) or ''
@@ -72,16 +75,13 @@ class ListPluginsDirective(rst.Directive):
has_content = True
def run(self):
- env = self.state.document.settings.env
- app = env.app
-
namespace = ' '.join(self.content).strip()
- app.info('documenting plugins from %r' % namespace)
+ LOG.info('documenting plugins from %r' % namespace)
overline_style = self.options.get('overline-style', '')
underline_style = self.options.get('underline-style', '=')
def report_load_failure(mgr, ep, err):
- app.warn(u'Failed to load %s: %s' % (ep.module_name, err))
+ LOG.warning(u'Failed to load %s: %s' % (ep.module_name, err))
mgr = extension.ExtensionManager(
namespace,
@@ -111,5 +111,5 @@ class ListPluginsDirective(rst.Directive):
def setup(app):
- app.info('loading stevedore.sphinxext')
+ LOG.info('loading stevedore.sphinxext')
app.add_directive('list-plugins', ListPluginsDirective)
diff --git a/tox.ini b/tox.ini
index fbf8a1e..a370b63 100644
--- a/tox.ini
+++ b/tox.ini
@@ -48,6 +48,18 @@ deps =
-r{toxinidir}/doc/requirements.txt
commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
+[testenv:bindep]
+basepython = python3
+# Do not install any requirements. We want this to be fast and work even if
+# system dependencies are missing, since it's used to tell you what system
+# dependencies are missing! This also means that bindep must be installed
+# separately, outside of the requirements files, and develop mode disabled
+# explicitly to avoid unnecessarily installing the checked-out repo too (this
+# further relies on "tox.skipsdist = True" above).
+deps = bindep
+commands = bindep test
+usedevelop = False
+
[testenv:lower-constraints]
basepython = python3
deps =