0
|
1 |
@echo off
|
|
2 |
|
|
3 |
rem SDK build start up script.
|
|
4 |
rem Version: 1.2
|
1
|
5 |
rem Author: Bakkiaraj bakkiaraj.m@nokia.com
|
0
|
6 |
|
|
7 |
setlocal
|
|
8 |
set log_dir="Logs"
|
|
9 |
Set Log_file=%log_dir%\S60_create_sdk
|
|
10 |
set Target="C++ Java Licensee Hybrid"
|
|
11 |
set Build_phase=all
|
|
12 |
set Tidy=false
|
|
13 |
set Debug=false
|
|
14 |
set Walker=false
|
|
15 |
set SMS=false
|
|
16 |
set San_Test=false
|
|
17 |
set validation=false
|
|
18 |
mkdir %log_dir%
|
|
19 |
|
|
20 |
rem parsing cmd line parameters and putting them into ini file
|
|
21 |
set _file=%0
|
|
22 |
perl -x %_file% %*
|
|
23 |
|
|
24 |
:BEGINPARAMS
|
|
25 |
|
|
26 |
rem Check if any parameters were given
|
|
27 |
if %1'==' (
|
|
28 |
goto ENDPARAMS
|
|
29 |
)
|
|
30 |
|
|
31 |
rem Check if C++ has been specified
|
|
32 |
if /i %1 EQU /c (
|
|
33 |
set Target=C++
|
|
34 |
set Build_phase=cpp_publish.log
|
|
35 |
shift
|
|
36 |
goto BEGINPARAMS
|
|
37 |
)
|
|
38 |
|
|
39 |
rem Check if Java has been specified
|
|
40 |
if /i %1 EQU /j (
|
|
41 |
set Target=Java
|
|
42 |
set Build_phase=java_publish.log
|
|
43 |
shift
|
|
44 |
goto BEGINPARAMS
|
|
45 |
)
|
|
46 |
|
|
47 |
rem Check if Licensee has been specified
|
|
48 |
if /i %1 EQU /l (
|
|
49 |
set Target=Licensee
|
|
50 |
set Build_phase=licensee_package.log
|
|
51 |
shift
|
|
52 |
goto BEGINPARAMS
|
|
53 |
)
|
|
54 |
|
|
55 |
rem Check if Hybrid has been specified
|
|
56 |
if /i %1 EQU /h (
|
|
57 |
set Target=Hybrid
|
|
58 |
set Build_phase=sdk_publish.log
|
|
59 |
shift
|
|
60 |
goto BEGINPARAMS
|
|
61 |
)
|
|
62 |
|
|
63 |
rem Check if Debug has been requested
|
|
64 |
if /i %1 EQU /d (
|
|
65 |
set Debug=true
|
|
66 |
shift
|
|
67 |
goto BEGINPARAMS
|
|
68 |
)
|
|
69 |
|
|
70 |
rem Check if ClassWalker run has been requested
|
|
71 |
if /i %1 EQU /w (
|
|
72 |
set Walker=true
|
|
73 |
shift
|
|
74 |
goto BEGINPARAMS
|
|
75 |
)
|
|
76 |
|
|
77 |
rem Check if Tidy up has been requested
|
|
78 |
if /i %1 EQU /t (
|
|
79 |
set Tidy=true
|
|
80 |
shift
|
|
81 |
goto BEGINPARAMS
|
|
82 |
)
|
|
83 |
rem Check if SMS sending has been requested
|
|
84 |
if /i %1 EQU /s (
|
|
85 |
set SMS=true
|
|
86 |
shift
|
|
87 |
goto BEGINPARAMS
|
|
88 |
)
|
|
89 |
|
|
90 |
rem build environment validation
|
|
91 |
if /i %1 EQU /v (
|
|
92 |
set validation=true
|
|
93 |
shift
|
|
94 |
goto BEGINPARAMS
|
|
95 |
)
|
|
96 |
rem Check for nightly build
|
|
97 |
if /i %1==nb (
|
|
98 |
set Build_phase=nb
|
|
99 |
shift
|
|
100 |
goto BEGINPARAMS
|
|
101 |
)
|
|
102 |
|
|
103 |
rem Check for Sanity Test
|
|
104 |
if /i %1==san_test (
|
|
105 |
set San_Test=%1
|
|
106 |
goto ENDPARAMS
|
|
107 |
)
|
|
108 |
|
|
109 |
rem Show help
|
|
110 |
if /i %1 EQU /? (
|
1
|
111 |
echo ' SDK92_Trigger_Build.cmd [/c ^| /j ^| /l ^| /h] [/t] [/d] [/w] [/s] [nb [san_test] ^| <phase>] [/o param_x=value ...]
|
0
|
112 |
echo ' /c - Build C++ SDK
|
|
113 |
echo ' /j - Build Java SDK
|
|
114 |
echo ' /l - Build Licensee SDK
|
|
115 |
echo ' /h - Build Hybrid SDK
|
|
116 |
echo ' /d - Drop to perl debugger
|
|
117 |
echo ' /t - Do Tidy up ie. clean up build history
|
|
118 |
echo ' /w - Execute ClassWalker run at the end of build
|
|
119 |
echo ' /s - Send SMS
|
|
120 |
echo ' /o - Options, alternative settings of values from sdk.ini
|
|
121 |
echo ' /o argument must be the last one followed by any
|
|
122 |
echo ' number of "key=value" pairs
|
|
123 |
echo ' /? - Show this help
|
|
124 |
echo ' nb - Do nightly build, where target is all if not specified with /c, /j or /l
|
|
125 |
echo ' phase - Build with specified target phase, file of the specified target is removed
|
|
126 |
echo ' san_test - enable SDK sanity test '
|
|
127 |
echo ' /v - Check build environment'
|
|
128 |
goto END
|
|
129 |
)
|
|
130 |
|
|
131 |
rem Check if a certain phase has been given
|
|
132 |
if not %1'==' (
|
|
133 |
set Build_phase=%1
|
|
134 |
if %Debug% EQU true (
|
|
135 |
perl -d -mSDK_utils -e SDK_utils::remove_target %1
|
|
136 |
) else (
|
|
137 |
perl -mSDK_utils -e SDK_utils::remove_target %1
|
|
138 |
)
|
|
139 |
rem del phase\%1
|
|
140 |
goto ENDPARAMS
|
|
141 |
)
|
|
142 |
|
|
143 |
:ENDPARAMS
|
|
144 |
|
|
145 |
echo Target: %Target%
|
|
146 |
echo Build phase: %Build_phase%
|
|
147 |
|
|
148 |
rem Do Tidy up ie. remove all files starting with _ from build script directory
|
|
149 |
if %Tidy% EQU true (
|
|
150 |
echo on
|
|
151 |
perl Create_SDK.pl "phase\tidy_up"
|
|
152 |
@echo off
|
|
153 |
)
|
|
154 |
|
|
155 |
rem Run nightly build
|
|
156 |
if %Build_phase% EQU nb (
|
|
157 |
echo on
|
|
158 |
perl Create_SDK.pl "phase\tidy_up"
|
|
159 |
@echo off
|
|
160 |
if %Target% EQU C++ (
|
|
161 |
set Build_phase=cpp_publish.log
|
|
162 |
)
|
|
163 |
if %Target% EQU Java (
|
|
164 |
set Build_phase=java_publish.log
|
|
165 |
)
|
|
166 |
if %Target% EQU Licensee (
|
|
167 |
set Build_phase=licensee_package.log
|
|
168 |
)
|
|
169 |
if %Target% EQU Hybrid (
|
|
170 |
set Build_phase=sdk_publish.log
|
|
171 |
)
|
|
172 |
if %Target% EQU "C++ Java Licensee" (
|
|
173 |
set Build_phase=all
|
|
174 |
)
|
|
175 |
)
|
|
176 |
|
|
177 |
if %validation% EQU true (
|
|
178 |
perl validate_build_path.pl %Build_phase%
|
|
179 |
)
|
|
180 |
|
|
181 |
echo Target: %Target%
|
|
182 |
echo Build phase: %Build_phase%
|
|
183 |
|
|
184 |
:BUILD
|
|
185 |
rem Start actual building
|
|
186 |
if %Debug% EQU true (
|
|
187 |
echo on
|
|
188 |
perl -d Create_SDK.pl "phase\%Build_phase%"
|
|
189 |
@echo off
|
|
190 |
) else (
|
|
191 |
echo on
|
|
192 |
perl Create_SDK.pl "phase\%Build_phase%" > %Log_file%_x.log 2>&1
|
|
193 |
@echo off
|
|
194 |
)
|
|
195 |
if %Build_phase% == sdk_publish.log (
|
|
196 |
echo on
|
|
197 |
if %Walker% EQU true (
|
|
198 |
if %SMS% EQU true (
|
|
199 |
perl post_build9_7.pl mail_sms_cw %Log_file%.log > post_build.log 2>&1
|
|
200 |
) else (
|
|
201 |
perl post_build9_7.pl mail_cw %Log_file%.log > post_build.log 2>&1
|
|
202 |
)
|
|
203 |
) else (
|
|
204 |
if %SMS% EQU true (
|
|
205 |
perl post_build9_7.pl mail_sms %Log_file%.log > post_build.log 2>&1
|
|
206 |
) else (
|
|
207 |
echo perl post_build9_7.pl mail %Log_file%.log
|
|
208 |
perl post_build9_7.pl mail %Log_file%.log > post_build.log 2>&1
|
|
209 |
)
|
|
210 |
)
|
|
211 |
@echo off
|
|
212 |
)
|
|
213 |
goto END
|
|
214 |
|
|
215 |
:PERL
|
|
216 |
#!perl
|
|
217 |
|
|
218 |
print "params were @ARGV\n";
|
|
219 |
our $file = "cmd.ini";
|
|
220 |
system "del /s $file";
|
|
221 |
open(INI, "> $file") or die "cannot open \n";
|
|
222 |
|
|
223 |
|
|
224 |
our $option_encountered = 0;
|
|
225 |
#print "option_encountered=$option_encountered\n";
|
|
226 |
while ( defined (my $param= shift(@ARGV)) ){
|
|
227 |
# print ">$param<\n";
|
|
228 |
# print "option_encountered=$option_encountered\n";
|
|
229 |
|
|
230 |
if ($option_encountered == 1){
|
|
231 |
print "$param\n";
|
|
232 |
print INI "#start\n" or warn "cannot write, $?, $!\n";
|
|
233 |
print INI $param or die "cannot write\n";
|
|
234 |
print INI "\n";
|
|
235 |
}
|
|
236 |
if ($param=~m/\/o/){
|
|
237 |
# print "/o found\n";
|
|
238 |
$option_encountered = 1;
|
|
239 |
}
|
|
240 |
|
|
241 |
|
|
242 |
}
|
|
243 |
close INI;
|
|
244 |
|
|
245 |
__END__
|
|
246 |
:END
|
|
247 |
|
|
248 |
if %San_Test% EQU san_test (
|
|
249 |
#echo Copy phase to Nightly_Build Share
|
|
250 |
#perl publish_Phase.pl
|
|
251 |
#echo Testing
|
|
252 |
K:
|
|
253 |
perl run_Test_Suite.pl -conf 92_sdk_test_hp.ini
|
|
254 |
)
|
|
255 |
|
|
256 |
@endlocal
|
|
257 |
|