@@ -1,6 +1,6 @@
11# This Travis job script has been generated by a script via
22#
3−# make_travis_yml_2.hs '--branch' 'master' '-o' '.travis.yml' 'http-api-data.cabal'
3+# runghc make_travis_yml_2.hs '--config' '--output' '.travis.yml' 'http-api-data.cabal'
44#
55# For more information, see https://github.com/hvr/multi-ghc-travis
66#
@@ -28,6 +28,8 @@ before_cache:
2828 - rm -fv $HOME/.cabal/packages/hackage.haskell.org/01-index.tar
2929 - rm -fv $HOME/.cabal/packages/hackage.haskell.org/01-index.tar.idx
3030
31+ - rm -fv $HOME/.cabal/packages/head.hackage
32+
3133matrix:
3234 include:
3335 - compiler: "ghc-7.8.4"
@@ -47,7 +49,11 @@ before_install:
4749 - HC=${CC}
4850 - HCPKG=${HC/ghc/ghc-pkg}
4951 - unset CC
50− - PATH=/opt/ghc/bin:/opt/ghc-ppa-tools/bin:$PATH
52+ - ROOTDIR=$(pwd)
53+ - mkdir -p $HOME/.local/bin
54+ - "PATH=/opt/ghc/bin:/opt/ghc-ppa-tools/bin:$HOME/local/bin:$PATH"
55+ - HCNUMVER=$(( $(${HC} --numeric-version|sed -E 's/([0-9]+)\.([0-9]+)\.([0-9]+).*/\1 * 10000 + \2 * 100 + \3/') ))
56+ - echo $HCNUMVER
5157
5258install:
5359 - cabal --version
@@ -56,12 +62,16 @@ install:
5662 - TEST=${TEST---enable-tests}
5763 - HADDOCK=${HADDOCK-true}
5864 - INSTALLED=${INSTALLED-true}
65+ - GHCHEAD=${GHCHEAD-false}
5966 - travis_retry cabal update -v
60− - sed -i.bak 's/^jobs:/-- jobs:/' ${HOME}/.cabal/config
61− - rm -fv cabal.project.local
62− - "echo 'packages: .' > cabal.project"
67+ - "sed -i.bak 's/^jobs:/-- jobs:/' ${HOME}/.cabal/config"
68+ - rm -fv cabal.project cabal.project.local
69+ - "if [ $HCNUMVER -ge 70800 ]; then sed -i.bak 's/-- ghc-options:.*/ghc-options: -j2/' ${HOME}/.cabal/config; fi"
70+ - grep -Ev -- '^\s*--' ${HOME}/.cabal/config | grep -Ev '^\s*$'
71+ - "printf 'packages: \".\"\\n' > cabal.project"
72+ - cat cabal.project
6373 - if [ -f "./configure.ac" ]; then
64− (cd "."; autoreconf -i);
74+ (cd "." && autoreconf -i);
6575 fi
6676 - rm -f cabal.project.freeze
6777 - cabal new-build -w ${HC} ${TEST} ${BENCH} --project-file="cabal.project" --dep -j2 all
@@ -73,26 +83,30 @@ install:
7383# any command which exits with a non-zero exit code causes the build to fail.
7484script:
7585 # test that source-distributions can be generated
76− - (cd "."; cabal sdist)
86+ - (cd "." && cabal sdist)
7787 - mv "."/dist/http-api-data-*.tar.gz ${DISTDIR}/
78− - cd ${DISTDIR}
88+ - cd ${DISTDIR} || false
7989 - find . -maxdepth 1 -name '*.tar.gz' -exec tar -xvf '{}' \;
80− - "printf 'packages: http-api-data-*/*.cabal\n' > cabal.project"
90+ - "printf 'packages: http-api-data-*/*.cabal\\n' > cabal.project"
91+ - cat cabal.project
8192 # this builds all libraries and executables (without tests/benchmarks)
8293 - cabal new-build -w ${HC} --disable-tests --disable-benchmarks all
8394
8495 # Build with installed constraints for packages in global-db
85− - if $INSTALLED; then
86− 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;
87− else echo "Not building with installed constraints"; fi
96+ - 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
8897
8998 # build & run tests, build benchmarks
9099 - cabal new-build -w ${HC} ${TEST} ${BENCH} all
91100 - if [ "x$TEST" = "x--enable-tests" ]; then cabal new-test -w ${HC} ${TEST} all; fi
92101
102+ # cabal check
103+ - (cd http-api-data-* && cabal check)
104+
93105 # haddock
94106 - rm -rf ./dist-newstyle
95107 - if $HADDOCK; then cabal new-haddock -w ${HC} --disable-tests --disable-benchmarks all; else echo "Skipping haddock generation";fi
96108
97−# REGENDATA ["--branch","master","-o",".travis.yml","http-api-data.cabal"]
109+ - if [ $HCNUMVER -eq 70804 ]; then cabal new-build -w ${HC} --disable-tests --disable-benchmarks --constraint='attoparsec ==0.13.0.1' --constraint='attoparsec-iso8601 ==1.0.0.0' --constraint='bytestring ==0.10.4.0' --constraint='containers ==0.5.5.1' --constraint='hashable ==1.1.2.4' --constraint='http-types ==0.8.6' --constraint='text ==1.1.1.3' --constraint='time ==1.4.2' --constraint='time-local-compat ==0.1.1.0' --constraint='unordered-containers ==0.2.5.0' --constraint='uri-bytestring ==0.1.7' --constraint='uuid-types ==1.0.2' all; else echo skipping...; fi
110+
111+# REGENDATA ["--config","--output",".travis.yml","http-api-data.cabal"]
98112# EOF