language: php
dist: trusty

php:
  - 5.4
  - 5.5
  - 5.6
  - 7.0
  - 7.1
  - 7.2
  - 7.3
  - 7.4

# faster builds on new travis setup not using sudo
sudo: false

# cache vendor dirs
cache:
  directories:
    - $HOME/.composer/cache

install:
  - travis_retry composer self-update && composer --version
  - export PATH="$HOME/.composer/vendor/bin:$PATH"
  - travis_retry composer install --prefer-dist --no-interaction

before_script:
  - |
    if [ $TRAVIS_PHP_VERSION = '5.6' ]; then
      PHPUNIT_FLAGS="--coverage-clover=coverage.clover"
    fi

script:
  - ./vendor/bin/phpunit $PHPUNIT_FLAGS

after_script:
  - |
    if [ $TRAVIS_PHP_VERSION = '5.6' ]; then
      travis_retry wget https://scrutinizer-ci.com/ocular.phar
      php ocular.phar code-coverage:upload --format=php-clover coverage.clover
    fi
