[Public] Make not to modify gbs.conf when tizen version is upgraded
[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=5.5
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 -a ARGS
36
37   # "|| :" means "or always succeeding built-in command"
38   PROFILE=$(echo "$@" | grep -Po "(?<=\-P\s)[^\s]*" | uniq || :)
39   ARCHITECTURE=$(echo "$@" | grep -Po "(?<=\-A\s)[^\s]*" | uniq || :)
40   GBS_ROOT=$(echo "$@" | grep -Po "(?<=\-B\s)[^\s]*" | uniq || :)
41
42   local count=0
43   while [[ $# > 0 ]]; do
44     count=$(( $count + 1 ))
45     case "$1" in
46     --standard*)
47       PROFILE=tz_$(echo $1 | sed 's/--//g')
48     ;;
49     --emulator*)
50       PROFILE=tz_$(echo $1 | sed 's/--//g')
51     ;;
52     --tizen*)
53     ;;
54     *)
55       ARGS[$count]="$1"
56     ;;
57     esac
58     shift;
59   done
60
61   if [ "$PROFILE" == "" ]; then
62     if [[ $platform == "tv" ]]; then
63       if [ "$DEFAULT_TIZEN_VERSION" == "5.5" ]; then
64         # FIXME: The latest version of platform hasn't been released yet.
65         PROFILE=tztv_5.5_arm-musem
66       fi
67     elif [[ $platform == "da" ]]; then
68       if [ "$DEFAULT_TIZEN_VERSION" == "5.5" ]; then
69         PROFILE=tzda_5.5_arm-kantm
70       fi
71     elif [[ $platform == "wearable" ]]; then
72       if [ "$DEFAULT_TIZEN_VERSION" == "5.5" ]; then
73         PROFILE=tzwr_5.5_armv7l_spin
74       fi
75     else
76       echo "Cannot set default PROFILE for platform=${platform}"
77       exit 1
78     fi
79   fi
80
81   if [ "$MIRROR" == "1" ]; then
82     PROFILE=${PROFILE}_mirror
83   fi
84
85   echo "Set the profile : $PROFILE"
86
87   if [ "$ARCHITECTURE" == "" ]; then
88     ARCHITECTURE=armv7l
89   fi
90
91   echo "Set the architecture : $ARCHITECTURE"
92
93   local BRANCH=$(echo $(basename $(git symbolic-ref HEAD)))
94   if [ "$(echo $BRANCH | grep dev)" != "" ]; then
95     BRANCH=dev
96   elif [ "$(echo $BRANCH | grep beta)" != "" ]; then
97     BRANCH=beta
98   else
99     BRANCH=release
100   fi
101
102   local GBS_ROOT_OPT=
103   if [ "$USE_GLOBAL_GBS_CONF" == "" ]; then
104     CONF_FLAG="--conf ${SCRIPTDIR}/gbs.conf"
105     if [ "$GBS_ROOT" == "" ]; then
106       GBS_ROOT_OPT="-B ~/GBS-ROOT-WRTJS-${PROFILE^^}-TIZEN_${DEFAULT_TIZEN_VERSION^^}-${BRANCH^^}"
107     else
108       GBS_ROOT_OPT="-B $GBS_ROOT"
109     fi
110   fi
111
112   gbs $CONF_FLAG build -P $PROFILE --include-all -A $ARCHITECTURE "${ARGS[@]}" \
113       $GBS_ROOT_OPT
114 }