[tox]
minversion = 3.2.0
envlist = json,yaml,py,rst,md
skipsdist = true
requires = pip >= 8

[testenv]
basepython = python3
whitelist_externals =
  git
  bash
deps =
  coala-bears
  nodeenv

[testenv:json]
commands_pre =
    /bin/sh -c "git --no-pager diff HEAD HEAD^ --name-only '*.json' > /tmp/.coalist_json"
commands =
# '\ ' at the end of command is needed for a case where above command returns empty list (it adds empty file
# parameter to '--files' opt
    /bin/bash -c "coala --non-interactive --disable-caching --no-autoapply-warn json --files $(</tmp/.coalist_json) \ "

[testenv:yaml]
commands_pre =
    /bin/sh -c "git --no-pager diff HEAD HEAD^ --name-only '*.yaml' '*.yml' > /tmp/.coalist_yaml"
commands =
# '\ ' at the end of command is needed for a case where above command returns empty list (it adds empty file
# parameter to '--files' opt
    /bin/bash -c "coala --non-interactive --disable-caching --no-autoapply-warn yaml --files $(</tmp/.coalist_yaml) \ "

[testenv:py]
commands_pre =
    /bin/sh -c "git --no-pager diff HEAD HEAD^ --name-only '*.py' > /tmp/.coalist_py"
commands =
    /bin/bash -c "coala --non-interactive --disable-caching --no-autoapply-warn py --files $(</tmp/.coalist_py) \ "

[testenv:rst]
commands_pre =
    /bin/sh -c "git --no-pager diff HEAD HEAD^ --name-only '*.rst' > /tmp/.coalist_rst"
deps = -r ./docs/requirements-docs.txt
commands =
  /bin/sh -c "sphinx-build -n -b html docs docs/build/html $(</tmp/.coalist_rst)"
  /bin/sh -c "sphinx-build -n -b linkcheck docs docs/build/linkcheck $(</tmp/.coalist_rst)"

[testenv:md]
commands_pre =
    nodeenv -p --verbose
    npm install --global remark-cli
    /bin/sh -c "git --no-pager diff HEAD HEAD^ --name-only '*.md' > /tmp/.coalist_md"
commands =
    /bin/bash -c "coala --non-interactive --disable-caching --no-autoapply-warn md --files $(</tmp/.coalist_md) \ "