Integration of Tizen RI layer and Routing Manager build in Jenkins
[platform/upstream/iotivity.git] / resource / csdk / stack / samples / tizen / build / gbsbuild.sh
1 #!/bin/sh
2
3 spec=`ls ./resource/csdk/stack/samples/tizen/build/packaging/*.spec`
4 version=`rpm --query --queryformat '%{version}\n' --specfile $spec`
5
6 name=`echo $name|cut -d" " -f 1`
7 version=`echo $version|cut -d" " -f 1`
8
9 name=oicri
10
11 echo $1
12 export TARGET_TRANSPORT=$1
13
14 echo $2
15 export SECURED=$2
16
17 echo $3
18 export BUILD_SAMPLE=$3
19
20 echo $4
21 export RELEASE=$4
22
23 echo $5
24 export LOGGING=$5
25
26 echo $6
27 export ROUTING=$6
28
29 echo $TARGET_TRANSPORT
30 echo $BUILD_SAMPLE
31
32 rm -rf $name-$version
33
34 builddir=`pwd`
35 sourcedir=`pwd`
36
37 echo `pwd`
38
39 rm -rf ./tmp
40 mkdir ./tmp
41 mkdir ./tmp/extlibs/
42 mkdir ./tmp/packaging
43 cp -LR ./extlibs/tinycbor $sourcedir/tmp/extlibs
44 rm -rf $sourcedir/tmp/extlibs/tinycbor/tinycbor/.git
45 cp -R ./extlibs/cjson $sourcedir/tmp/extlibs
46 cp -R ./extlibs/tinydtls $sourcedir/tmp/extlibs
47 cp -R ./extlibs/timer $sourcedir/tmp/extlibs
48 cp -R ./extlibs/rapidxml $sourcedir/tmp/extlibs
49 cp -R ./resource/csdk/stack/samples/tizen/build/packaging/*.spec $sourcedir/tmp/packaging
50 cp -R ./resource $sourcedir/tmp/
51 cp -R ./build_common/external_libs.scons $sourcedir/tmp/
52
53 # copy dependency RPMs and conf files for tizen build
54 cp ./tools/tizen/*.rpm $sourcedir/tmp
55 cp ./tools/tizen/*.rpm $sourcedir/tmp/resource/csdk/stack/samples/tizen/SimpleClientServer
56 cp ./tools/tizen/.gbs.conf ./tmp
57 cp ./tools/tizen/.gbs.conf ./tmp/resource/csdk/stack/samples/tizen/SimpleClientServer
58
59 cd $sourcedir
60 cd ./resource/csdk/stack/samples/tizen/build/
61
62 cp -R ./* $sourcedir/tmp/
63 rm -f $sourcedir/tmp/SConscript
64 cp SConstruct $sourcedir/tmp/
65 cp scons/SConscript $sourcedir/tmp/scons/
66
67 mkdir -p $sourcedir/tmp/iotivityconfig
68 cd $sourcedir/build_common/
69 cp -R ./iotivityconfig/* $sourcedir/tmp/iotivityconfig/
70 cp -R ./SConscript $sourcedir/tmp/
71
72 cp -R $sourcedir/iotivity.pc.in $sourcedir/tmp/
73
74 cd $sourcedir/tmp
75
76 echo `pwd`
77
78 whoami
79 # Initialize Git repository
80 if [ ! -d .git ]; then
81    git init ./
82    git config user.email "you@example.com"
83    git config user.name "Your Name"
84    git add ./
85    git commit -m "Initial commit"
86 fi
87
88 echo "Calling core gbs build command"
89 gbscommand="gbs build -A armv7l -B ~/GBS-ROOT-RI --include-all --repository ./ --define 'TARGET_TRANSPORT $1' --define 'SECURED $2' --define 'RELEASE $4' --define 'LOGGING $5' --define 'ROUTING $6'"
90 echo $gbscommand
91 if eval $gbscommand; then
92    echo "Core build is successful"
93 else
94    echo "Core build failed. Try 'find . -type f -exec dos2unix {} \;' in the 'connectivity/' folder"
95    cd $sourcedir
96    rm -rf $sourcedir/tmp
97    exit 1
98 fi
99
100 if echo $BUILD_SAMPLE|grep -qi '^ON$'; then
101    cd resource/csdk/stack/samples/tizen/SimpleClientServer
102    echo `pwd`
103    # Initialize Git repository
104    if [ ! -d .git ]; then
105       git init ./
106       git config user.email "you@example.com"
107       git config user.name "Your Name"
108       git add ./
109       git commit -m "Initial commit"
110    fi
111    echo "Calling sample gbs build command"
112    gbscommand="gbs build -A armv7l -B ~/GBS-ROOT-RI --include-all --repository ./ --define 'TARGET_TRANSPORT $1' --define 'SECURED $2' --define 'RELEASE $4' --define 'LOGGING $5' --define 'ROUTING $6'"
113    echo $gbscommand
114    if eval $gbscommand; then
115       echo "Sample build is successful"
116    else
117       echo "Sample build is failed. Try 'find . -type f -exec dos2unix {} \;' in the 'connectivity/' folder"
118       exit 1
119    fi
120 else
121         echo "Sample build is not enabled"
122 fi
123
124 cd $sourcedir
125 rm -rf $sourcedir/tmp
126
127 exit 0