language: haskell

sudo: false
cache:
  directories:
  - $HOME/.stack/

matrix:
  include:
    - env: GHCVER=7.4.2 GHCOPTS=-Werror
      compiler: ": #GHC 7.4.2"
      addons: {apt: {packages: [ghc-7.4.2], sources: [hvr-ghc]}}
    - env: GHCVER=7.6.3 GHCOPTS=-Werror
      compiler: ": #GHC 7.6.3"
      addons: {apt: {packages: [ghc-7.6.3], sources: [hvr-ghc]}}
    - env: GHCVER=7.8.4 GHCOPTS=-Werror
      compiler: ": #GHC 7.8.4"
      addons: {apt: {packages: [ghc-7.8.4], sources: [hvr-ghc]}}
    - env: GHCVER=7.10.2 GHCOPTS=-Werror
      compiler: ": #GHC 7.10.2"
      addons: {apt: {packages: [ghc-7.10.2], sources: [hvr-ghc]}}

before_install:
- mkdir -p ~/.local/bin
- export PATH=~/.local/bin:/opt/ghc/$GHCVER/bin:$PATH
- travis_retry curl -L https://github.com/commercialhaskell/stack/releases/download/v0.1.1.0/stack-0.1.1.0-x86_64-linux.gz | gunzip > ~/.local/bin/stack
- chmod a+x ~/.local/bin/stack

install:
  - ./travis_long stack setup --no-terminal --skip-ghc-check
  - ./travis_long stack build --test --no-terminal --only-snapshot --skip-ghc-check

script:
  - stack build --test --haddock --no-terminal --skip-ghc-check