language: php

sudo: false

cache:
  directories:
    - $HOME/.composer/cache/files

php: [5.3, 5.4, 5.5, 5.6, 7.0, hhvm]

matrix:
  include:
    - php: 5.6
      env: SYMFONY_VERSION='2.3.*'
    - php: 5.6
      env: SYMFONY_VERSION='2.7.*'
    - php: 5.6
      env: SYMFONY_VERSION='2.8.*'
    - php: 7.0
      env: SYMFONY_VERSION='3.0.*'

before_install:
  - composer self-update
  - if [ "$SYMFONY_VERSION" != "" ]; then composer require --no-update symfony/yaml=$SYMFONY_VERSION; fi;

install:
  - composer install

script: vendor/bin/phpunit -v --coverage-clover=coverage.clover

after_script:
  # don't upload coverage on PHP 7 and HHVM as it cannot be generated. We don't want to tell Scrutinizer that the coverage generation failed.
  - if [[ "7.0" != "$TRAVIS_PHP_VERSION" && "$TRAVIS_PHP_VERSION" != "hhvm" ]]; then wget https://scrutinizer-ci.com/ocular.phar && php ocular.phar code-coverage:upload --format=php-clover coverage.clover; fi
