[tox]
envlist = py36, py37, py38, py39, py310, flake8

[testenv]
deps = -r tests/requirements_dev.txt

commands = py.test {posargs:tests}
passenv = USER

[testenv:flake8]
basepython = python3.7
commands = flake8 {posargs}
deps = -r tests/requirements_flake8.txt

[flake8]
select = E,F,W,C
ignore = E203, E501, W503
max-line-length = 88
copyright-check = True
copyright-regexp = © Copyright %(author)s (\d{4}-)2025
copyright-author = EnterpriseDB UK Limited
exclude = venv,.tox,build

[testenv:black]
basepython = python3.9
deps = black
commands = black .

[testenv:coverage]
basepython = python3.9
deps = -r tests/requirements_dev.txt
       pytest-cov
setenv =
    PYTHONPATH=.
commands = py.test {posargs:tests} --cov barman --cov-report xml:coverage-reports/coverage.xml --cov-report term

[gh-actions]
python =
  3.6: py36
  3.7: py37
  3.8: py38
  3.9: py39
  3.10: py310

[testenv:docs]
deps = sphinx
       sphinx-github-style
       sphinxcontrib-apidoc
       pydata-sphinx-theme
       myst_parser
setenv =
    PYTHONPATH=.
passenv = SPHINX_BUILD_DATE
commands = make -C docs {posargs:html man}
allowlist_externals =
    make

[testenv:docs-clean]
deps = sphinx
setenv =
    PYTHONPATH=.
commands = make -C docs clean
allowlist_externals =
    make
