mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
Merged revisions 65529 via svnmerge from
svn+ssh://pythondev@svn.python.org/doctools/branches/0.4.x ........ r65529 | georg.brandl | 2008-08-04 22:19:30 +0000 (Mon, 04 Aug 2008) | 6 lines Revert r65499 which was not well thought out. Instead, put the whole build dir in exclude_trees by default in quickstart. Also, revisit application cleanup and make it consistently use less setup time while still trying to leave to traces. ........
This commit is contained in:
parent
0a15003d0c
commit
432115123e
@ -13,7 +13,6 @@
|
||||
"""
|
||||
|
||||
import sys
|
||||
from os import path
|
||||
|
||||
from docutils import nodes
|
||||
from docutils.parsers.rst import directives, roles
|
||||
@ -67,10 +66,10 @@ class Sphinx(object):
|
||||
self.builderclasses = builtin_builders.copy()
|
||||
self.builder = None
|
||||
|
||||
self.srcdir = path.abspath(srcdir)
|
||||
self.confdir = path.abspath(confdir)
|
||||
self.outdir = path.abspath(outdir)
|
||||
self.doctreedir = path.abspath(doctreedir)
|
||||
self.srcdir = srcdir
|
||||
self.confdir = confdir
|
||||
self.outdir = outdir
|
||||
self.doctreedir = doctreedir
|
||||
|
||||
self._status = status
|
||||
self._warning = warning
|
||||
@ -91,13 +90,6 @@ class Sphinx(object):
|
||||
# now that we know all config values, collect them from conf.py
|
||||
self.config.init_values()
|
||||
|
||||
# if the output and/or doctree dirs are within the source dir, except
|
||||
# them from being searched for source files
|
||||
if self.outdir.startswith(self.srcdir):
|
||||
self.config.exclude_trees += [self.outdir[len(self.srcdir)+1:]]
|
||||
if self.doctreedir.startswith(self.srcdir):
|
||||
self.config.exclude_trees += [self.doctreedir[len(self.srcdir)+1:]]
|
||||
|
||||
if buildername is None:
|
||||
print >>status, 'No builder selected, using default: html'
|
||||
buildername = 'html'
|
||||
|
@ -578,7 +578,8 @@ class BuildEnvironment:
|
||||
for imgpath in candidates.itervalues():
|
||||
self.dependencies.setdefault(docname, set()).add(imgpath)
|
||||
if not os.access(path.join(self.srcdir, imgpath), os.R_OK):
|
||||
self.warn(docname, 'Image file not readable: %s' % imgpath, node.line)
|
||||
self.warn(docname, 'Image file not readable: %s' % imgpath,
|
||||
node.line)
|
||||
if imgpath in self.images:
|
||||
self.images[imgpath][0].add(docname)
|
||||
continue
|
||||
|
@ -80,7 +80,7 @@ today_fmt = '%%B %%d, %%Y'
|
||||
|
||||
# List of directories, relative to source directories, that shouldn't be searched
|
||||
# for source files.
|
||||
#exclude_dirs = []
|
||||
exclude_trees = [%(exclude_trees)s]
|
||||
|
||||
# The reST default role (used for this markup: `text`) to use for all documents.
|
||||
#default_role = None
|
||||
@ -451,8 +451,10 @@ directly.'''
|
||||
mkdir_p(srcdir)
|
||||
if separate:
|
||||
builddir = path.join(d['path'], 'build')
|
||||
d['exclude_trees'] = ''
|
||||
else:
|
||||
builddir = path.join(srcdir, d['dot'] + 'build')
|
||||
d['exclude_trees'] = repr(d['dot'] + 'build')
|
||||
mkdir_p(builddir)
|
||||
mkdir_p(path.join(srcdir, d['dot'] + 'templates'))
|
||||
mkdir_p(path.join(srcdir, d['dot'] + 'static'))
|
||||
|
@ -57,7 +57,6 @@ today_fmt = '%B %d, %Y'
|
||||
|
||||
# List of directories, relative to source directories, that shouldn't be searched
|
||||
# for source files.
|
||||
#exclude_dirs = []
|
||||
exclude_trees = ['_build']
|
||||
|
||||
# If true, '()' will be appended to :func: etc. cross-reference text.
|
||||
|
@ -112,6 +112,6 @@ def test_linkcheck(app):
|
||||
def test_text(app):
|
||||
app.builder.build_all()
|
||||
|
||||
@with_testapp(buildername='changes')
|
||||
@with_testapp(buildername='changes', cleanenv=True)
|
||||
def test_changes(app):
|
||||
app.builder.build_all()
|
||||
|
@ -22,7 +22,7 @@ from sphinx.latexwriter import LaTeXWriter, LaTeXTranslator
|
||||
|
||||
def setup_module():
|
||||
global app, settings, parser
|
||||
app = TestApp()
|
||||
app = TestApp(cleanenv=True)
|
||||
optparser = frontend.OptionParser(components=(rst.Parser, HTMLWriter, LaTeXWriter))
|
||||
settings = optparser.get_default_values()
|
||||
settings.env = app.builder.env
|
||||
|
@ -94,32 +94,34 @@ class TestApp(application.Sphinx):
|
||||
|
||||
def __init__(self, srcdir=None, confdir=None, outdir=None, doctreedir=None,
|
||||
buildername='html', confoverrides=None, status=None, warning=None,
|
||||
freshenv=None, confname='conf.py'):
|
||||
freshenv=None, confname='conf.py', cleanenv=False):
|
||||
|
||||
application.CONFIG_FILENAME = confname
|
||||
|
||||
self.cleanup_trees = []
|
||||
|
||||
if srcdir is None:
|
||||
srcdir = test_root
|
||||
if srcdir == '(temp)':
|
||||
tempdir = path(tempfile.mkdtemp()) / 'root'
|
||||
test_root.copytree(tempdir)
|
||||
srcdir = tempdir
|
||||
tempdir = path(tempfile.mkdtemp())
|
||||
self.cleanup_trees.append(tempdir)
|
||||
temproot = tempdir / 'root'
|
||||
test_root.copytree(temproot)
|
||||
srcdir = temproot
|
||||
else:
|
||||
srcdir = path(srcdir)
|
||||
self.builddir = srcdir.joinpath('_build')
|
||||
if not self.builddir.isdir():
|
||||
self.builddir.makedirs()
|
||||
self.made_builddir = True
|
||||
else:
|
||||
self.made_builddir = False
|
||||
if confdir is None:
|
||||
confdir = srcdir
|
||||
if outdir is None:
|
||||
outdir = srcdir.joinpath(self.builddir, buildername)
|
||||
if not outdir.isdir():
|
||||
outdir.makedirs()
|
||||
self.cleanup_trees.insert(0, outdir)
|
||||
if doctreedir is None:
|
||||
doctreedir = srcdir.joinpath(srcdir, self.builddir, 'doctrees')
|
||||
if cleanenv:
|
||||
self.cleanup_trees.insert(0, doctreedir)
|
||||
if confoverrides is None:
|
||||
confoverrides = {}
|
||||
if status is None:
|
||||
@ -127,17 +129,14 @@ class TestApp(application.Sphinx):
|
||||
if warning is None:
|
||||
warning = ListOutput('stderr')
|
||||
if freshenv is None:
|
||||
freshenv = True
|
||||
freshenv = False
|
||||
|
||||
application.Sphinx.__init__(self, srcdir, confdir, outdir, doctreedir,
|
||||
buildername, confoverrides, status, warning,
|
||||
freshenv)
|
||||
|
||||
def cleanup(self):
|
||||
trees = [self.outdir, self.doctreedir]
|
||||
if self.made_builddir:
|
||||
trees.append(self.builddir)
|
||||
for tree in trees:
|
||||
def cleanup(self, doctrees=False):
|
||||
for tree in self.cleanup_trees:
|
||||
shutil.rmtree(tree, True)
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user