Merge "[Service] Refactor loading procedure for extension plugins" 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 # Generate gbs.conf
21 export REPO_VERSION=
22 if [ "$(echo $DEFAULT_TIZEN_VERSION)" != "latest" ]; then
23   REPO_VERSION=$DEFAULT_TIZEN_VERSION-
24 fi
25 sed -e "s/@TIZEN_VERSION@/$REPO_VERSION/g" \
26     tizen/build/gbs.conf.in > tizen/build/gbs.conf
27
28 function setupAndExecuteTargetBuild() {
29   local platform="$1"
30   shift
31
32   local PROFILE
33   local ARCHITECTURE
34   local CONF_FLAG
35   local LOCAL_BUILD=1
36   local -a ARGS
37
38   # "|| :" means "or always succeeding built-in command"
39   PROFILE=$(echo "$@" | grep -Po "(?<=\-P\s)[^\s]*" | uniq || :)
40   ARCHITECTURE=$(echo "$@" | grep -Po "(?<=\-A\s)[^\s]*" | uniq || :)
41   GBS_ROOT=$(echo "$@" | grep -Po "(?<=\-B\s)[^\s]*" | uniq || :)
42
43   while [[ $# > 0 ]]; do
44     case "$1" in
45     --standard*)
46       PROFILE=tz_$(echo $1 | sed 's/--//g')
47     ;;
48     --emulator*)
49       PROFILE=tz_$(echo $1 | sed 's/--//g')
50     ;;
51     --release)
52       LOCAL_BUILD=0
53     ;;
54     --tizen*)
55     ;;
56     *)
57       ARGS+=("$1")
58     ;;
59     esac
60     shift;
61   done
62
63   if [ "$LOCAL_BUILD" == "1" ]; then
64     ARGS+=(--define "_local_build 1")
65   fi
66
67   if [ "$PROFILE" == "" ]; then
68     if [[ $platform == "tv" ]]; then
69       PROFILE=tztv_6.0_arm-nikem
70     elif [[ $platform == "da" ]]; then
71       PROFILE=tzda_5.5_arm-kantm
72     elif [[ $platform == "wearable" ]]; then
73       PROFILE=tzwr_5.5_arm-spin
74     else
75       echo "Cannot set default PROFILE for platform=${platform}"
76       exit 1
77     fi
78   fi
79
80   if [ "$MIRROR" == "1" ]; then
81     PROFILE=${PROFILE}_mirror
82   fi
83
84   echo "Set the profile : $PROFILE"
85
86   if [ "$ARCHITECTURE" == "" ]; then
87     ARCHITECTURE=armv7l
88   fi
89
90   echo "Set the architecture : $ARCHITECTURE"
91
92   local BRANCH=$(echo $(basename $(git symbolic-ref HEAD)))
93   if [ "$(echo $BRANCH | grep dev)" != "" ]; then
94     BRANCH=dev
95   elif [ "$(echo $BRANCH | grep beta)" != "" ]; then
96     BRANCH=beta
97   else
98     BRANCH=release
99   fi
100
101   local GBS_ROOT_OPT=
102   if [ "$USE_GLOBAL_GBS_CONF" == "" ]; then
103     CONF_FLAG="--conf ${SCRIPTDIR}/gbs.conf"
104     if [ "$GBS_ROOT" == "" ]; then
105       GBS_ROOT_OPT="-B ~/GBS-ROOT-WRTJS-${PROFILE^^}-TIZEN_${DEFAULT_TIZEN_VERSION^^}-${BRANCH^^}"
106     else
107       GBS_ROOT_OPT="-B $GBS_ROOT"
108     fi
109   fi
110
111   gbs $CONF_FLAG build -P $PROFILE --include-all -A $ARCHITECTURE "${ARGS[@]}" \
112       $GBS_ROOT_OPT
113 }