@@ -64,14 +64,18 @@ install:
6464 - BENCH=${BENCH---enable-benchmarks}
6565 - TEST=${TEST---enable-tests}
6666 - HADDOCK=${HADDOCK-true}
67− - INSTALLED=${INSTALLED-true}
67+ - UNCONSTRAINED=${UNCONSTRAINED-true}
68+ - NOINSTALLEDCONSTRAINTS=${NOINSTALLEDCONSTRAINTS-false}
6869 - GHCHEAD=${GHCHEAD-false}
6970 - travis_retry cabal update -v
7071 - "sed -i.bak 's/^jobs:/-- jobs:/' ${HOME}/.cabal/config"
7172 - rm -fv cabal.project cabal.project.local
7273 - grep -Ev -- '^\s*--' ${HOME}/.cabal/config | grep -Ev '^\s*$'
7374 - "printf 'packages: \"servant-swagger-ui\" \"servant-swagger-ui-core\" \"servant-swagger-ui-example\" \"servant-swagger-ui-jensoleg\" \"servant-swagger-ui-redoc\"\\n' > cabal.project"
74− - cat cabal.project
75+ - touch cabal.project.local
76+ - "if ! $NOINSTALLEDCONSTRAINTS; then for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/^/constraints: /' | sed 's/-[^-]*$/ installed/' >> cabal.project.local; done; fi"
77+ - cat cabal.project || true
78+ - cat cabal.project.local || true
7579 - if [ -f "servant-swagger-ui/configure.ac" ]; then
7680 (cd "servant-swagger-ui" && autoreconf -i);
7781 fi
@@ -106,13 +110,13 @@ script:
106110 - cd ${DISTDIR} || false
107111 - find . -maxdepth 1 -name '*.tar.gz' -exec tar -xvf '{}' \;
108112 - "printf 'packages: servant-swagger-ui-*/*.cabal servant-swagger-ui-core-*/*.cabal servant-swagger-ui-example-*/*.cabal servant-swagger-ui-jensoleg-*/*.cabal servant-swagger-ui-redoc-*/*.cabal\\n' > cabal.project"
109− - cat cabal.project
113+ - touch cabal.project.local
114+ - "if ! $NOINSTALLEDCONSTRAINTS; then for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/^/constraints: /' | sed 's/-[^-]*$/ installed/' >> cabal.project.local; done; fi"
115+ - cat cabal.project || true
116+ - cat cabal.project.local || true
110117 # this builds all libraries and executables (without tests/benchmarks)
111118 - cabal new-build -w ${HC} --disable-tests --disable-benchmarks all
112119
113− # Build with installed constraints for packages in global-db
114− - if $INSTALLED; then 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; else echo "Not building with installed constraints"; fi
115−
116120 # build & run tests, build benchmarks
117121 - cabal new-build -w ${HC} ${TEST} ${BENCH} all
118122
@@ -127,6 +131,12 @@ script:
127131 - rm -rf ./dist-newstyle
128132 - if $HADDOCK; then cabal new-haddock -w ${HC} ${TEST} ${BENCH} all; else echo "Skipping haddock generation";fi
129133
134+ # Build without installed constraints for packages in global-db
135+ - if $UNCONSTRAINED; then rm -f cabal.project.local; echo cabal new-build -w ${HC} --disable-tests --disable-benchmarks all; else echo "Not building without installed constraints"; fi
136+
137+ # Constraint sets
138+ - rm -rf cabal.project.local
139+
130140 # Constraint set servant-0.7
131141 - if [ $HCNUMVER -ge 70800 ] && [ $HCNUMVER -lt 80000 ]; then cabal new-build -w ${HC} --disable-tests --disable-benchmarks --constraint='servant ==0.7.*' all; else echo skipping...; fi
132142
@@ -148,5 +158,9 @@ script:
148158 # Constraint set servant-0.13
149159 - if [ $HCNUMVER -ge 70800 ] && [ $HCNUMVER -lt 80600 ]; then cabal new-build -w ${HC} --disable-tests --disable-benchmarks --constraint='servant ==0.13.*' all; else echo skipping...; fi
150160
161+ # Constraint set servant-0.14
162+ - if [ $HCNUMVER -ge 70800 ] && [ $HCNUMVER -lt 80600 ]; then cabal new-build -w ${HC} --disable-tests --disable-benchmarks --constraint='servant ==0.14.*' all; else echo skipping...; fi
163+
164+
151165# REGENDATA ["--branch","master","--output",".travis.yml","--config","cabal.project"]
152166# EOF