mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
Add an explicit doctreedir option.
This commit is contained in:
parent
edd5ff70d9
commit
af33fd9548
@ -27,6 +27,7 @@ def usage(argv, msg=None):
|
||||
usage: %s [options] sourcedir outdir [filenames...]"
|
||||
options: -b <builder> -- builder to use (one of %s)
|
||||
-a -- write all files; default is to only write new and changed files
|
||||
-d <path> -- path for the cached doctree files (default outdir/.doctrees)
|
||||
-O <option[=value]> -- give option to to the builder (-O help for list)
|
||||
-D <setting=value> -- override a setting in sourcedir/conf.py
|
||||
-N -- do not do colored output
|
||||
@ -38,7 +39,7 @@ modi:
|
||||
|
||||
def main(argv):
|
||||
try:
|
||||
opts, args = getopt.getopt(argv[1:], 'ab:O:D:N')
|
||||
opts, args = getopt.getopt(argv[1:], 'ab:d:O:D:N')
|
||||
srcdirname = path.abspath(args[0])
|
||||
if not path.isdir(srcdirname):
|
||||
print >>sys.stderr, 'Error: Cannot find source directory.'
|
||||
@ -67,6 +68,7 @@ def main(argv):
|
||||
opt_help = False
|
||||
options = {}
|
||||
confoverrides = {}
|
||||
doctreedir = path.join(outdirname, '.doctrees')
|
||||
for opt, val in opts:
|
||||
if opt == '-b':
|
||||
if val not in builders:
|
||||
@ -78,6 +80,8 @@ def main(argv):
|
||||
usage(argv, 'Cannot combine -a option and filenames.')
|
||||
return 1
|
||||
all_files = True
|
||||
elif opt == '-d':
|
||||
doctreedir = val
|
||||
elif opt == '-O':
|
||||
if val == 'help':
|
||||
opt_help = True
|
||||
@ -115,7 +119,7 @@ def main(argv):
|
||||
print ' * %s: %s' % (optname, description)
|
||||
return 0
|
||||
|
||||
builderobj = builderobj(srcdirname, outdirname, options,
|
||||
builderobj = builderobj(srcdirname, outdirname, doctreedir, options,
|
||||
status_stream=sys.stdout,
|
||||
warning_stream=sys.stderr,
|
||||
confoverrides=confoverrides)
|
||||
|
@ -76,13 +76,14 @@ class Builder(object):
|
||||
'freshenv': 'Don\'t use a pickled environment',
|
||||
}
|
||||
|
||||
def __init__(self, srcdirname, outdirname, options, env=None,
|
||||
status_stream=None, warning_stream=None,
|
||||
confoverrides=None):
|
||||
def __init__(self, srcdirname, outdirname, doctreedirname,
|
||||
options, confoverrides=None, env=None,
|
||||
status_stream=None, warning_stream=None):
|
||||
self.srcdir = srcdirname
|
||||
self.outdir = outdirname
|
||||
if not path.isdir(path.join(outdirname, '.doctrees')):
|
||||
os.mkdir(path.join(outdirname, '.doctrees'))
|
||||
self.doctreedir = doctreedirname
|
||||
if not path.isdir(doctreedirname):
|
||||
os.mkdir(doctreedirname)
|
||||
|
||||
self.options = attrdict(options)
|
||||
self.validate_options()
|
||||
@ -104,9 +105,10 @@ class Builder(object):
|
||||
try:
|
||||
version, release = get_version_info(srcdirname)
|
||||
except (IOError, OSError):
|
||||
print >>warning_stream, 'WARNING: Can\'t get version info from ' \
|
||||
'Include/patchlevel.h, using version of this interpreter.'
|
||||
version, release = get_sys_version_info()
|
||||
print >>warning_stream, 'WARNING: Can\'t get version info from ' \
|
||||
'Include/patchlevel.h, using version of this ' \
|
||||
'interpreter (%s).' % release
|
||||
if self.config['version'] == 'auto':
|
||||
self.config['version'] = version
|
||||
if self.config['release'] == 'auto':
|
||||
@ -163,15 +165,13 @@ class Builder(object):
|
||||
try:
|
||||
self.msg('trying to load pickled env...', nonl=True)
|
||||
self.env = BuildEnvironment.frompickle(
|
||||
path.join(self.outdir, ENV_PICKLE_FILENAME))
|
||||
path.join(self.doctreedir, ENV_PICKLE_FILENAME))
|
||||
self.msg('done', nobold=True)
|
||||
except Exception, err:
|
||||
self.msg('failed: %s' % err, nobold=True)
|
||||
self.env = BuildEnvironment(self.srcdir,
|
||||
path.join(self.outdir, '.doctrees'))
|
||||
self.env = BuildEnvironment(self.srcdir, self.doctreedir)
|
||||
else:
|
||||
self.env = BuildEnvironment(self.srcdir,
|
||||
path.join(self.outdir, '.doctrees'))
|
||||
self.env = BuildEnvironment(self.srcdir, self.doctreedir)
|
||||
|
||||
def build_all(self):
|
||||
"""Build all source files."""
|
||||
@ -214,7 +214,7 @@ class Builder(object):
|
||||
|
||||
# save the environment
|
||||
self.msg('pickling the env...', nonl=True)
|
||||
self.env.topickle(path.join(self.outdir, ENV_PICKLE_FILENAME))
|
||||
self.env.topickle(path.join(self.doctreedir, ENV_PICKLE_FILENAME))
|
||||
self.msg('done', nobold=True)
|
||||
|
||||
# global actions
|
||||
|
Loading…
Reference in New Issue
Block a user