sudo: required
language: C++
os: osx
osx_image: xcode11.3
compiler: clang

before_install:
  - if ! [ "$DEPLOY_KEY_ENC" == "" ]; then
      echo $DEPLOY_KEY_ENC | base64 --decode | openssl aes-256-cbc -K $encrypted_83a41ac424a6_key -iv $encrypted_83a41ac424a6_iv -out ~/.ssh/id_rsa -d ;
      chmod 600 ~/.ssh/id_rsa ;
    fi
  - git fetch --unshallow
  - git pull
  - brew update
  - travis_wait 400 brew upgrade || echo "Failed"
  - travis_wait 400 brew upgrade || echo "Failed"
  - brew install glib pkgconfig libffi protobuf protobuf-c qt gettext gnutls fftw sqlite chromaprint zlib taglib
  - brew install gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav
  - brew install libcdio libmtp
  - brew install create-dmg
  - brew cask install sparkle
  - sudo ln -s /usr/local/Caskroom/sparkle/$(ls /usr/local/Caskroom/sparkle | head -n1)/Sparkle.framework /Library/Frameworks/Sparkle.framework
  - sudo ln -s /usr/local/Caskroom/sparkle/$(ls /usr/local/Caskroom/sparkle | head -n1)/Sparkle.framework.dSYM /Library/Frameworks/Sparkle.framework.dSYM
  - export Qt5_DIR=/usr/local/opt/qt5/lib/cmake
  - export Qt5LinguistTools_DIR=/usr/local/opt/qt5/lib/cmake/Qt5LinguistTools
  - ls /usr/local/lib/gstreamer-1.0
before_script:
  - mkdir build
  - cd build
  - cmake .. -DUSE_BUNDLE=ON
script:
  - make -j8
  - make install
  - make dmg2
after_success:
  - ls -lh strawberry*.dmg
  - if [[ "$TRAVIS_OS_NAME" == "osx" ]] && [ -f ~/.ssh/id_rsa ]; then
      if [[ "$TRAVIS_BRANCH" == "master" ]] || [[ "$TRAVIS_BRANCH" == "travis" ]]; then
        rsync -e "ssh -o StrictHostKeyChecking=no" -va strawberry*.dmg travis@echoes.jkvinge.net:/home/travis/builds/macos/mojave/;
      fi
    fi

branches:
  except:
    - # Do not build tags that we create when we upload to GitHub Releases
    - /^(?i:continuous)$/