Merge branch 'stable'

This commit is contained in:
Takeshi KOMIYA 2016-12-25 12:40:27 +09:00
commit bd382528d0
7 changed files with 51 additions and 30 deletions

View File

@ -7,6 +7,7 @@ python:
- "2.7" - "2.7"
- "3.4" - "3.4"
- "3.5" - "3.5"
- "3.6"
- "nightly" - "nightly"
- "pypy" - "pypy"
env: env:
@ -17,6 +18,16 @@ env:
matrix: matrix:
- DOCUTILS=0.12 - DOCUTILS=0.12
- DOCUTILS=0.13.1 - DOCUTILS=0.13.1
matrix:
exclude:
- python: "3.4"
env: DOCUTILS=0.12
- python: "3.5"
env: DOCUTILS=0.12
- python: nightly
env: DOCUTILS=0.12
- python: pypy
env: DOCUTILS=0.12
addons: addons:
apt: apt:
packages: packages:
@ -31,8 +42,7 @@ install:
- pip install -U pip setuptools - pip install -U pip setuptools
- pip install docutils==$DOCUTILS - pip install docutils==$DOCUTILS
- pip install -r test-reqs.txt - pip install -r test-reqs.txt
before_script:
- if [[ $TRAVIS_PYTHON_VERSION != '2.6' ]]; then flake8; fi
script: script:
- if [[ $TRAVIS_PYTHON_VERSION == '3.5' ]]; then make style-check test-async; fi - flake8
- if [[ $TRAVIS_PYTHON_VERSION != '3.5' ]]; then make test; fi - if [[ $TRAVIS_PYTHON_VERSION == '3.6' ]]; then make style-check test-async; fi
- if [[ $TRAVIS_PYTHON_VERSION != '3.6' ]]; then make test; fi

View File

@ -79,8 +79,8 @@ sidebar and under "Quick Links", click "Windows Installer" to download.
.. note:: .. note::
Currently, Python offers two major versions, 2.x and 3.x. Sphinx 1.3 can run Currently, Python offers two major versions, 2.x and 3.x. Sphinx 1.5 can run
under Python 2.7, 3.4, 3.5, with the recommended version being 2.7. This under Python 2.7, 3.4, 3.5, 3.6, with the recommended version being 2.7. This
chapter assumes you have installed Python 2.7. chapter assumes you have installed Python 2.7.
Follow the Windows installer for Python. Follow the Windows installer for Python.

View File

@ -24,6 +24,6 @@ directory = sphinx/locale/
universal = 1 universal = 1
[flake8] [flake8]
max-line-length=95 max-line-length = 95
ignore=E113,E116,E221,E226,E241,E251,E901 ignore = E113,E116,E221,E226,E241,E251,E901
exclude=tests/*,build/*,sphinx/search/*,sphinx/pycode/pgen2/*,doc/ext/example*.py,.tox/* exclude = .git,.tox,tests/*,build/*,sphinx/search/*,sphinx/pycode/pgen2/*,doc/ext/example*.py

View File

@ -285,14 +285,29 @@ def validate_config_values(app):
app.config.latex_elements['postamble'] = app.config.latex_elements['footer'] app.config.latex_elements['postamble'] = app.config.latex_elements['footer']
def default_latex_engine(config):
""" Better default latex_engine settings for specific languages. """
if config.language == 'ja':
return 'platex'
else:
return 'pdflatex'
def default_latex_docclass(config):
""" Better default latex_docclass settings for specific languages. """
if config.language == 'ja':
return {'manual': 'jsbook',
'howto': 'jreport'}
else:
return {}
def setup(app): def setup(app):
# type: (Sphinx) -> Dict[unicode, Any] # type: (Sphinx) -> Dict[unicode, Any]
app.add_builder(LaTeXBuilder) app.add_builder(LaTeXBuilder)
app.connect('builder-inited', validate_config_values) app.connect('builder-inited', validate_config_values)
app.add_config_value('latex_engine', app.add_config_value('latex_engine', default_latex_engine, None,
lambda self: 'pdflatex' if self.language != 'ja' else 'platex',
None,
ENUM('pdflatex', 'xelatex', 'lualatex', 'platex')) ENUM('pdflatex', 'xelatex', 'lualatex', 'platex'))
app.add_config_value('latex_documents', app.add_config_value('latex_documents',
lambda self: [(self.master_doc, make_filename(self.project) + '.tex', lambda self: [(self.master_doc, make_filename(self.project) + '.tex',
@ -315,11 +330,7 @@ def setup(app):
app.add_config_value('latex_elements', {}, None) app.add_config_value('latex_elements', {}, None)
app.add_config_value('latex_additional_files', [], None) app.add_config_value('latex_additional_files', [], None)
japanese_default = {'manual': 'jsbook', app.add_config_value('latex_docclass', default_latex_docclass, None)
'howto': 'jreport'}
app.add_config_value('latex_docclass',
lambda self: japanese_default if self.language == 'ja' else {},
None)
# now deprecated - use latex_elements # now deprecated - use latex_elements
app.add_config_value('latex_preamble', '', None) app.add_config_value('latex_preamble', '', None)

View File

@ -448,7 +448,7 @@ class IndexBuilder(object):
# type: () -> unicode # type: () -> unicode
if self.lang.js_stemmer_rawcode: if self.lang.js_stemmer_rawcode:
return path.join( return path.join(
path.dirname(path.abspath(__file__)), sphinx.package_dir, 'search',
'non-minified-js', 'non-minified-js',
self.lang.js_stemmer_rawcode self.lang.js_stemmer_rawcode
) )

View File

@ -50,7 +50,7 @@ def kpsetest(*filenames):
except OSError: except OSError:
# no kpsewhich... either no tex distribution is installed or it is # no kpsewhich... either no tex distribution is installed or it is
# a "strange" one -- don't bother running latex # a "strange" one -- don't bother running latex
return None return False
else: else:
p.communicate() p.communicate()
if p.returncode != 0: if p.returncode != 0:
@ -84,8 +84,8 @@ def compile_latex_document(app):
def skip_if_stylefiles_notfound(testfunc): def skip_if_stylefiles_notfound(testfunc):
if kpsetest(*STYLEFILES) is False: if kpsetest(*STYLEFILES) is False:
return skip_if(testfunc, msg = 'not running latex, the required styles do not seem to be installed'
'not running latex, the required styles do not seem to be installed') return skip_if(True, msg)(testfunc)
else: else:
return testfunc return testfunc

18
tox.ini
View File

@ -1,20 +1,21 @@
[tox] [tox]
envlist=flake8,py27,py34,py35,pypy,du12,du11,du10 envlist=flake8,py27,py34,py35,py36,pypy,du13,du12,du11
[testenv] [testenv]
deps= deps=
six six
nose nose
docutils
sqlalchemy sqlalchemy
whoosh whoosh
html5lib html5lib
mock mock
enum34
typing typing
setenv = setenv =
SPHINX_TEST_TEMPDIR = {envdir}/testbuild SPHINX_TEST_TEMPDIR = {envdir}/testbuild
PYTHONDONTWRITEBYTECODE = true
commands= commands=
{envpython} -Wall tests/run.py -I py35 -m '^[tT]est' {posargs} {envpython} -Wall tests/run.py --ignore-files=test_autodoc_py35 -m '^[tT]est' {posargs}
sphinx-build -q -W -b html -d {envtmpdir}/doctrees doc {envtmpdir}/html sphinx-build -q -W -b html -d {envtmpdir}/doctrees doc {envtmpdir}/html
[testenv:pypy] [testenv:pypy]
@ -22,11 +23,6 @@ deps=
simplejson simplejson
{[testenv]deps} {[testenv]deps}
[testenv:du10]
deps=
docutils==0.10
{[testenv]deps}
[testenv:du11] [testenv:du11]
deps= deps=
docutils==0.11 docutils==0.11
@ -37,13 +33,17 @@ deps=
docutils==0.12 docutils==0.12
{[testenv]deps} {[testenv]deps}
[testenv:du13]
deps=
docutils==0.13.1
{[testenv]deps}
[testenv:flake8] [testenv:flake8]
deps=flake8 deps=flake8
commands=flake8 commands=flake8
[testenv:py27] [testenv:py27]
deps= deps=
enum34
{[testenv]deps} {[testenv]deps}
[testenv:py35] [testenv:py35]