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

[testenv]
basepython = python3.8
allowlist_externals =
  git
  sh
  /bin/sh
  bash
  /bin/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]
deps =
    -r{toxinidir}/docs/requirements-docs.txt
    -chttps://raw.githubusercontent.com/openstack/requirements/stable/yoga/upper-constraints.txt
    -chttps://git.onap.org/doc/plain/etc/upper-constraints.onap.txt
commands =
  sphinx-build -W -n -b html docs docs/build/html
  sphinx-build -W -n -b linkcheck docs docs/build/linkcheck

[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) \ "