[tox]
minversion = 1.6
envlist = docs,pep8
skipsdist = True

[testenv]
basepython=python3
usedevelop = True
setenv = VIRTUAL_ENV={envdir}
deps = -r{toxinidir}/requirements.txt
       -r{toxinidir}/test-requirements.txt

[testenv:ansible]
deps =
    {[testenv]deps}
    -r{toxinidir}/ansible-requirement.txt
passenv = HOME
setenv =
  ANSIBLE_CONFIG = {toxinidir}/playbook/tests/ansible.cfg
commands = {posargs}

[testenv:venv]
commands = {posargs}

[testenv:docs]
commands =
  doc8 doc/source
  # Build translated guides
  docstheme-build-translated.sh

[testenv:pep8]
commands =
  flake8
  bash {toxinidir}/tools/check-po.sh {toxinidir}/doc {toxinidir}/glossary
  python {toxinidir}/tools/check_yaml_file.py {toxinidir}/tools/zanata/translation_team.yaml
  bash {toxinidir}/tools/check-zanata-users-list.sh
  {[testenv:generatepot]commands}
whitelist_externals = bash

[testenv:generatepot]
# Generate POT files for translation
commands = {toxinidir}/tools/generatepot.sh

[testenv:zanata-users-sync]
commands =
  python {toxinidir}/tools/zanata/zanata_users.py --output-file {toxinidir}/tools/zanata/translation_team.yaml

[doc8]
# File extensions to check
extensions = .rst, .yaml
# Maximal line length should be 80 but we have some overlong lines.
# Let's not get far more in.
max-line-length = 80
# Disable some doc8 checks:
# D000: Check RST validity
# - cannot handle "none" for code-block directive
ignore = D000