[tox]
minversion = 1.6
skipsdist = True
envlist = bashate

[testenv]
usedevelop = False
install_command = pip install {opts} {packages}

[testenv:bashate]
# if you want to test out some changes you have made to bashate
# against devstack, just set BASHATE_INSTALL_PATH=/path/... to your
# modified bashate tree
deps =
   {env:BASHATE_INSTALL_PATH:bashate==0.5.1}
whitelist_externals = bash
commands = bash -c "find {toxinidir}             \
         -not \( -type d -name .?\* -prune \)    \
         -not \( -type d -name doc -prune \)     \
         -not \( -type f -name localrc -prune \) \
         -type f                                 \
         -not -name \*~                          \
         -not -name \*.md                        \
         -not -name stack-screenrc               \
         -not -name \*.orig                      \
         -not -name \*.rej                       \
         \(                                      \
          -name \*.sh -or                        \
          -name \*rc -or                         \
          -name functions\* -or                  \
          -wholename \*/inc/\* -or               \
          -wholename \*/lib/\*                   \
         \)                                      \
         -print0 | xargs -0 bashate -v -iE006 -eE005,E042"

[testenv:docs]
deps =
   Pygments
   docutils
   sphinx>=1.6.2
   pbr>=2.0.0,!=2.1.0
   openstackdocstheme>=1.11.0
   nwdiag
   blockdiag
   sphinxcontrib-blockdiag
   sphinxcontrib-nwdiag
whitelist_externals = bash
setenv =
  TOP_DIR={toxinidir}
commands =
  python setup.py build_sphinx

[testenv:venv]
deps =
   pbr>=2.0.0,!=2.1.0
   sphinx>=1.6.2
   openstackdocstheme>=1.11.0
   blockdiag
   sphinxcontrib-blockdiag
   sphinxcontrib-nwdiag
commands = {posargs}
