language: php

sudo: false

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

php:
    - 5.2
    - 5.3
    - 5.4
    - 5.5
    - 5.6
    - 7.0
    - 7.1
    - hhvm

env:
    - TWIG_EXT=no
    - TWIG_EXT=yes

before_install:
    - if [[ ! $TRAVIS_PHP_VERSION = hhvm* ]]; then phpenv config-rm xdebug.ini || echo "xdebug not available"; fi

install:
    # Composer is not available on PHP 5.2
    - if [ ${TRAVIS_PHP_VERSION:0:3} != "5.2" ]; then travis_retry composer install; fi

before_script:
    - if [ "$TWIG_EXT" == "yes" ]; then sh -c "cd ext/twig && phpize && ./configure --enable-twig && make && make install"; fi
    - if [ "$TWIG_EXT" == "yes" ]; then echo "extension=twig.so" >> `php --ini | grep "Loaded Configuration" | sed -e "s|.*:\s*||"`; fi
    - if [ ${TRAVIS_PHP_VERSION:0:3} == "5.2" ]; then sed -i.bak "s|vendor/autoload.php|test/bootstrap.php|" phpunit.xml.dist; fi

matrix:
    fast_finish: true
    exclude:
        - php: hhvm
          env: TWIG_EXT=yes
        - php: 7.0
          env: TWIG_EXT=yes
        - php: 7.1
          env: TWIG_EXT=yes