diff --git a/.travis.yml b/.travis.yml index c5f360f05bff4ec32fa8dc1441f45c3c4939dab1..41f783670e3c83cd8c971d5dbf78aaff0939d5bc 100644 --- a/.travis.yml +++ b/.travis.yml @@ -28,7 +28,7 @@ matrix: sudo: false - os: android language: android - env: SPEC=android-g++ CONFIG=release + env: SPEC=android-g++ CONFIG=installer sudo: false android: @@ -78,7 +78,10 @@ install: fi -before_script: qmake -r qgroundcontrol.pro CONFIG+=${CONFIG} CONFIG+=WarningsAsErrorsOn -spec ${SPEC} +before_script: + - if [[ "${TRAVIS_OS_NAME}" = "android" && "${CONFIG}" = "installer" && -z ${ANDROID_STOREPASS} ]]; then export CONFIG=release; fi + - qmake -r qgroundcontrol.pro CONFIG+=${CONFIG} CONFIG+=WarningsAsErrorsOn -spec ${SPEC} + script: - echo 'Building QGroundControl' && echo -en 'travis_fold:start:script.1\\r' - make -j4 @@ -87,18 +90,31 @@ script: - if [[ "${TRAVIS_OS_NAME}" = "linux" && "${CONFIG}" = "debug" ]]; then ./debug/qgroundcontrol --unittest; fi - if [[ "${TRAVIS_OS_NAME}" = "osx" && "${CONFIG}" = "debug" ]]; then ./debug/qgroundcontrol.app/Contents/MacOS/qgroundcontrol --unittest; fi - echo -en 'travis_fold:end:script.2\\r' - - if [ "${TRAVIS_OS_NAME}" = "android" ]; then make install INSTALL_ROOT=./release/android-build/ && androiddeployqt --input android-libqgroundcontrol.so-deployment-settings.json --output release/android-build --deployment bundled --gradle; fi - - if [[ "${TRAVIS_OS_NAME}" = "android" && "${CONFIG}" = "release" && "${TRAVIS_SECURE_ENV_VARS}" = "true" ]]; then androiddeployqt --input android-libqgroundcontrol.so-deployment-settings.json --output release/android-build --deployment bundled --gradle --sign android/android_release.keystore dagar --storepass ${ANDROID_STOREPASS}; fi deploy: - provider: releases - api-key: - secure: "" - file: "release/qgroundcontrol.dmg" - skip_cleanup: true - on: - tags: true - all_branches: true + - provider: s3 + access_key_id: AKIAIVORNALE7NHD3T6Q + secret_access_key: + secure: BsLXeXUPsCJdX4tawrDnO8OFK5Hk4kzlDTiyH93En6TbjUargVAWDMcHVj7TUhr7+3Tao1W1zb0G4SJe9kHv+jrky0yE72KvoG3YAON0VXWKizxBAKkgHE2RxSTNAwDeKbi2G6YJfNDescBBfX7zEohShdXglQu7CGaUQKRaiI4= + bucket: qgroundcontrol + local_dir: release/package + upload-dir: ${TRAVIS_BRANCH} + acl: public_read + skip_cleanup: true + on: + all_branches: true + condition: $CONFIG = installer + - provider: releases + api-key: + secure: K/Zqr/FCC7QvzFxYvBtCinPkacQq2ubJ2qm982+38Zf/KjibVOF1dEbVdrGZmII6Tg5DaQzNXGYkg5PvYmJgT9xRsqeQjeYIUYqYZpAt+HYWA38AVfMU8jip/1P1wmwqD469nzJOBBa8yfsMs6Ca7tBaNl/zTxCRGnAgEzqtkdQ= + file: + - release/package/qgroundcontrol.apk + - release/package/qgroundcontrol.dmg + - release/package/qgroundcontrol.tar.bz2 + skip_cleanup: true + on: + tags: true + condition: $CONFIG = installer notifications: webhooks: diff --git a/QGCInstaller.pri b/QGCInstaller.pri index d7bf0d2bccb48a9f84e84c3a0301af6ae63e9bf7..b5d1ae5331b4f67d263dfb96adf83ddd29957dbd 100644 --- a/QGCInstaller.pri +++ b/QGCInstaller.pri @@ -36,10 +36,10 @@ installer { # We cd to release directory so we can run macdeployqt without a path to the # qgroundcontrol.app file. If you specify a path to the .app file the symbolic # links to plugins will not be created correctly. - QMAKE_POST_LINK += && cd release + QMAKE_POST_LINK += && cd release && mkdir package QMAKE_POST_LINK += && $$dirname(QMAKE_QMAKE)/macdeployqt qgroundcontrol.app -verbose=2 -qmldir=../src QMAKE_POST_LINK += && cd .. - QMAKE_POST_LINK += && hdiutil create -layout SPUD -srcfolder $${DESTDIR}/qgroundcontrol.app -volname QGroundControl $${DESTDIR}/qgroundcontrol.dmg + QMAKE_POST_LINK += && hdiutil create -layout SPUD -srcfolder $${DESTDIR}/qgroundcontrol.app -volname QGroundControl $${DESTDIR}/package/qgroundcontrol.dmg } WindowsBuild { # The pdb moving command are commented out for now since we are including the .pdb in the installer. This makes it much @@ -52,6 +52,13 @@ installer { OTHER_FILES += deploy/qgroundcontrol_installer.nsi } LinuxBuild { - QMAKE_POST_LINK += && tar -cjf qgroundcontrol.tar.bz2 release --transform 's/release/qgroundcontrol/' + QMAKE_POST_LINK += && mkdir -p release/package + QMAKE_POST_LINK += && tar -cjf release/package/qgroundcontrol.tar.bz2 release --exclude='package' --transform 's/release/qgroundcontrol/' + } + AndroidBuild { + QMAKE_POST_LINK += && mkdir -p release/package + QMAKE_POST_LINK += && make install INSTALL_ROOT=release/android-build/ + QMAKE_POST_LINK += && androiddeployqt --input android-libqgroundcontrol.so-deployment-settings.json --output release/android-build --deployment bundled --gradle --sign android/android_release.keystore dagar --storepass $$(ANDROID_STOREPASS) + QMAKE_POST_LINK += && cp release/android-build/build/outputs/apk/android-build-release-signed.apk release/package/qgroundcontrol.apk } }