From da3e0d8c9090ad8e2caf15e562093486445eeb78 Mon Sep 17 00:00:00 2001 From: Russell Martin Date: Thu, 15 Feb 2024 20:36:12 -0500 Subject: [PATCH] Run `sphinx-autobuild` via `tox -e docs-live[-src]` --- changes/2400.misc.rst | 1 + tox.ini | 33 ++++++++++++++++----------------- 2 files changed, 17 insertions(+), 17 deletions(-) create mode 100644 changes/2400.misc.rst diff --git a/changes/2400.misc.rst b/changes/2400.misc.rst new file mode 100644 index 0000000000..7aa4d834bf --- /dev/null +++ b/changes/2400.misc.rst @@ -0,0 +1 @@ +The ``sphinx-autobuild`` tool can now be invoked via ``tox -e docs-live`` and ``tox -e docs-live-src``. diff --git a/tox.ini b/tox.ini index 74d3135ea8..c141ed5a20 100644 --- a/tox.ini +++ b/tox.ini @@ -38,32 +38,31 @@ commands = [docs] build_dir = _build -# -W: make warnings into errors -# --keep-going: continue on errors -# -j: run with multiple processes -sphinx_args = -W --keep-going -j auto -# -v: verbose logging -# -E: force rebuild of environment -# -T: print traceback on error -# -a: read/parse all files -# -d: use tox's temp dir for caching -sphinx_args_extra = {[docs]sphinx_args} -v -E -T -a -d {envtmpdir}/doctrees +# replace when Sphinx 7.3 is released: +# -T -> --show-traceback +# -W -> --fail-on-warning +# -b -> --builder +# -v -> --verbose +# -a -> --write-all +# -E -> --fresh-env +sphinx_args = -T -W --keep-going --jobs auto -[testenv:docs{,-lint,-all}] +[testenv:docs{,-lint,-all,-live,-live-src}] skip_install = True change_dir = docs -deps = - ./core[docs] +deps = ./core[docs] passenv = # On macOS M1, you need to manually set the location of the PyEnchant # library: # export PYENCHANT_LIBRARY_PATH=/opt/homebrew/lib/libenchant-2.2.dylib PYENCHANT_LIBRARY_PATH commands = - !lint-!all : python -m sphinx {[docs]sphinx_args} -b html . {[docs]build_dir}/html - lint : python -m sphinx {[docs]sphinx_args_extra} -b spelling . {[docs]build_dir}/spell - lint : python -m sphinx {[docs]sphinx_args_extra} -b linkcheck . {[docs]build_dir}/links - all : python -m sphinx {[docs]sphinx_args_extra} -b html . {[docs]build_dir}/html + !lint-!all-!live : python -m sphinx {[docs]sphinx_args} {posargs} -b html . {[docs]build_dir}/html + lint : python -m sphinx {[docs]sphinx_args} {posargs} -b spelling . {[docs]build_dir}/spell + lint : python -m sphinx {[docs]sphinx_args} {posargs} -b linkcheck . {[docs]build_dir}/links + all : python -m sphinx {[docs]sphinx_args} {posargs} -v -a -E -b html . {[docs]build_dir}/html + live-!src : sphinx-autobuild {[docs]sphinx_args} {posargs} -b html . {[docs]build_dir}/live + live-src : sphinx-autobuild {[docs]sphinx_args} {posargs} -a --watch ../core/src/toga/ -b html . {[docs]build_dir}/live [testenv:package] skip_install = True