@@ -26,27 +26,13 @@ before_cache:
2626
2727matrix:
2828 include:
29− - compiler: "ghc-7.10.1"
30− # env: TEST=--disable-tests BENCH=--disable-benchmarks
31− addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head,ghc-7.10.1], sources: [hvr-ghc]}}
32− - compiler: "ghc-7.10.2"
33− # env: TEST=--disable-tests BENCH=--disable-benchmarks
34− addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head,ghc-7.10.2], sources: [hvr-ghc]}}
35− - compiler: "ghc-7.10.3"
36− # env: TEST=--disable-tests BENCH=--disable-benchmarks
37− addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head,ghc-7.10.3], sources: [hvr-ghc]}}
38− - compiler: "ghc-8.0.1"
39− # env: TEST=--disable-tests BENCH=--disable-benchmarks
40− addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head,ghc-8.0.1], sources: [hvr-ghc]}}
41− - compiler: "ghc-8.0.2"
42− # env: TEST=--disable-tests BENCH=--disable-benchmarks
43− addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head,ghc-8.0.2], sources: [hvr-ghc]}}
4429 - compiler: "ghc-8.2.1"
4530 # env: TEST=--disable-tests BENCH=--disable-benchmarks
4631 addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head,ghc-8.2.1], sources: [hvr-ghc]}}
4732
4833before_install:
4934 - HC=${CC}
35+ - HCPKG=${HC/ghc/ghc-pkg}
5036 - unset CC
5137 - PATH=/opt/ghc/bin:/opt/ghc-ppa-tools/bin:$PATH
5238 - PKGNAME='cabal2nix'
@@ -56,8 +42,10 @@ install:
5642 - echo "$(${HC} --version) [$(${HC} --print-project-git-commit-id 2> /dev/null || echo '?')]"
5743 - BENCH=${BENCH---enable-benchmarks}
5844 - TEST=${TEST---enable-tests}
45+ - HADDOCK=${HADDOCK-true}
46+ - INSTALLED=${INSTALLED-true}
5947 - travis_retry cabal update -v
60− - sed -i 's/^jobs:/-- jobs:/' ${HOME}/.cabal/config
48+ - sed -i.bak 's/^jobs:/-- jobs:/' ${HOME}/.cabal/config
6149 - rm -fv cabal.project.local
6250 - "echo 'packages: .' > cabal.project"
6351 - rm -f cabal.project.freeze
@@ -84,8 +72,18 @@ script:
8472 # this builds all libraries and executables (including tests/benchmarks)
8573 # - rm -rf ./dist-newstyle
8674
87− # build & run tests
75+ # Build with installed constraints for packages in global-db
76+ - if $INSTALLED; then
77+ echo cabal new-build -w ${HC} --disable-tests --disable-benchmarks $(${HCPKG} list --global --simple-output --names-only | sed 's/\([a-zA-Z0-9-]\{1,\}\) */--constraint="\1 installed" /g') all | sh;
78+ else echo "Not building with installed constraints"; fi
79+
80+ # build & run tests, build benchmarks
8881 - cabal new-build -w ${HC} ${TEST} ${BENCH} all
8982 - if [ "x$TEST" = "x--enable-tests" ]; then cabal new-test -w ${HC} ${TEST} all; fi
9083
84+ # haddock
85+ - rm -rf ./dist-newstyle
86+ - if $HADDOCK; then cabal new-haddock -w ${HC} --disable-tests --disable-benchmarks all; else echo "Skipping haddock generation";fi
87+
88+# REGENDATA ["cabal2nix.cabal"]
9189# EOF