Updated to doc building framework. Added Sphinx extensions and fixed genrst dependency
authorW. Trevor King <wking@drexel.edu>
Sun, 9 May 2010 15:30:14 +0000 (11:30 -0400)
committerW. Trevor King <wking@drexel.edu>
Sun, 9 May 2010 15:30:14 +0000 (11:30 -0400)
doc/SConstruct
doc/conf.py
doc/generate-hooke-txt.py

index fb1abe5ef740cd5d936478b3915c9b9606706e54..b41697620b795283bed59e02bdf147cbb41a1af0 100644 (file)
@@ -104,6 +104,8 @@ env = Environment(ENV = {"PATH" : os.environ["PATH"]},
                   TEX = "latex", PDFTEX = "pdflatex",
                   tools = ['default', 'packaging'],
                   variables = config)
+if 'PYTHONPATH' in os.environ:
+    env['ENV']['PYTHONPATH'] = os.environ['PYTHONPATH']
 
 # Get configuration values from environment.
 sphinxconf = env["config"]
@@ -192,11 +194,13 @@ if texfilename:
 Help("Build targets:\n\n")
 
 if genrst != None:
-    source = env.Command('source', [], genrst)
+    source = env.Command('source', [], genrst, chdir = True)
     env.AlwaysBuild(source)
     env.Depends(srcdir, source)
 else:
-    Alias('source', srcdir)
+    source = env.Command(
+        'source', [],
+        '@echo "No reStructuredText generator (genrst) given."')
 
 for name, desc in targets:
     target = Dir(name, builddir)
@@ -206,8 +210,9 @@ for name, desc in targets:
         pass
     elif name not in latex_builders:
         # Standard Sphinx target.
-        env.Command(name, sphinxconf,
-                    sphinxcmd % locals(), chdir = True)
+        targets = env.Command(name, sphinxconf,
+                              sphinxcmd % locals(), chdir = True)
+        env.Depends(targets, source)
         env.AlwaysBuild(name)
         env.Alias(target, name)
     elif texinput:
@@ -220,7 +225,8 @@ for name, desc in targets:
         filename = project_tag + "." + name
         outfile = File(filename, latexdir)
 
-        buildfunc(outfile, texinput)
+        targets = buildfunc(outfile, texinput)
+        env.Depends(targets, source)
 
         # Copy built file to separate directory.
         target = File(filename, target)
index dd29ec5de5d308ee3b9b7de9e8964daa491d3f3a..d469d8b553ce167d043628bfed74297286925b1b 100644 (file)
@@ -25,7 +25,8 @@ import hooke
 
 # Add any Sphinx extension module names here, as strings. They can be extensions
 # coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
-extensions = []
+extensions = ['sphinx.ext.autodoc', 'sphinx.ext.doctest', 'sphinx.ext.coverage',
+              'numpydoc']
 
 # Add any paths that contain templates here, relative to this directory.
 templates_path = ['_templates']
index 0f7dd5c794ee80c157a89785bfe7f3502bcc5a17..653c1a65b73d740178aba9ecd39411c1fdd9a616 100644 (file)
@@ -317,4 +317,5 @@ def python_tree(root_path='hooke', root_modname='hooke'):
 if __name__ == '__main__':
     pt = python_tree(root_path='../hooke', root_modname='hooke')
     for node in pt.traverse():
+        print node.modname
         make_module_txt(node.modname, [c.modname for c in node])