language: cpp
matrix:
  include:
  - os: linux
    dist: trusty
    sudo: required
    compiler: clang
    env: 
    - DEPLOY=false
    - CCACHE_CPP2=yes
    cache:
    - ccache
    directories:
      - '$HOME/.sonar/cache'
  - os: osx
    compiler: clang
    env: DEPLOY=true
    osx_image: xcode9
before_install:
- |
  if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
    sudo apt-get -qq update;
    sudo apt-get install -y qtbase5-dev;
    sudo apt-get install -y libqt5svg5-dev;
    sudo apt-get install -y qt5-default;
    sudo apt-get install -y qttools5-dev-tools;
    sudo apt-get install -y libqt5xmlpatterns5-dev;
    sudo apt-get install -y libqt5core5a;
    sudo apt-get install -y libqt5gui5;
    sudo apt-get install -y libqt5printsupport5;
    sudo apt-get install -y libqt5svg5;
    sudo apt-get install -y libqt5widgets5;
    sudo apt-get install -y libqt5xml5;
    sudo apt-get install -y libqt5xmlpatterns5;
    sudo apt-get install -y xpdf;
    sudo apt-get install -y xvfb;
    wget https://launchpad.net/ubuntu/+archive/primary/+files/ccache_3.3.4-1_amd64.deb;
    sudo dpkg -i ccache_3.3.4-1_amd64.deb;
  else
    brew update > /dev/null;
    brew install qt5;
    chmod -R 755 /usr/local/opt/qt5/*
  fi
before_script:
- |
  if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
    uname -a;
    which qmake;
  else
    QTDIR="/usr/local/opt/qt5";
    PATH="$QTDIR/bin:$PATH";
    LDFLAGS=-L$QTDIR/lib;
    CPPFLAGS=-I$QTDIR/include;
    PKG_CONFIG_PATH=/usr/local/opt/qt5/lib/pkgconfig;
  fi
- mkdir build
- cd build
- pwd
- qmake --version
- |
  if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
    qmake ../Valentina.pro -r -spec linux-clang CONFIG+=noDebugSymbols CONFIG+=checkWarnings;
  else
    qmake ../Valentina.pro -r CONFIG+=noDebugSymbols CONFIG+=no_ccache CONFIG+=checkWarnings CONFIG+=noTests;
  fi
script:
- $CXX --version
- |
  if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
    build-wrapper-linux-x86-64 --out-dir ../bw-outputs make -j$(nproc);
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:"$TRAVIS_BUILD_DIR/build/src/libs/vpropertyexplorer/bin:$TRAVIS_BUILD_DIR/build/src/libs/qmuparser/bin";
    xvfb-run -a make --silent check TESTARGS="-silent";
    cd ..;
    sonar-scanner;
  else
    make -j1;
  fi  
notifications:
  email:
    recipients:
    - dismine@gmail.com
    on_success: change
    on_failure: always
before_deploy:
- |
  if [[ "$DEPLOY" == "true" ]]; then
    ../scripts/macfixqtdylibrpath.py $TRAVIS_BUILD_DIR/build/src/app/valentina/bin/Valentina.app;
    tar -C $TRAVIS_BUILD_DIR/build/src/app/valentina/bin --exclude "*.DS_Store" -cvzf valentina-osx-${TRAVIS_COMMIT}.tar.gz Valentina.app/;
  fi
deploy:
  edge:
    branch: v1.8.47
  provider: bintray
  skip_cleanup: true
  file: ../share/bintray.json
  user: dismine
  key:
    secure: uffn23TzTrsW053VN7HbcURs6w16zRbM1RUUF579uRMOu+DxwiFQlOVcNifzK/CAARDSgi0xvNzGPlePXBXTkzA5r3KSWnHGbw0DJTllFIBNwkWPoDzCwAONK3ZtCq+FI3iJy+fLh2rhqXpJXD713O09PmO+TTiNBRdLCyO5BP1ndykLFdhdCR0knDpyaIYYLGvGS4SR4/LqtuHniDT9ydkhhkcmms/Bw+k8hcdrDhhk1v6jPv4qAm8QfydDeh+X9AVNrJjB0Oz2rtvYpBdY6hqVnrb77V1mdc4dU3WKxw+IkMYTTH1oq6ywdMv/Y+S9sch5h/af6O8su4ipGEp240cc7sVB+k4FE9fDVqXuOgl0LLFVqf2XbzRFAQbShmxIJ64XS43TM7s98qTCacAaiMfQvKPNSHCmCKRM3e5f5ASBcwn6UtFqdREZO/lsl+Bgdah3KCn8hw9PBTloLSnRpUQGheh/xnWwV5LTHVlSDu0FiyC6ncTI+xghNSDJWAhH2dZNX+yIjVolJ27/5qS5m3BG1x0yMGEP5Fok15sX2tP70s8FklqNtn2+xqUGEz+YJMGW0GbmFuFFhnCu2ls0BhyT68Pvz4YQWvG30SaO8EkZtYx7RNy3muuq1O2TXcctcK8xX7DNJTlFFCzCDSz6xqiO4IiQIQE1F2Td6Hru8cs=
  dry-run: false
  on:
    all_branches: true
    condition: $DEPLOY = true
addons:
  sonarqube:
    token:
      secure: Et0JMrRcVfmlNs+pwqUY1fJx49/SSwss0NMe46nSv8D6Tnv9zlPZyA8KPmOq3jIc9zsoa40dcrp3eXd3jBZrULSb2gD8KkAJAWuTFmBH7Hu18t8LGEnorh0puHK8S2jV5Ueowig67PF8hh20KjErDo7Wo0FDc14lLxCsm20Jt0WKzHU50aqWxAGY3f5f8po/o/6ClcuqPNfqXy4i93YIjgdsYsN2+PUoCSkm92yE7iA2Ggyx5Np93DajkEd75QtInhcbiP8OmNV0BMCMT41+evSnwgUhmyzzEgICrYwKwij0igsxPWkqiwI/jLC5qAOjp9KZqfK556c3FwsQY8hKEIdGKozXgcDMlBlIivQPF/zeo17LugifXjuie6lhC+e7stresxZSYmLhNFbrcKC98JF1GvBZj6xQnKoqp3+M+JAgP+LskyHVJABLHqbnYG+ubmIsTaTr6CsvRiq/9GoaODJIfkBATkPRb/WvLkPEuoJk3h+mW3oPlUbFVYs+6WPm9/+5WkKcEU7HS2nT1XM94TZh+7Adsd47vLzJ7KQ1vGK6pHChMcAK+MkZshSslvcn4H7is8sFkOSyZdMj/f+dnpTllpmU2AArPPVK6P2bQqGl8n16JY6lBw10KBkodpUd1D6JWXkNQIAyPUGGGjlqeqm1wetfad0hoHqrnQJ7HE0=