# To use tox, see https://tox.readthedocs.io
# Simply pip or conda install tox
# If you use conda, you may also want to install tox-conda
# then run `tox` or `tox -- {pytest args}`
# To run in parallel using `tox -p` (this does not appear to work for this repo)

# To rebuild the tox environment, for example when dependencies change, use
# `tox -r`

# Note: if the following error is encountered: `ImportError while loading conftest`
# then then deleting compiled files has been found to fix it: `find . -name \*.pyc -delete`

[tox]
envlist = py310-sphinx6

[testenv]
usedevelop=true
passenv = TERM  # To make terminal coloring / other variables pass through

[testenv:py{39,310,311}-pre-commit]
extras = code_style
commands = pre-commit run {posargs}

[testenv:compile]
deps =
    sphinx-theme-builder[cli]
commands =
    stb compile

[testenv:docs-{update,clean}]
extras =
    doc
deps =
    sphinx-theme-builder[cli]
whitelist_externals = rm
commands =
    clean: rm -rf docs/_build
    sphinx-build -n --keep-going -b {posargs:html} docs/ docs/_build/{posargs:html}

[testenv:docs-live]
extras =
    doc
deps =
    sphinx-theme-builder[cli]
commands =
    stb serve docs --open-browser

[testenv:py{39,310,311}-sphinx{5,6}]
extras = test
deps =
    sphinx5: sphinx>=5,<6
    sphinx6: sphinx>=6,<7
commands = pytest {posargs}
