diff options
| author | Linus Färnstrand <linus@mullvad.net> | 2020-03-30 18:13:33 +0200 |
|---|---|---|
| committer | Linus Färnstrand <linus@mullvad.net> | 2020-03-30 18:13:33 +0200 |
| commit | 0f09b3ea7e56382772508a717c1bca3422a9fd52 (patch) | |
| tree | b2ee6c66d327a4be4f8686fdf61eb70955fca55f | |
| parent | bb16d4bb7a26bdd578d46df9fafa7008b6339e3f (diff) | |
| parent | eae5cf9f4f8fd30db4fbe11c4c0bc91db791b25e (diff) | |
| download | mullvadvpn-0f09b3ea7e56382772508a717c1bca3422a9fd52.tar.xz mullvadvpn-0f09b3ea7e56382772508a717c1bca3422a9fd52.zip | |
Merge branch 'build-android-app-bundle'
| -rwxr-xr-x | build-apk.sh | 39 | ||||
| -rwxr-xr-x | ci/buildserver-build.sh | 4 | ||||
| -rwxr-xr-x | ci/buildserver-upload.sh | 4 |
3 files changed, 32 insertions, 15 deletions
diff --git a/build-apk.sh b/build-apk.sh index cf2a54cafd..8f1a8b9998 100755 --- a/build-apk.sh +++ b/build-apk.sh @@ -7,18 +7,28 @@ cd "$SCRIPT_DIR" PRODUCT_VERSION="$(node -p "require('$SCRIPT_DIR/gui/package.json').version" | sed -Ee 's/\.0//g')" +BUILD_TYPE="release" +GRADLE_TASK="assembleRelease" +BUNDLE_TASK="bundleRelease" +FILE_SUFFIX="" +CARGO_ARGS="--release" +BUILD_BUNDLE="no" -if [[ "${1:-""}" == "--dev-build" ]]; then - BUILD_TYPE="debug" - GRADLE_TASK="assembleDebug" - APK_SUFFIX="-debug" - CARGO_ARGS="" -else - BUILD_TYPE="release" - GRADLE_TASK="assembleRelease" - APK_SUFFIX="" - CARGO_ARGS="--release" +while [ ! -z "${1:-""}" ]; do + if [[ "${1:-""}" == "--dev-build" ]]; then + BUILD_TYPE="debug" + GRADLE_TASK="assembleDebug" + BUNDLE_TASK="bundleDebug" + FILE_SUFFIX="-debug" + CARGO_ARGS="" + elif [[ "${1:-""}" == "--app-bundle" ]]; then + BUILD_BUNDLE="yes" + fi + + shift 1 +done +if [[ "$BUILD_TYPE" == "release" ]]; then if [ ! -f "$SCRIPT_DIR/android/keystore.properties" ]; then echo "ERROR: No keystore.properties file found" >&2 echo " Please configure the signing keys as described in the README" >&2 @@ -91,7 +101,14 @@ cd "$SCRIPT_DIR/android" mkdir -p "$SCRIPT_DIR/dist" cp "$SCRIPT_DIR/android/build/outputs/apk/$BUILD_TYPE/android-$BUILD_TYPE.apk" \ - "$SCRIPT_DIR/dist/MullvadVPN-${PRODUCT_VERSION}${APK_SUFFIX}.apk" + "$SCRIPT_DIR/dist/MullvadVPN-${PRODUCT_VERSION}${FILE_SUFFIX}.apk" + +if [[ "$BUILD_BUNDLE" == "yes" ]]; then + ./gradlew --console plain "$BUNDLE_TASK" + + cp "$SCRIPT_DIR/android/build/outputs/bundle/$BUILD_TYPE/android.aab" \ + "$SCRIPT_DIR/dist/MullvadVPN-${PRODUCT_VERSION}${FILE_SUFFIX}.aab" +fi echo "**********************************" echo "" diff --git a/ci/buildserver-build.sh b/ci/buildserver-build.sh index b6b2ad18a0..84d303a1ef 100755 --- a/ci/buildserver-build.sh +++ b/ci/buildserver-build.sh @@ -43,7 +43,7 @@ EOF } upload() { - for f in MullvadVPN-*.{deb,rpm,exe,pkg,apk}; do + for f in MullvadVPN-*.{deb,rpm,exe,pkg,apk,aab}; do sha256sum "$f" > "$f.sha256" case "$(uname -s)" in # Linux is both the build and upload server. Just move directly to target dir @@ -116,7 +116,7 @@ build_ref() { ;; Linux*) echo "Building Android APK" - ./build-apk.sh || return 0 + ./build-apk.sh --app-bundle || return 0 ;; esac diff --git a/ci/buildserver-upload.sh b/ci/buildserver-upload.sh index 970a529f9b..0511c8dc27 100755 --- a/ci/buildserver-upload.sh +++ b/ci/buildserver-upload.sh @@ -9,7 +9,7 @@ cd $UPLOAD_DIR while true; do sleep 10 - for f_checksum in MullvadVPN-*.{deb,rpm,exe,pkg,apk}.sha256; do + for f_checksum in MullvadVPN-*.{deb,rpm,exe,pkg,apk,aab}.sha256; do sleep 1 f="${f_checksum/.sha256/}" if ! sha256sum --quiet -c "$f_checksum"; then @@ -17,7 +17,7 @@ while true; do continue fi - version=$(echo $f | sed -Ee 's/MullvadVPN-(.*)(\.exe|\.pkg|_amd64\.deb|_x86_64\.rpm|.apk)/\1/g') + version=$(echo $f | sed -Ee 's/MullvadVPN-(.*)(\.exe|\.pkg|_amd64\.deb|_x86_64\.rpm|\.apk|\.aab)/\1/g') ssh build.mullvad.net mkdir -p "app/$version" || continue scp -pB "$f" build.mullvad.net:app/$version/ || continue |
