#!/usr/bin/env sh
set -e

url="https://raw.githubusercontent.com/webuni/shell-task-runner/master/runner"
[ -f ./.runner ] && [ .runner -nt "$0" ] || wget -q "$url" -O- > .runner || curl -fso .runner "$url"
. ./.runner

! mkdir -p $HOME/.composer/cache
if [ ! -f $HOME/.composer/auth.json ]; then echo "{}" > $HOME/.composer/auth.json; fi

_decorator()(
    if [ -n "$(command -v docker)" ]; then
        _docker_run -v "$HOME/.composer/cache:/composer-cache" -v "$HOME/.composer/auth.json:/composer/auth.json" minidocks/php:7.3 ./run "$@"
    else
        "$@"
    fi
)

# Install dependencies
task_deps()(
    composer install
)

# Static analyse
task_analyse()(
    ./vendor/bin/phpstan analyse -l7 src "$@"
    ./vendor/bin/psalm
)

# Run composer
task_composer()(
      composer "$@"
)

# Fix code style
task_cs_fix()(
    ./vendor/bin/php-cs-fixer fix --allow-risky=yes "$@"
)

# Run tests
task_tests()(
    ./vendor/bin/phpunit "$@"
)
