summaryrefslogtreecommitdiff
path: root/lib/spack/docs/conf.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/spack/docs/conf.py')
-rw-r--r--lib/spack/docs/conf.py22
1 files changed, 16 insertions, 6 deletions
diff --git a/lib/spack/docs/conf.py b/lib/spack/docs/conf.py
index 95549e3b1e..c0dccaa6ba 100644
--- a/lib/spack/docs/conf.py
+++ b/lib/spack/docs/conf.py
@@ -42,13 +42,16 @@ import re
import shutil
import subprocess
from glob import glob
+from sphinx.apidoc import main as sphinx_apidoc
+
+# -- Spack customizations -----------------------------------------------------
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
sys.path.insert(0, os.path.abspath('exts'))
sys.path.insert(0, os.path.abspath('../external'))
-sys.path.append(os.path.abspath('../spack'))
+sys.path.append(os.path.abspath('..'))
# Add the Spack bin directory to the path so that we can use its output in docs.
spack_root = '../../..'
@@ -60,10 +63,17 @@ spack_version = subprocess.Popen(
[spack_root + '/bin/spack', '-V'],
stderr=subprocess.PIPE).communicate()[1].strip().split('.')
+# Set an environment variable so that colify will print output like it would to
+# a terminal.
+os.environ['COLIFY_SIZE'] = '25x80'
+
#
# Generate package list using spack command
#
with open('package_list.rst', 'w') as plist_file:
+ subprocess.check_output(
+ [spack_root + '/bin/spack', 'package-list'])
+
subprocess.Popen(
[spack_root + '/bin/spack', 'package-list'], stdout=plist_file)
@@ -81,9 +91,13 @@ for filename in glob('*rst'):
shutil.copy('command_index.in', 'command_index.rst')
with open('command_index.rst', 'a') as index:
index.write('\n')
- for cmd in command_names:
+ for cmd in sorted(command_names):
index.write(' * :ref:`%s`\n' % cmd)
+
+# Run sphinx-apidoc
+sphinx_apidoc(['-T', '-o', '.', '../spack'])
+
#
# Exclude everything in spack.__all__ from indexing. All of these
# symbols are imported from elsewhere in spack; their inclusion in
@@ -106,10 +120,6 @@ for line in fileinput.input('spack.rst', inplace=1):
print line,
-# Set an environment variable so that colify will print output like it would to
-# a terminal.
-os.environ['COLIFY_SIZE'] = '25x80'
-
# Enable todo items
todo_include_todos = True