install:
  # Using '-y' and 'refreshenv' as a workaround to:
  # https://github.com/haskell/cabal/issues/3687
  - choco install -y ghc --version 8.0.1
  - refreshenv
  - curl -o cabal.zip https://www.haskell.org/cabal/release/cabal-install-1.24.0.0/cabal-install-1.24.0.0-x86_64-unknown-mingw32.zip
  - 7z x cabal.zip
  - cabal --version
  - cabal update

build_script:
  - cd Cabal
  - ghc --make -threaded -i -i. Setup.hs -Wall -Werror

  # 'echo "" |' works around an AppVeyor issue:
  # https://github.com/commercialhaskell/stack/issues/1097#issuecomment-145747849
  - echo "" | ..\cabal install --only-dependencies --enable-tests

  - Setup configure --user --ghc-option=-Werror --enable-tests
  - Setup build
  - Setup test --show-details=streaming --test-option=--hide-successes
  - Setup install
  - cd ..\cabal-install
  - ghc --make -threaded -i -i. Setup.hs -Wall -Werror
  - echo "" | ..\cabal install --only-dependencies --enable-tests
  - ..\cabal configure --user --ghc-option=-Werror --enable-tests
  - ..\cabal build
  - ..\cabal test unit-tests --show-details=streaming --test-option=--pattern=!FileMonitor --test-option=--hide-successes
  - ..\cabal test integration-tests --show-details=streaming --test-option=--pattern=!exec --test-option=--hide-successes
