language: php
php:
  - 5.5
  - 5.6

env:
  global:
# Encrypted private key of the deploy key of the github.com/mapserver/coverage.git repository
     - secure: "B1Tt18Q4F82+cXlj4fBoZDiyWbXLuzpJD6jt828qiS/i9ws8IEqYF7x3V4fo\nAnO1pZ84hdIOEfcSj2tFnysCPZ+zpOPzN2ma7iVEgmFTPNXf8pSx8CTXtiI/\nohUEcnARRCyuCK7cjEP5m4iWGazI+Pc563X4g67ToRPkLhIdrEg="
     - secure: "OvxCriM3Dwa0wkZ+nQL8e6nuMrG2hrfET+QEPRps/fPSGSR+yRWo04hBqRn2\niBTJGpi0JvaTN0pxjCx2I/+4jbzkNt+J6IqSz2KTUzseiWA3tyAN8uel6fIo\nkS90UJ7OeKUuYkvzfVwYn6pxM6b+CN6+DTs0dlWgxyMg/AtVdz8="
     - secure: "Vcf+jOzNtXapBf8qfM8N0ZTarQ9B7qqvG8X8fLJP5M2uDO2BrruMIZPpxwcL\nGMBkkZZGuofeqOs+BNxwnO1l4YOC+JUzQGQnExbEi02QDVzdR4+3sUvruXtL\nU/ppXvjghchgqvVp8QMjiVkUG1Ja1qwwCDM0GSN/PTfBy+Pjav0="
     - secure: "FcCFPhMjgeAcSMFiTaZC6cp3IrAP9PvpAiuiKchG2smlQe85nvwdUbap7aFu\nJ8ujnuqzQJ1pc2+GAtCn0OZZ1Bh9mW31FEESiU74TphaKOFY8qAKrR7TamWx\n5XLqHvNu16LlOy/Cy8G82dMCGzPJCadM/ZwdI/RsWwRqjHgIHv0="
     - secure: "Zs2+0yF2P6WWVT4o1kmgkSRmHUL1dkAYk+tHU0Piie+czblouMmqdJwsBNP6\nQF454VinL3Pu2tgbDAF10V+HknW/0ZevvmcrNa9k+Hjry8VtMNdM7jMqv4it\nYU5IGR55wfRg5q6c1jRxIPwc3Ssh2VOlz7HByppPG6i37prYO8I="
     - secure: "rnFScHTmX9VDMUquOlP1FPGCr/GpCu64xw4m5AC5nIP/BCSdFSak02cc/JgC\nJPvuoud5xftyBspPRDB2eBP4YXOcPuSEdysibpGGBagKj7faCNQmCZSDd3zR\nWvLJwlfuQ39PoTIHU6O/TCX4U+v/gm4WJMwm1Tip1ID+wqqyoNU="
     - secure: "h57JVvts9A0XF9ckGGokZwuD1hTBDOS0o1Yq3lD0Xd2BeJrgAXwgnKsBnBNP\nEMTBfRLGVyTgR8hiamySlWUUyVVQXMuLvKu1JnlrnZltMC8YGH4QEQwc7Twj\ni2GmsouUUHGOHU10U1F+YllSWZJjfLa6kgjkMNHg617c+PZfPLg="
     - secure: "gB/9lGc5o6xeJSLler3s5ZmP0Kn+x1knSw5BIUQkke7rzWlMIaeZHqEf1iQm\n49Q2Aepo0I+RdAaGNlPHR3KrUc3P3/ZokWZ1zv449Mh0OKLNrLSE+CruuVYj\n2XcOrLC2vjSsMfaM9520spdjbvVpcTUKJho9kGRTPKLs8YbGLv8="
     - secure: "px+guXOAtfmiBRub6sgvzlidKEmCNVthyAcaRHRzdtl6j7XoXHPGL2QHb8YH\nxV/wtDnLFIZi1eoShpLwABGvqQ1KQ20X+nz8FWZDnmDK3PXVBTqaUMyarmEB\nT7UohY94d8S2NqWJqeiOqVfMBOsIve9N1g3mcSUAlYMngEYoVt0="
     - secure: "jPxrLpA61LxMH2a8k9P22l3/7Yx+Lhzmrne61xkFGo1F9oqwHap88AKm0gP3\nEApgDmCVRvHgetfEFIxapF+6yPZinE0EsqJonKS1NCeKjs91LMsM7Dr3UiU3\nNaco2w3B0v6dDOdG1JhAV6N/CqdWXz85hooSWsLrWpYMtPbOfJQ="
     - secure: "dFvmnenj189QmbFdTW2ckHPbYojouowtz8cURDrR/2BiU0a3GUUDHP0h9O+c\nLDfJ1g03hsMr8m/45QdpL/x2lROimczFNu/U+uS8Vtja1z4SYaOMDjW4p3pq\nqPzQc/WmlpBY8wmfCH1WqmRRPvrfKceEDtVhWXruxpSZUx/OvoY="
     - secure: "TmOZmx8kyEOCUOMmWKuPpKzqBpbCKMOJpankHhhEAwJ00iJ3bMzdZk7dFsMV\nq9sk2nAgkARsVakfhiUvM516CKgf3J5rskUq+AQs6JdFP8w9A3LKowLHxlqg\nCvhQtOm3ff1EVQKeDOfgUxaI20Ulq6sl+b1/uq2W1v25IqwR1ps="
     - secure: "rYU47VfOGgheYhF/Xy6DM9iRi+NPSoyfMQ9B0Hoznm7k/TI1ojEky/wnIp3A\n+UdkoNo0xYzLZdjY4b1UBukMTKZJXVpYHs+KwKMhJQU3UaXpWEWo0Hqr8fU1\nOf7nspF27o79xcc3R+Okuz7L2J8+jD6Ggi2NW5vvp2S+jQW4Py4="
     - secure: "PXqhXu3cK9nf80Pv4AgqS2R8HVLAHVGozqfAeAgPDOZQYUCbAyEm/QZ5WbPb\nzNQAYuEFVjt59H0b3fOM5rUSX8Igx0NeG9rxG6WYyitXZWinXyeKeZ5yKn1f\nI/gIZPVH1r1H30+TCOH9sD9rH/2eRzb5ycDGKccZfv5/MocwKwg="
     - secure: "KK6YzOtwmbd3UbfiavTowvUkTGXN23ZMONwP7OpTTDZ+1/XVBeiuGLJAdHsn\nLPOImlytI9SavQekA6w4EaPb9VLRoC+O1CXOlllEjxfo0LojXDBKCaoyXOx3\nu1K8aXjyeZ2dPagjz06NV6r+y9tGypHrR7qXArVANRkzsajpABM="
     - secure: "XH1YshS/QJTOWxlccDjHVCSnN3IDYqug8hw+xOpNXeKR/VbZ82lv6s1gURHh\nKI6jDPGUFiD/OA37SDmArT/CbZ2zDJtSB8YNDr8w/wInlp7vnWBoRWlFQ3eP\nsJDexlZTCvo3TUogHFpLrbq9WuEXLCJ/yfYq1zJfFvipDWR6MhQ="
     - secure: "QoM0cJU0QioMMcD8Vs4xD04+jMGrTmbxxESpR4fwllAhP0ZpZt8E1qPQV9Hq\nVNzRVF/FLMlmDL8LzAYOFzVZASpb0X0l5KmxqRN3rRkSDc/LLSQf+701W00T\nJLAUXB05JPvJE5QBM5VgqNivO1JAC/Y0D83Pio8fHxYFUG6M9DM="
     - secure: "LufnBePmcGefhwb3ofhBiPWdiGjGMa8G83HNdYv4BGMNyJqGa4rVaFg5yPa2\nLZx0JPwEoWK+i3QuI2ug37bSSBMf0130sUOn+E+Vy4fHeGrCdt3WrwSjACq5\nGgaBQ1JN6zLI8Gt4ekcOBOZNme6a+eMoW6asAhroIPoU1Jo/5o0="
     - secure: "LZorvKqv/ncsk6sZS5NaZch/msx3HCHcy3e6BEJwudQHnF5iLz8TGbJFL9UL\nXjVX6H+CmnOQW9qbMEWTfMVXuLEXCVpX0YoQuhYwYEbhdSmz8PFJlv8BxxJg\n3OOZo0QgD2ZZ/KBenj3XIVVKeS2jHBUhXKP8G6D88xmdt3GtzRY="
     - secure: "JmHFSkvxfoY6vfSM35K2eC4X0GN9n1SWapBzIFT70rz3PNKAY2QAGlvcMI2W\nZZ5JouXHHESXR+mujllzZRcx9ZJQ67k65OxG+a1ID+rivTO1A0kU36chBy8Q\nNgskyAD68gixuYts+4MXb1biXKdEO9AmUTu3zDvgqo5vcTIjvPU="
     - secure: "QMjLOqEDegfPTTlm1f4SX2/77XLqAjpPrQ483EGRY59/xrS1aI0l9jTgpgTv\nZ/JyuYOX+JkbQBeW1ZuAhaXH1Q2AZ7Sun+adJ0B4yLZTHFiiy2mIFe7CcUCi\np+WgxwSPvi+uZUvEEAczKFWDKvM8qyUwZoHqaYj7VU4mComfsyE="
     - secure: "RynRoItVw0gkM5OznZYhoDuukwOXVVXS5sF75G53FpoobXQYaUR20BoPFqtT\nHptuGei3f23Afiq3j807GWNoOxqVIaIoijMVxEBk6/xu43DYqUO3Nx4fB6Bk\nHdp4qNTfTVtsqy7IuXzbB3koS5xc1DUPHFDYh10pH5xWItUxlEc="
     - secure: "UVtqSIfAKYSW0J06QEo+HveY+krqc7rEvnO5SNVzcQCFahnfWOIec6WQPd6O\nF/wPRjcC/zxg8PK/u5RHOKDNY6/nFNnRE7b8+MkxKcWZiFy0TipGjr57n6GW\nzgBGFi4Kw8XqFkC4hKC2eqiA8iYC+xCVzLNtnT3zp0fBG/nSrR8="
     - secure: "jGoUxEIa0Mi1RZU+nZpgO9c5vw82Yl4s1h+0bimQ17OA44mmOD4UQ4ygkH+1\nKsDwJ1JxP85K2EVZdwI4EswHCH1gYRzHyO0Mo6r9LOB8aGb60mq4BCQj80oI\nlw/i4K037sb0zqys7uu0J0UD9Xep0F49uYBdrnXl5l/fLzHTm1w="
     - secure: "CzFKm/g+wLUdsu4ecEx6v93ZS/CM0/3hcBxPtt/nRbmF95KW+QZMIpwUbmsH\nIZhljPkWjKOceB1sotdJjXWzEuPMj64rh9cJyWw2WO7eGG0NtbovZPUEZF4P\nz6sa3KcjNnLYAMq3Op29p23DLaZWzJqy6yzFvYQF8lxUYIyhLDU="
     - secure: "fwO9vY9pIHgsCoETgQCkTVzKguuItFwLnkWOzZtzvt8fiJw2/ZafycnsTJMc\nh3/jZpn1+K+dQr7jMks9vKTXLq5101Z4SBbxaa0bt9NjyGlL72gf8sB331Oh\nLZ/E/415jeRT8sFoYNvKOfL+rtqqHaimJkaS/XvRUfru/zrb5Rw="
     - secure: "TN6ig2qgH6EFGEttDtD9rxj2bH3BUJA4rJafjOXiAdQUVcH9E6lWeIaorzy9\n5Empsi/iC2rXF9i+JwE+OreUh47NL3P9jQN8dNkRmyLiuGpVVmreXynLydsS\nmaxPVwRKKSkL1PR54ICQ/Blw0vR27AqlvxO/gLcESG9Xu3Isa4o="
     - secure: "BacSp+HDt0fEiSElLIzfTxi72sjO1VZkQc2/+AEJqYnGmBse1eofV9XRSlfd\nfm2qDXER34y2PerxBL5EmF3D0kG8vhBANOtHTHw5LlTR8xa/MJIMZag6zw7q\nBacSmiRNbw9XpTN+lcYvzrKFaf29exBvdKCGBv7qdMzLcEMxBVw="
     - secure: "Bj/9iVBA6DGVcGRdbt3bQms8VglgSjdhI7IwvRkO3Gfvq0FTg1Hu8nodAiwM\nrfMfHzvTGNZudAkBRmPE6xZtIbID6v89S8CqEx3iGU+qbvni2nVt1SzEppb4\n8oZLKlZf3dCthrR2rpIdVMcccWhW3AjDfHKO9OlV2VR90NkWKz4="
     - secure: "OJqQvNnWc0MWNOxsyhtfnn6XLj3Ssmcl+nRAp2KBwI691HvXMDsqmIXBEjq1\nql+iuNn7sxn9v+ooGXmrFS9CHndncmtKEvNzdi1HKlJhEAG0+MCYnwYwaQHr\n+6HhCnLoZ2wiE+OANFjodkQRNQ4VyATOEn5WFnp56CEtiFQiNzM="

compiler:
  - gcc
  - clang

before_install:
  - mkdir tmp
  - cd tmp
  - wget http://www.freedesktop.org/software/harfbuzz/release/harfbuzz-0.9.38.tar.bz2
  - tar xjf harfbuzz-0.9.38.tar.bz2
  - cd harfbuzz-0.9.38
  - ./configure --without-cairo --without-glib --without-icu
  - make -j3
  - sudo make install && sudo ldconfig
  - cd ../..
  - sudo mv /etc/apt/sources.list.d/pgdg-source.list* /tmp
  - sudo apt-get  remove postgis libpq5 libpq-dev postgresql-9.1-postgis postgresql-9.2-postgis postgresql-9.3-postgis postgresql-9.1 postgresql-9.2 postgresql-9.3 libgdal1
  - sudo add-apt-repository -y ppa:ubuntugis/ubuntugis-unstable
  - sudo apt-get update
  - sudo apt-get install bison flex python-lxml libfribidi-dev swig cmake librsvg2-dev colordiff postgis postgresql-9.1 postgresql-9.1-postgis-2.1 postgresql-9.1-postgis-2.1-scripts libpq-dev libpng12-dev libjpeg-dev libgif-dev libgeos-dev libgd2-xpm-dev libfreetype6-dev libfcgi-dev libcurl4-gnutls-dev libcairo2-dev libgdal1-dev libproj-dev libxml2-dev python-dev php5-dev libexempi-dev lcov lftp
  - sudo pip install git+git://github.com/tbonfort/cpp-coveralls.git@extensions
  - ./install-msautotest.sh
  - cd msautotest
  - ./create_postgis_test_data.sh
  - python -m SimpleHTTPServer &> /dev/null &
  - cd ..
  - touch maplexer.l
  - touch mapparser.y


script:
  - ./run-test-suite.sh

after_success:
# Only run coverage when it is safe to do so (not on pull requests), and only on master branch
  - echo "$TRAVIS_SECURE_ENV_VARS"
  - echo "$TRAVIS_BRANCH"
  - sh -c 'if test "$TRAVIS_SECURE_ENV_VARS" = "true" -a "$TRAVIS_BRANCH" = "master"; then echo "run coverage"; ./run_code_coverage_upload.sh; fi'
  - coveralls --exclude renderers --exclude mapscript --exclude apache --exclude build/mapscript/mapscriptJAVA_wrap.c --exclude build/mapscript/mapscriptPYTHON_wrap.c --exclude shp2img.c --exclude legend.c --exclude scalebar.c --exclude msencrypt.c --exclude sortshp.c --exclude shptreevis.c --exclude shptree.c --exclude testexpr.c --exclude sym2img.c --exclude testcopy.c --exclude shptreetst.c --exclude tile4ms.c --extension .c --extension .cpp

notifications:
  email:
    recipients:
      - thomas.bonfort@gmail.com
  irc:
    channels:
      - "irc.freenode.org#mapserver"
    use_notice: true

