blob: 497f11a4bed02c53c429cd5ca6426fb2978d9468 [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
Marcus Hoffmanna9cf0092018-04-23 18:26:24 +020018NO_GRADLE=0
Romain Bertozzi32692de2016-10-27 15:16:46 -040019for i in ${@}; do
20 case "$i" in
21 release|--release)
22 RELEASE=1
23 ;;
Alexandre Lision9db308d2016-11-26 18:43:27 -050024 daemon|--daemon)
25 DAEMON_ONLY=1
26 ;;
Marcus Hoffmanna9cf0092018-04-23 18:26:24 +020027 no-gradle|--no-gradle)
28 NO_GRADLE=1
29 ;;
Romain Bertozzi32692de2016-10-27 15:16:46 -040030 *)
31 ;;
32 esac
33done
34export RELEASE
Aline Bonnetaded8f22017-03-22 11:22:35 -040035export DAEMON_ONLY
Romain Bertozzi32692de2016-10-27 15:16:46 -040036
Adrien Béraud86759bb2016-09-28 13:54:54 -040037ANDROID_ABI_LIST="${ANDROID_ABI}"
38echo "Building ABIs: ${ANDROID_ABI_LIST}"
39for i in ${ANDROID_ABI_LIST}; do
40 echo "$i starts building"
41 ANDROID_NDK=$ANDROID_NDK ANDROID_SDK=$ANDROID_SDK ANDROID_ABI=$i \
Romain Bertozzi32692de2016-10-27 15:16:46 -040042 ./build-daemon.sh $* || { echo "$i build KO"; exit 1; }
Adrien Béraud86759bb2016-09-28 13:54:54 -040043 echo "$i build OK"
Alexandre Lision7d5df5d2014-10-27 13:10:01 -040044done
Alexandre Lision9db308d2016-11-26 18:43:27 -050045
Marcus Hoffmanna9cf0092018-04-23 18:26:24 +020046if [[ $NO_GRADLE -eq 0 ]]; then
47 if [ -z "$RING_BUILD_FIREBASE" ]; then
48 echo "Building without Firebase support"
Alexandre Lision6b792f02017-08-05 14:06:56 -040049 else
Marcus Hoffmanna9cf0092018-04-23 18:26:24 +020050 GRADLE_PROPERTIES="-PbuildFirebase"
51 echo "Building with Firebase support"
Alexandre Lision6b792f02017-08-05 14:06:56 -040052 fi
Marcus Hoffmanna9cf0092018-04-23 18:26:24 +020053 if [[ $DAEMON_ONLY -eq 0 ]]; then
54 if [[ $RELEASE -eq 1 ]]; then
Adrien Béraud62dea732018-09-15 23:12:39 -040055 cd $TOP && gradle $GRADLE_PROPERTIES assembleRelease
Marcus Hoffmanna9cf0092018-04-23 18:26:24 +020056 else
Adrien Béraud62dea732018-09-15 23:12:39 -040057 cd $TOP && gradle $GRADLE_PROPERTIES assembleDebug
Marcus Hoffmanna9cf0092018-04-23 18:26:24 +020058 fi
59 fi
60else
61 echo "Stopping before gradle build as requested."
Alexandre Lision9db308d2016-11-26 18:43:27 -050062fi