[tox]
minversion = 1.6
envlist = checkniceness,checksyntax,checkdeletions,checkbuild,checklinks
skipsdist = True

[testenv]
setenv =
   VIRTUAL_ENV={envdir}
deps = -r{toxinidir}/test-requirements.txt
whitelist_externals =
  bash
  cp
  mkdir
  rm
  sed

[testenv:venv]
commands = {posargs}

[testenv:checklinks]
commands = openstack-doc-test --check-links {posargs}

[testenv:checkniceness]
commands = openstack-doc-test --check-niceness {posargs}

[testenv:checksyntax]
commands =
    openstack-doc-test --check-syntax {posargs}
    # Check that .po and .pot files are valid:
    bash -c "find doc -type f -regex '.*\.pot?' -print0|xargs -0 -n 1 msgfmt --check-format -o /dev/null"

[testenv:checkdeletions]
commands = openstack-doc-test --check-deletions {posargs}

[testenv:checkbuild]
commands = openstack-doc-test --check-build {posargs}

[testenv:publishdocs]
# Prepare all documents (except www subdir) so that they can get
# published on docs.openstack.org with just copying publish-docs/*
# over.
commands = 
  # Create directory, it might not be here if openstack-doc-test does
  # not publish anything.
  mkdir publish-docs
  # We only publish changed manuals.
  openstack-doc-test --check-build --publish

[testenv:checklang]
# Generatedocbook needs xml2po which cannot be installed
# in the venv. Since it's installed in the system, let's
# use sitepackages.
sitepackages=True
whitelist_externals = doc-tools-check-languages
commands = doc-tools-check-languages doc-tools-check-languages.conf test all

[testenv:buildlang]
# Run as "tox -e buildlang -- $LANG"
# Generatedocbook needs xml2po which cannot be installed
# in the venv. Since it's installed in the system, let's
# use sitepackages.
sitepackages=True
whitelist_externals = doc-tools-check-languages
commands = doc-tools-check-languages doc-tools-check-languages.conf test {posargs}

[testenv:publishlang]
# Generatedocbook needs xml2po which cannot be installed
# in the venv. Since it's installed in the system, let's
# use sitepackages.
sitepackages=True
whitelist_externals = doc-tools-check-languages
commands = doc-tools-check-languages doc-tools-check-languages.conf test all