build: false
platform:
  - x64
clone_folder: c:\projects\php-project-workspace

## Build matrix for lowest and highest possible targets
environment:
  matrix:
  - dependencies: lowest
    php_ver_target: 5.6
  - dependencies: lowest
    php_ver_target: 7.0
  - dependencies: lowest
    php_ver_target: 7.1
  - dependencies: lowest
    php_ver_target: 7.2
  - dependencies: current
    php_ver_target: 5.6
  - dependencies: current
    php_ver_target: 7.0
  - dependencies: current
    php_ver_target: 7.1
  - dependencies: current
    php_ver_target: 7.2
  - dependencies: highest
    php_ver_target: 5.6
  - dependencies: highest
    php_ver_target: 7.0
  - dependencies: highest
    php_ver_target: 7.1
  - dependencies: highest
    php_ver_target: 7.2

## Cache composer file
cache:
    - '%LOCALAPPDATA%\Composer\files -> composer.lock'

## Set up environment varriables
init:
    - SET PATH=C:\Program Files\OpenSSL;c:\tools\php;%PATH%
    - SET COMPOSER_NO_INTERACTION=1
    - SET PHP=1
    - SET ANSICON=121x90 (121x90)

## Install PHP and composer, and run the appropriate composer command
install:
    - IF EXIST c:\tools\php (SET PHP=0)
    - ps: appveyor-retry cinst --params '""/InstallDir:C:\tools\php""' --ignore-checksums -y php --version ((choco search php --exact --all-versions -r | select-string -pattern $env:php_ver_target | sort { [version]($_ -split '\|' | select -last 1) } -Descending | Select-Object -first 1) -replace '[php|]','')
    - cd c:\tools\php
    - IF %PHP%==1 copy php.ini-production php.ini /Y
    - IF %PHP%==1 echo date.timezone="UTC" >> php.ini
    - IF %PHP%==1 echo extension_dir=ext >> php.ini
    - IF %PHP%==1 echo extension=php_openssl.dll >> php.ini
    - IF %PHP%==1 echo extension=php_mbstring.dll >> php.ini
    - IF %PHP%==1 echo extension=php_fileinfo.dll >> php.ini
    - IF %PHP%==1 echo @php %%~dp0composer.phar %%* > composer.bat
    - appveyor-retry appveyor DownloadFile https://getcomposer.org/composer.phar
    - cd c:\projects\php-project-workspace
    - composer config --unset platform.php
    - IF %dependencies%==lowest appveyor-retry composer update --prefer-lowest --no-progress --profile -n
    - IF %dependencies%==current appveyor-retry composer install --no-progress --profile
    - IF %dependencies%==highest appveyor-retry composer update --no-progress --profile -n
    - composer show

## Run the actual test
test_script:
    - cd c:\projects\php-project-workspace
    - vendor/bin/phpunit -c phpunit.xml.dist
