Merge "Enable nodeIntegration depending on the availability of Addons" into tizen
[platform/framework/web/wrtjs.git] / tizen / build / common.sh
1 #!/bin/bash
2
3 export SCRIPTDIR=$(readlink -e $(dirname $0))
4 export TOPDIR=$(readlink -f "${SCRIPTDIR}/../..")
5 export CHROME_SRC="${TOPDIR}"
6
7 # Please set DEFAULT_TIZEN_VERSION to empty value for the latest tizen version
8 # or set DEFAULT_TIZEN_VERSION to current tizen version for the others.
9 export DEFAULT_TIZEN_VERSION=latest
10
11 if [ "$(echo "$@" | grep -e "--tizen")" != "" ]; then
12   tizen_version=$(echo $@ | sed -e 's#.*--tizen_\([0-9.]*\).*#\1#')
13   if $(echo $tizen_version | grep -qe "^[-\?[0-9]\+\.\?[0-9]*$" && echo true || echo false); then
14     DEFAULT_TIZEN_VERSION=$tizen_version
15   else
16     DEFAULT_TIZEN_VERSION=latest
17   fi
18 fi
19
20 function setupAndExecuteTargetBuild() {
21   local platform="$1"
22   shift
23
24   local PROFILE
25   local ARCHITECTURE
26   local CONF_FLAG
27   local -a ARGS
28
29   # "|| :" means "or always succeeding built-in command"
30   PROFILE=$(echo "$@" | grep -Po "(?<=\-P\s)[^\s]*" | uniq || :)
31   ARCHITECTURE=$(echo "$@" | grep -Po "(?<=\-A\s)[^\s]*" | uniq || :)
32   GBS_ROOT=$(echo "$@" | grep -Po "(?<=\-B\s)[^\s]*" | uniq || :)
33
34   local count=0
35   while [[ $# > 0 ]]; do
36     count=$(( $count + 1 ))
37     case "$1" in
38     --standard*)
39       if [ "$DEFAULT_TIZEN_VERSION" == "latest" ]; then
40         echo $1
41         PROFILE=tz_$(echo $1 | sed 's/--//g')
42       else
43         PROFILE=tz_${DEFAULT_TIZEN_VERSION}_$(echo $1 | sed 's/--//g')
44       fi
45     ;;
46     --emulator*)
47       if [ "$DEFAULT_TIZEN_VERSION" == "latest" ]; then
48         PROFILE=tz_$(echo $1 | sed 's/--//g')
49       else
50         PROFILE=tz_${DEFAULT_TIZEN_VERSION}_$(echo $1 | sed 's/--//g')
51       fi
52     ;;
53     --tizen*)
54     ;;
55     *)
56       ARGS[$count]="$1"
57     ;;
58     esac
59     shift;
60   done
61
62   if [ "$PROFILE" == "" ]; then
63     if [[ $platform == "tv" ]]; then
64       if [ "$DEFAULT_TIZEN_VERSION" == "latest" ]; then
65         # FIXME: The latest version of platform hasn't been released yet.
66         PROFILE=tztv_5.5_arm-musem
67       fi
68     elif [[ $platform == "wearable" ]]; then
69       if [ "$DEFAULT_TIZEN_VERSION" == "latest" ]; then
70         PROFILE=tzwr_5.5_armv7l_spin
71       fi
72     else
73       echo "Cannot set default PROFILE for platform=${platform}"
74       exit 1
75     fi
76   fi
77
78   if [ "$MIRROR" == "1" ]; then
79     PROFILE=${PROFILE}_mirror
80   fi
81
82   echo "Set the profile : $PROFILE"
83
84   if [ "$ARCHITECTURE" == "" ]; then
85     if [[ $platform == "mobile" ]]; then
86       ARCHITECTURE=armv7l
87     elif [[ $platform == "tv" ]]; then
88       ARCHITECTURE=armv7l
89     elif [[ $platform == "wearable" ]]; then
90       ARCHITECTURE=armv7l
91     else
92       echo "Cannot set default ARCHITECTURE for platform=${platform}"
93       exit 1
94     fi
95   fi
96   echo "Set the architecture : $ARCHITECTURE"
97
98   local BRANCH=$(echo $(basename $(git symbolic-ref HEAD)))
99   if [ "$(echo $BRANCH | grep dev)" != "" ]; then
100     BRANCH=dev
101   elif [ "$(echo $BRANCH | grep beta)" != "" ]; then
102     BRANCH=beta
103   else
104     BRANCH=release
105   fi
106
107   local GBS_ROOT_OPT=
108   if [ "$USE_GLOBAL_GBS_CONF" == "" ]; then
109     CONF_FLAG="--conf ${SCRIPTDIR}/gbs.conf"
110     if [ "$GBS_ROOT" == "" ]; then
111       GBS_ROOT_OPT="-B ~/GBS-ROOT-WRTJS-${PROFILE^^}-TIZEN_${DEFAULT_TIZEN_VERSION^^}-${BRANCH^^}"
112     else
113       GBS_ROOT_OPT="-B $GBS_ROOT"
114     fi
115   fi
116
117   gbs $CONF_FLAG build -P $PROFILE --include-all -A $ARCHITECTURE "${ARGS[@]}" \
118       $GBS_ROOT_OPT
119 }