language: php

php:
  - 5.4
  - 5.5
  - 5.6
  - 7.0
  - 7.1
  - 7.2
  - hhvm

matrix:
  allow_failures:
    - php: 7.1
    - php: 7.2
    - php: hhvm

env:
    global:
    ##    - secure: "LtlUOzC8FtqgbqUTmU7EU281NSCb58UFdvnz8lelNIDltBdP4eayN/TsgNIePB4jXg2d2R56ZA6j/grhE/md6jdUkulV355H3GrH/hIZmmQ+F9+87agnwLzb9+MJbqXoiE7VvjY3zGIO09G897SUfsfu6JWEcscYFlsH6KcXM6M="

before_script:
  ## Packages
  - sudo apt-get -qq update > /dev/null
  - sudo apt-get -qq install graphviz > /dev/null
  ## Composer
  - composer self-update
  - composer install --prefer-source --dev
  ## PHPDocumentor
  - mkdir -p build/docs
  - mkdir -p build/coverage

script:
  ## PHP_CodeSniffer
  - ./vendor/bin/phpcs src/ tests/ --standard=PSR2 -n
  ## PHP Copy/Paste Detector
  # - ./vendor/bin/phpcpd src/
  ## PHP Mess Detector
  - ./vendor/bin/phpmd src/,tests/ text ./phpmd.xml.dist
  ## PHPUnit
  - ./vendor/bin/phpunit -c ./ --coverage-text --coverage-html ./build/coverage
  ## PHPLOC
  - ./vendor/bin/phploc src/
  ## PHPDocumentor
  - ./vendor/bin/phpdoc -q -d ./src -t ./build/docs --template="responsive-twig"

after_script:
  ## PHPDocumentor
  ## - bash .travis_shell_after_success.sh
  ## Scrutinizer
  - wget https://scrutinizer-ci.com/ocular.phar
  - php ocular.phar code-coverage:upload --format=php-clover build/logs/clover.xml

notifications:
  webhooks:
    urls:
      - https://webhooks.gitter.im/e/e019b92a7793d27e080c
    on_success: change  # options: [always|never|change] default: always
    on_failure: always  # options: [always|never|change] default: always
    on_start: false     # default: false