@@ -18,7 +18,6 @@ cache:
1818 directories:
1919 - $HOME/.cabal/packages
2020 - $HOME/.cabal/store
21− - $HOME/.local/bin
2221
2322before_cache:
2423 - rm -fv $HOME/.cabal/packages/hackage.haskell.org/build-reports.log
@@ -33,12 +32,15 @@ matrix:
3332 include:
3433 - compiler: "ghc-7.8.4"
3534 # env: TEST=--disable-tests BENCH=--disable-benchmarks
35+ env: HADDOCK=false
3636 addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head,ghc-7.8.4], sources: [hvr-ghc]}}
3737 - compiler: "ghc-7.10.3"
3838 # env: TEST=--disable-tests BENCH=--disable-benchmarks
39+ env: HADDOCK=false
3940 addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head,ghc-7.10.3], sources: [hvr-ghc]}}
4041 - compiler: "ghc-8.0.2"
4142 # env: TEST=--disable-tests BENCH=--disable-benchmarks
43+ env: HADDOCK=false
4244 addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head,ghc-8.0.2], sources: [hvr-ghc]}}
4345 - compiler: "ghc-8.2.1"
4446 # env: TEST=--disable-tests BENCH=--disable-benchmarks
@@ -55,9 +57,10 @@ install:
5557 - echo "$(${HC} --version) [$(${HC} --print-project-git-commit-id 2> /dev/null || echo '?')]"
5658 - BENCH=${BENCH---enable-benchmarks}
5759 - TEST=${TEST---enable-tests}
60+ - HADDOCK=${HADDOCK-true}
61+ - INSTALLED=${INSTALLED-true}
5862 - travis_retry cabal update -v
5963 - sed -i 's/^jobs:/-- jobs:/' ${HOME}/.cabal/config
60− - sh install-hspec-discover.sh # TEMP: we should use build-tools-depends
6164 - rm -fv cabal.project.local
6265 - "echo 'packages: .' > cabal.project"
6366 - rm -f cabal.project.freeze
@@ -84,8 +87,17 @@ script:
8487 # this builds all libraries and executables (including tests/benchmarks)
8588 # - rm -rf ./dist-newstyle
8689
87− # build & run tests
90+ # Build with installed constraints for packages in global-db
91+ - if $INSTALLED; then
92+ ghc-pkg list --simple-output --names-only | sed -r 's/([a-zA-Z0-9-]+*) */--constraint=\1 installed;/g' | sed 's/;$/;all/' | xargs -d ';' cabal new-build -w ${HC} --disable-tests --disable-benchmarks;
93+ else echo "Not building with installed constraints"; fi
94+
95+ # build & run tests, build benchmarks
8896 - cabal new-build -w ${HC} ${TEST} ${BENCH} all
8997 - if [ "x$TEST" = "x--enable-tests" ]; then cabal new-test -w ${HC} ${TEST} all; fi
9098
99+ # haddock
100+ - rm -rf ./dist-newstyle
101+ - if $HADDOCK; then cabal new-haddock -w ${HC} --disable-tests --disable-benchmarks all; else echo "Skipping haddock generation";fi
102+
91103# EOF