Update Snapshot(2018-12-12)
[platform/upstream/iotivity.git] / build-im-sc-android64.sh
1 #!/bin/bash
2
3 ###### Please specify below ######
4 CLEAN_CMD="scons -c"
5 BUILD_CMD="scons TARGET_OS=android TARGET_ARCH=arm64-v8a TARGET_TRANSPORT=IP,BLE WITH_TCP=1 WITH_CLOUD=1 MULTIPLE_OWNER=1 SECURED=1 LOGGING=1 RELEASE=1 ANDROID_HOME=$ANDROID_HOME ANDROID_NDK=$ANDROID_NDK ANDROID_GRADLE=$ANDROID_GRADLE"
6 REMOVE_CMD="rm -rf out"
7 REMOVE_THIRDPARTY_CMD="rm service/third_party_libs.scons"
8 CONF_CMD=""
9 SPEC_CMD=""
10
11 # For Git
12 CLONE_CMD="git clone http://suprem.sec.samsung.net/gerrit/IoTivity samsung_iotivity"
13 FETCH_CMD="git fetch -p"
14 CHECKOUT_CMD="git checkout -f"
15 CHERRYPICK_PREFIX="git fetch http://suprem.sec.samsung.net/gerrit/IoTivity"
16 CHERRYPICK_CMD="git cherry-pick FETCH_HEAD"
17
18 msg_hello()
19 {
20     echo "***********************************************************************"
21     echo "*                                                                     *"
22     echo "*                         IoTivity Build Start.                       *"
23     echo "*                                                                     *"
24     echo "***********************************************************************"
25 }
26
27 msg_error()
28 {
29     echo ---------------------------------------------------------------------
30     echo "Fail to Build, Check Last Step. [$_STEP]"
31     echo ---------------------------------------------------------------------
32     exit 2
33 }
34
35 error_check()
36 {
37     if [ $? != 0 ]
38     then
39        msg_error
40     fi
41 }
42
43 # Check commit_info
44 _STEP=COMMIT
45 if [ "" = "$1" ];then
46     msg_error
47 fi
48 COMMIT_ID=$(awk '/^commit_id:/{print $2}' "$1")
49 echo COMMIT ID is $COMMIT_ID
50 error_check
51 if [ 0 == ${#COMMIT_ID} ];then
52     msg_error
53 fi
54
55 # Cherry pick_info
56 _STEP=CHERRYPICK
57 CHERRYPICK_ID=$(awk '/^cherrypick_cmd_id:/{print $5}' "$1")
58 for cherry_pic_arr in $CHERRYPICK_ID
59 do
60     echo CHERRY_PICK_ID is $cherry_pic_arr
61     error_check
62 done
63
64 # Check Source Code
65 _STEP=INIT
66 msg_hello
67 if [ ! -d resource/csdk ];then
68     if [ ! -d samsung_iotivity ];then
69         echo $CLONE_CMD
70         $CLONE_CMD
71         error_check
72     fi
73     cd ./samsung_iotivity
74 fi
75 error_check
76
77 _STEP=FETCH
78 echo $FETCH_CMD
79 $FETCH_CMD
80 error_check
81
82 _STEP=CLEAN
83 if [ -d out ]; then
84     echo $REMOVE_THIRDPARTY_CMD
85     $REMOVE_THIRDPARTY_CMD
86     echo $CLEAN_CMD
87     $CLEAN_CMD
88     error_check
89     echo $REMOVE_CMD
90     $REMOVE_CMD
91     error_check
92 fi
93
94 _STEP=CHECKOUT
95 echo $CHECKOUT_CMD $COMMIT_ID
96 $CHECKOUT_CMD $COMMIT_ID
97 error_check
98
99 _STEP=CHERRYPICK
100 if $isCherrypickFile ; then
101     for arr_cherry_pick_cmd in $CHERRYPICK_ID; do
102         echo $CHERRYPICK_PREFIX $arr_cherry_pick_cmd 
103         $CHERRYPICK_PREFIX $arr_cherry_pick_cmd
104         echo $CHERRYPICK_CMD
105         $CHERRYPICK_CMD
106         error_check
107     done
108 fi
109
110 _STEP=CONF
111 echo $CONF_CMD
112 $CONF_CMD
113 echo $SPEC_CMD
114 $SPEC_CMD
115 error_check
116
117 _STEP=BUILD
118 echo $BUILD_CMD
119 if [ $ANDROID_HOME ];then
120     $BUILD_CMD
121     error_check
122 else
123     echo "Please add ANDROID_HOME in .bashrc file."
124     msg_error
125 fi