blob: c535c9cfa726ef9dc7972e9cb0ee6d26b8724348 [file] [log] [blame]
Adrien Béraud04d822c2015-04-02 17:44:36 -04001#! /bin/bash
Adrien Béraud86759bb2016-09-28 13:54:54 -04002# Build Ring daemon and client APK for Android
Alexandre Lision43b9aeb2014-07-15 14:21:19 -04003
4if [ -z "$ANDROID_ABI" ]; then
Adrien Béraud4846f2b2018-06-24 12:52:24 -04005 ANDROID_ABI="armeabi-v7a arm64-v8a x86_64"
Adrien Béraud86759bb2016-09-28 13:54:54 -04006 echo "ANDROID_ABI not provided, building for ${ANDROID_ABI}"
Alexandre Lision43b9aeb2014-07-15 14:21:19 -04007fi
8
Alexandre Lision6b792f02017-08-05 14:06:56 -04009TOP=$(pwd)/ring-android
10
Alexandre Lision9db308d2016-11-26 18:43:27 -050011# Flags:
12
13 # --release: build in release mode
14 # --daemon: Only build the daemon for the selected archs
15
Romain Bertozzi32692de2016-10-27 15:16:46 -040016RELEASE=0
Alexandre Lision9db308d2016-11-26 18:43:27 -050017DAEMON_ONLY=0
Romain Bertozzi32692de2016-10-27 15:16:46 -040018for i in ${@}; do
19 case "$i" in
20 release|--release)
21 RELEASE=1
22 ;;
Alexandre Lision9db308d2016-11-26 18:43:27 -050023 daemon|--daemon)
24 DAEMON_ONLY=1
25 ;;
Romain Bertozzi32692de2016-10-27 15:16:46 -040026 *)
27 ;;
28 esac
29done
30export RELEASE
31
Adrien Béraud86759bb2016-09-28 13:54:54 -040032ANDROID_ABI_LIST="${ANDROID_ABI}"
33echo "Building ABIs: ${ANDROID_ABI_LIST}"
34for i in ${ANDROID_ABI_LIST}; do
35 echo "$i starts building"
36 ANDROID_NDK=$ANDROID_NDK ANDROID_SDK=$ANDROID_SDK ANDROID_ABI=$i \
Romain Bertozzi32692de2016-10-27 15:16:46 -040037 ./build-daemon.sh $* || { echo "$i build KO"; exit 1; }
Adrien Béraud86759bb2016-09-28 13:54:54 -040038 echo "$i build OK"
Alexandre Lision7d5df5d2014-10-27 13:10:01 -040039done
Alexandre Lision9db308d2016-11-26 18:43:27 -050040
Adrien Béraudbc741f52020-09-25 14:51:16 -040041if [[ $RELEASE -eq 1 ]]; then
42 echo "Archiving native debug symbols"
43 cd $TOP/app/src/main/libs
44 zip -r $TOP/app/symbols.zip .
45fi
46
Adrien Béraud471facd2020-09-14 12:58:54 -040047if [[ $DAEMON_ONLY -eq 0 ]]; then
Marcus Hoffmanna9cf0092018-04-23 18:26:24 +020048 if [ -z "$RING_BUILD_FIREBASE" ]; then
49 echo "Building without Firebase support"
Alexandre Lision6b792f02017-08-05 14:06:56 -040050 else
Marcus Hoffmanna9cf0092018-04-23 18:26:24 +020051 GRADLE_PROPERTIES="-PbuildFirebase"
52 echo "Building with Firebase support"
Alexandre Lision6b792f02017-08-05 14:06:56 -040053 fi
Adrien Béraud471facd2020-09-14 12:58:54 -040054 if [[ $RELEASE -eq 1 ]]; then
Adrien Béraud471facd2020-09-14 12:58:54 -040055 cd $TOP && gradle $GRADLE_PROPERTIES assembleRelease
56 else
57 cd $TOP && gradle $GRADLE_PROPERTIES assembleDebug
Marcus Hoffmanna9cf0092018-04-23 18:26:24 +020058 fi
Alexandre Lision9db308d2016-11-26 18:43:27 -050059fi