# SPDX-FileCopyrightText: (C) 2004-2019 Retroshare Team <contact@retroshare.cc>
# SPDX-License-Identifier: CC0-1.0

git:
  depth: 2000

language: cpp

matrix:
  include:
#    - os: linux
#      dist: bionic
#      sudo: required
#      compiler: gcc
    - os: osx
      osx_image: xcode10.2
      compiler: clang
      sudo: false

before_install:
  - if [ $TRAVIS_OS_NAME == linux ]; then sudo apt-get update; fi
  - >
    if [ $TRAVIS_OS_NAME == linux ]; then
    sudo apt-get install -y
    build-essential libssl-dev libsqlcipher-dev libbz2-dev libsqlite3-dev
    libupnp-dev pkg-config qt5-default libxss-dev qtmultimedia5-dev
    libqt5x11extras5-dev libqt5designer5 libxapian-dev qttools5-dev
    rapidjson-dev ;
    fi
  - if [ $TRAVIS_OS_NAME == osx ]; then brew update ; fi
  - if [ $TRAVIS_OS_NAME == osx ]; then brew install qt5; fi
  - if [ $TRAVIS_OS_NAME == osx ]; then brew link --force qt5 ; fi
  - >
    if [ $TRAVIS_OS_NAME == osx ]; then
    brew install openssl miniupnpc rapidjson sqlcipher;
    fi
  - if [ $TRAVIS_OS_NAME == osx ]; then brew install p7zip; fi
  - if [ $TRAVIS_OS_NAME == osx ]; then npm install -g appdmg; fi

env:
  global:
   # The next declaration is the encrypted COVERITY_SCAN_TOKEN, created
   #   via the "travis encrypt" command using the project repo's public key
   - secure: "auwuhxelaMriNaXzT8I03xrh1s+STicNyNToOWFCAYKxkWWQ4WeaCO6kRDmQrejhizMUILGU+s4FrWTEhDsviftGAF86EgzxxbSBfsHHAP4t2C0pcXX8/WxEoh1IrUs7iGCIpl7O2cvWqGidc20ROeptSEd1uQgkHnn14D9A2YmXf8g52PzqivKkb6HKfkVTPdmNJkMBT5eDtEw6DIk+DvnvRo6b6uanvVAKS9CBwXOdA3rLzaD9bz0LrdL9X1CNoTkGROyez0Lsc4zTr70id2Xfp1MMmJAV6hgQy+iwE37wRyrxJf3dkh5SUAAMUC9Xnvh/iBKNQKdQGhj2WGcV7GZV9k6u9DA1w2H0kcrwt9KHUXdhEQ67yr6Boa9ZFwdDb5VIOtC6iHAoDZXharHhiuxi0K/bCtwNAajrMjBCm9mWhEKvtoxUUYxAJajhJkkO3ERaOU3zHE+06esDzGozd2YOEH8a74HhYy4xvhR05Yj00hAWLS2kIaUITiqmBf6Yuh5XwH7KCDcapxF59ROWqyicdwtbfWpvN8IvFuGKyxYuEfoT8WxZ4lZpo4Q9CrTB7gedJYJxYNfZE/okWoFBb4cpPI94PHo3DZPR7lVyQ60RNyeR0nOeqf8NW8cBT1G4jw3u1LEyAdyvup+54aALw0DCVyoDojSXB8s+AlQG2JE="

addons:
  coverity_scan:
    project:
      name: "RetroShare/RetroShare"
      description: "RetroShare Build submitted via Travis CI"
    build_command_prepend: "qmake CONFIG+=no_sqlcipher; make clean"
    build_command: "make -j4"
    branch_pattern: coverity_scan

before_script:
  - env
  - if [ $TRAVIS_OS_NAME == linux ]; then qmake; fi
  - >
    if [ $TRAVIS_OS_NAME == osx ]; then
    qmake CONFIG+=rs_macos10.14 CONFIG+=c++14
    INCLUDEPATH+=$(find /usr/local/Cellar/miniupnpc/*/include | head -n 1)
    QMAKE_LIBDIR+=$(find /usr/local/Cellar/miniupnpc/*/lib/   | head -n 1)
    INCLUDEPATH+=$(find /usr/local/Cellar/openssl*/*/include/ | head -n 1)
    QMAKE_LIBDIR+=$(find /usr/local/Cellar/openssl*/*/lib/    | head -n 1)
    INCLUDEPATH+=$(find /usr/local/Cellar/rapidjson/*/include | head -n 1)
    INCLUDEPATH+=$(find /usr/local/Cellar/sqlcipher/*/include | head -n 1)
    QMAKE_LIBDIR+=$(find /usr/local/Cellar/sqlcipher/*/lib    | head -n 1);
    fi

script:
  - if [ "${COVERITY_SCAN_BRANCH}" != 1 ]; then travis_wait 30 make -j$(nproc); fi

after_success:
  - if [ $TRAVIS_OS_NAME == osx ]; then build_scripts/OSX/travis_makeOSXPackage.sh ; fi
#  - if [ $TRAVIS_OS_NAME == linux ] && [ "${COVERITY_SCAN_BRANCH}" != 1 ]; then make -j2; fi


# branches:
#   only:
#   - v0.6-MacOS-Travis-Deploy2

notifications:
  email: false
  irc:
  channels:
   - "chat.freenode.net#retroshare"
  template:
   - "%{repository}/%{branch} (%{commit} - %{author}): %{build_url}: %{message}"
   - "Message: %{commit_message}"
   - "Commit details: %{compare_url}"

deploy:
  provider: releases
  api_key:
    secure: auwuhxelaMriNaXzT8I03xrh1s+STicNyNToOWFCAYKxkWWQ4WeaCO6kRDmQrejhizMUILGU+s4FrWTEhDsviftGAF86EgzxxbSBfsHHAP4t2C0pcXX8/WxEoh1IrUs7iGCIpl7O2cvWqGidc20ROeptSEd1uQgkHnn14D9A2YmXf8g52PzqivKkb6HKfkVTPdmNJkMBT5eDtEw6DIk+DvnvRo6b6uanvVAKS9CBwXOdA3rLzaD9bz0LrdL9X1CNoTkGROyez0Lsc4zTr70id2Xfp1MMmJAV6hgQy+iwE37wRyrxJf3dkh5SUAAMUC9Xnvh/iBKNQKdQGhj2WGcV7GZV9k6u9DA1w2H0kcrwt9KHUXdhEQ67yr6Boa9ZFwdDb5VIOtC6iHAoDZXharHhiuxi0K/bCtwNAajrMjBCm9mWhEKvtoxUUYxAJajhJkkO3ERaOU3zHE+06esDzGozd2YOEH8a74HhYy4xvhR05Yj00hAWLS2kIaUITiqmBf6Yuh5XwH7KCDcapxF59ROWqyicdwtbfWpvN8IvFuGKyxYuEfoT8WxZ4lZpo4Q9CrTB7gedJYJxYNfZE/okWoFBb4cpPI94PHo3DZPR7lVyQ60RNyeR0nOeqf8NW8cBT1G4jw3u1LEyAdyvup+54aALw0DCVyoDojSXB8s+AlQG2JE=
  file: retroshare-gui/src/retroshare.dmg
  skip_cleanup: true
  on:
    repo: retroshare/RetroShare
    branch: v0.6-OSX-Deploy