forked from Leanplum/Leanplum-Android-SDK
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.sh
executable file
·84 lines (74 loc) · 2.9 KB
/
build.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#!/usr/bin/env bash
#
# LPM | Author: Ben Marten
# Copyright (c) 2017 Leanplum Inc. All rights reserved.
#
set -eo pipefail; [[ $DEBUG ]] && set -x
# Check for Jenkins build number, otherwise default to curent time in seconds.
if [[ -z "${BUILD_NUMBER+x}" ]]; then
BUILD_NUMBER=$(date "+%s")
fi
export ANDROID_VERSION_STRING=${ANDROID_VERSION_STRING:-${ANDROID_VERSION}.${BUILD_NUMBER}}
for i in "$@"; do
case $i in
--upload)
upload=true
shift # past argument=value
;;
esac
done
# Root release directoy.
release_dir="./Release"
sdk_dir=$(pwd)/.
# Put 5 sub-modules into different dictories under Root release directory.
sdk_release_dir="${release_dir}/AndroidSDK"
sdk_core_dir="${sdk_dir}/AndroidSDKCore"
sdk_core_release_dir="${release_dir}/AndroidSDKCore"
sdk_fcm_dir="${sdk_dir}/AndroidSDKFcm"
sdk_fcm_release_dir="${release_dir}/AndroidSDKFcm"
sdk_gcm_dir="${sdk_dir}/AndroidSDKGcm"
sdk_gcm_release_dir="${release_dir}/AndroidSDKGcm"
sdk_location_dir="${sdk_dir}/AndroidSDKLocation"
sdk_location_release_dir="${release_dir}/AndroidSDKLocation"
sdk_push_dir="${sdk_dir}/AndroidSDKPush"
sdk_push_release_dir="${release_dir}/AndroidSDKPush"
rm -rf "$release_dir"
mkdir -p "$sdk_release_dir"
mkdir -p "$sdk_core_release_dir"
mkdir -p "$sdk_fcm_release_dir"
mkdir -p "$sdk_gcm_release_dir"
mkdir -p "$sdk_location_release_dir"
mkdir -p "$sdk_push_release_dir"
# Build the AndroidSDK using gradle.
rm -rf "${sdk_dir}/build"
rm -rf "${sdk_dir}/javadoc"
rm -rf "${sdk_core_dir}/build"
rm -rf "${sdk_core_dir}/javadoc"
rm -rf "${sdk_fcm_dir}/build"
rm -rf "${sdk_fcm_dir}/javadoc"
rm -rf "${sdk_gcm_dir}/build"
rm -rf "${sdk_gcm_dir}/javadoc"
rm -rf "${sdk_location_dir}/build"
rm -rf "${sdk_location_dir}/javadoc"
rm -rf "${sdk_push_dir}/build"
rm -rf "${sdk_push_dir}/javadoc"
gradle clean
gradle assembleRelease
gradle makeJar
gradle generateJavadoc
if [[ ! -z ${upload+x} ]]; then
gradle artifactoryPublish
fi
# Copy Javadocs and jar files.
cp "${sdk_dir}/AndroidSDK/build/intermediates/bundles/release/classes.jar" "${sdk_release_dir}/Leanplum.jar"
mv "${sdk_core_dir}/javadoc" "${sdk_core_release_dir}/."
cp "${sdk_core_dir}/build/intermediates/bundles/release/classes.jar" "${sdk_core_release_dir}/Leanplum-core.jar"
mv "${sdk_fcm_dir}/javadoc" "${sdk_fcm_release_dir}/."
cp "${sdk_fcm_dir}/build/intermediates/bundles/release/classes.jar" "${sdk_fcm_release_dir}/Leanplum-fcm.jar"
mv "${sdk_gcm_dir}/javadoc" "${sdk_gcm_release_dir}/."
cp "${sdk_gcm_dir}/build/intermediates/bundles/release/classes.jar" "${sdk_gcm_release_dir}/Leanplum-gcm.jar"
mv "${sdk_location_dir}/javadoc" "${sdk_location_release_dir}/."
cp "${sdk_location_dir}/build/intermediates/bundles/release/classes.jar" "${sdk_location_release_dir}/Leanplum-location.jar"
mv "${sdk_push_dir}/javadoc" "${sdk_push_release_dir}/."
cp "${sdk_push_dir}/build/intermediates/bundles/release/classes.jar" "${sdk_push_release_dir}/Leanplum-push.jar"
echo "${GREEN} Done.${NORMAL}"