root/trunk/build/quickstart/windows/bw.bat

Revision 3324 (checked in by johnsa, 2 years ago)

fix up windows build for 3.8

  • Property svn:mergeinfo set to
Line 
1 ::  This file is included by the quickstart script file "..\..\bw.bat" so that
2 ::  we may keep this script under version control in the svn repository.
3
4 @ECHO off
5 SETLOCAL
6
7 ECHO.
8 ECHO.
9 ECHO   Bedework Calendar System
10 ECHO   ------------------------
11 ECHO.
12
13
14 SET PRG=%0
15 SET saveddir=%CD%
16 SET QUICKSTART_HOME=%saveddir%
17
18 SET ANT_HOME=%QUICKSTART_HOME%\apache-ant-1.7.0
19
20 SET CLASSPATH="%ANT_HOME%\lib\ant-launcher.jar"
21 SET CLASSPATH=%CLASSPATH%;"%QUICKSTART_HOME%\bedework\build\quickstart\antlib"
22
23 :: Default some parameters
24 SET BWCONFIGS=
25 SET bwc=default
26 SET BWCONFIG=
27 SET offline=
28 SET quickstart=
29
30 SET ant_listener=
31 SET ant_xmllogfile=
32 SET ant_logger=
33
34 SET ant_loglevel="-quiet"
35 SET bw_loglevel=
36
37 :: Projects we need to update
38 SET updateProjects="bwxml rpiutil access davutil bedework bedework-carddav bwtzsvr cachedfeeder"
39
40 :: Projects we will build
41 SET pkgdefault=yes
42 SET access=
43 SET bedework=
44 SET bwtools=
45 SET bwxml=
46 SET caldav=
47 SET caldavTest=
48 SET carddav=
49 SET client=
50 SET davutil=
51 SET monitor=
52 SET naming=
53 SET rpiutil=
54 SET synch=
55 SET tzsvr=
56 SET webdav=
57
58 SET action=
59
60 :: check for command-line arguments and branch on them
61 IF "%1noargs" == "noargs" GOTO usage
62 GOTO branch
63
64 :quickstart
65   ECHO     Preparing quickstart build ...
66   SET quickstart="yes"
67   SHIFT
68   GOTO branch
69
70 :bwchome
71   :: Define location of configs
72   SHIFT
73   SET BWCONFIGS=%1
74   SHIFT
75   GOTO branch
76
77 :bwc
78   SHIFT
79   SET bwc=%1
80   SHIFT
81   GOTO branch
82
83 :offline
84   ECHO     Setting to offline mode; libraries will not be downloaded ...
85   SET offline="-Dorg.bedework.offline.build=yes"
86   SHIFT
87   GOTO branch
88  
89
90 :: ----------------------- Log level       
91
92 :log-silent
93   SET ant_loglevel="-quiet"
94   SET bw_loglevel="-Dorg.bedework.build.silent=true"
95   SHIFT
96   GOTO branch
97
98 :log-quiet
99   SET ant_loglevel="-quiet"
100   SET bw_loglevel=""
101   SHIFT
102   GOTO branch
103
104 :log-inform
105   SET ant_loglevel=""
106   SET bw_loglevel="-Dorg.bedework.build.inform=true"
107   SHIFT
108   GOTO branch
109
110 :log-verbose
111   SET ant_loglevel="-verbose"
112   SET bw_loglevel="-Dorg.bedework.build.inform=true -Dorg.bedework.build.noisy=true"
113   SHIFT
114   GOTO branch
115
116 :ant-debug
117   SET ant_loglevel="-debug"
118   SHIFT
119   GOTO branch
120
121 :build-debug
122   SET bw_loglevel="-Dorg.bedework.build.inform=true -Dorg.bedework.build.noisy=true -Dorg.bedework.build.debug=true "
123   SHIFT
124   GOTO branch
125      
126 :: ----------------------- PROJECTS
127
128 :access
129   SET access="yes"
130  
131   SET bwxml="yes"
132   SET rpiutil="yes"
133   SET pkgdefault=
134   SHIFT
135   GOTO branch
136  
137 :bwtools
138   SET bwtools="yes"
139   SET pkgdefault=
140   SHIFT
141   GOTO branch
142  
143 :bwxml
144   SET bwxml="yes"
145   SET pkgdefault=
146   SHIFT
147   GOTO branch
148  
149 :caldav
150   SET caldav="yes"
151
152   SET access="yes"
153   SET bwxml="yes"
154   SET rpiutil="yes"
155   SET webdav="yes"
156   SET pkgdefault=
157   SHIFT
158   GOTO branch
159  
160 :caldavTest
161   SET caldavTest="yes"
162
163   SET access="yes"
164   SET bwxml="yes"
165   SET rpiutil="yes"
166   SET webdav="yes"
167   SET pkgdefault=
168   SHIFT
169   GOTO branch
170  
171 :carddav
172   SET carddav="yes"
173
174   SET access="yes"
175   SET bwxml="yes"
176   SET rpiutil="yes"
177   SET webdav="yes"
178   SET pkgdefault=
179   SHIFT
180   GOTO branch
181  
182 :client
183   SET client="yes"
184   SET pkgdefault=
185   SHIFT
186   GOTO branch
187  
188 :davutil
189   SET davutil="yes"
190
191   SET bwxml="yes"
192   SET rpiutil="yes"
193   SET pkgdefault=
194   SHIFT
195   GOTO branch
196  
197 :monitor
198   SET monitor="yes"
199   SET pkgdefault=
200   SHIFT
201   GOTO branch
202
203 :naming
204   SET naming="yes"
205   SET pkgdefault=
206   SHIFT
207   GOTO branch
208  
209 :rpiutil
210   SET rpiutil="yes"
211
212   SET bwxml="yes"
213   SET pkgdefault=
214   SHIFT
215   GOTO branch
216  
217 :synch
218   SET synch="yes"
219
220   SET access="yes"
221   SET bwxml="yes"
222   SET davutil="yes"
223   SET rpiutil="yes"
224   SET pkgdefault=
225   SHIFT
226   GOTO branch
227  
228 :testsuite
229   SET testsuite="yes"
230   SET pkgdefault=
231   SHIFT
232   GOTO branch
233  
234 :tzsvr
235   SET tzsvr="yes"
236
237   SET bwxml="yes"
238   SET rpiutil="yes"
239   SET pkgdefault=
240   SHIFT
241   GOTO branch
242  
243 :webdav
244   SET webdav="yes"
245
246   SET access="yes"
247   SET bwxml="yes"
248   SET rpiutil="yes"
249   SET pkgdefault=
250   SHIFT
251   GOTO branch
252
253 :updateall
254   for %%p in ("%updateProjects%") do (
255     ECHO *************************************************************
256     ECHO Updating project %%p
257     ECHO *************************************************************
258    
259     svn update %%p
260   )
261
262   GOTO:EOF
263  
264 :zoneinfo
265    ECHO    zoneinfo target is not supported on Windows
266    GOTO:EOF
267    
268 :buildwebcache
269    cd %QUICKSTART_HOME%\cachedfeeder
270    buildWebCache.bat
271    GOTO:EOF
272
273 :deploywebcache
274   cd %QUICKSTART_HOME%\cachedfeeder
275   "%JAVA_HOME%\bin\java.exe" -classpath %CLASSPATH% -Dant.home="%ANT_HOME%" org.apache.tools.ant.launch.Launcher "%BWCONFIG%" deploy-webcache
276    GOTO:EOF
277    
278 :deployurlbuilder
279   cd %QUICKSTART_HOME%\cachedfeeder
280   "%JAVA_HOME%\bin\java.exe" -classpath %CLASSPATH% -Dant.home="%ANT_HOME%" org.apache.tools.ant.launch.Launcher "%BWCONFIG%" deploy-urlbuilder
281    GOTO:EOF
282    
283 :jbossNotice
284   ECHO *************************************************************
285   ECHO The jboss configuration has been removed from the quickstart.
286   ECHO It is now the default.  Remove the '-bwc jboss' option.
287   ECHO *************************************************************
288   GOTO:EOF
289
290 :doneWithArgs
291
292 IF NOT "%pkgdefault%" == "yes" GOTO notdefault
293   SET bedework="yes"
294
295   SET access="yes"
296   SET bwxml="yes"
297   SET caldav="yes"
298   SET davutil="yes"
299   SET rpiutil="yes"
300   SET webdav="yes"
301
302 :notdefault
303
304 IF "%bwc%" == "jboss" GOTO jbossNotice
305
306 IF NOT "%quickstart%empty" == "empty" GOTO checkBwConfig
307 IF NOT "%BWCONFIGS%empty" == "empty" GOTO DoneQB
308 SET BWCONFIGS=%HOMEPATH%\bwbuild
309 GOTO doneQB
310
311 :checkBwConfig
312
313   SET BWCONFIGS=%QUICKSTART_HOME%\bedework\config\bwbuild
314
315 :doneQB
316   SET BEDEWORK_CONFIGS_HOME=%BWCONFIGS%
317   SET BEDEWORK_CONFIG=%BWCONFIGS%\%bwc%
318
319   IF EXIST "%BEDEWORK_CONFIGS_HOME%\.platform" GOTO foundDotPlatform
320   ECHO *******************************************************
321   ECHO Error: Configurations directory %BEDEWORK_CONFIGS_HOME%
322   ECHO is missing directory '.platform'.
323   ECHO *******************************************************
324   GOTO:EOF
325 :foundDotPlatform
326
327   IF EXIST "%BEDEWORK_CONFIG%\build.properties" GOTO foundBuildProperties
328   ECHO *******************************************************
329   ECHO Error: Configuration %BEDEWORK_CONFIG%
330   ECHO does not exist or is not a Bedework configuration.
331   ECHO *******************************************************
332   GOTO:EOF
333 :foundBuildProperties
334
335   IF NOT "%JAVA_HOME%empty"=="empty" GOTO javaOk
336   ECHO *******************************************************
337   ECHO Error: JAVA_HOME is not defined correctly for Bedework.
338   ECHO *******************************************************
339   GOTO:EOF
340 :javaOk
341
342 :runBedework
343   :: Make available for ant
344   SET BWCONFIG=-Dorg.bedework.user.build.properties=%BEDEWORK_CONFIG%\build.properties
345
346   ECHO.
347   ECHO     BWCONFIGS = %BWCONFIGS%
348   ECHO     BWCONFIG = %BWCONFIG%
349
350 :: This below reflects the dependency ordering
351   IF NOT "%bwxml%empty" == "empty" GOTO cdBwxml
352   IF NOT "%rpiutil%empty" == "empty" GOTO cdRpiutil
353   IF NOT "%access%empty" == "empty"  GOTO cdAccess
354   IF NOT "%davutil%empty" == "empty"  GOTO cdDavutil
355   IF NOT "%webdav%empty" == "empty"  GOTO cdWebdav
356   IF NOT "%caldav%empty" == "empty"  GOTO cdCaldav
357   IF NOT "%caldavTest%empty" == "empty"  GOTO cdCaldavTest
358   IF NOT "%carddav%empty" == "empty" GOTO cdCarddav
359   IF NOT "%bedework%empty" == "empty" GOTO cdBedework
360   IF NOT "%client%empty" == "empty"  GOTO cdBwclient
361   IF NOT "%monitor%empty" == "empty" GOTO cdMonitor
362   IF NOT "%naming%empty" == "empty"  GOTO cdNaming
363   IF NOT "%synch%empty" == "empty"  GOTO cdSynch
364   IF NOT "%testsuite%empty" == "empty"  GOTO cdTestsuite
365   IF NOT "%bwtools%empty" == "empty"  GOTO cdBwtools
366   IF NOT "%tzsvr%empty" == "empty"   GOTO cdTzsvr
367  
368 GOTO:EOF
369    
370 :doant
371   ECHO     WORKING DIRECTORY = %cd%
372   ECHO     COMMAND =  "%JAVA_HOME%\bin\java.exe" -classpath %CLASSPATH% %offline% -Dant.home="%ANT_HOME%" org.apache.tools.ant.launch.Launcher "%BWCONFIG%" %ant_listener% %ant_logger% %ant_loglevel% %bw_loglevel% %1
373   ECHO.
374   ECHO.
375   "%JAVA_HOME%\bin\java.exe" -classpath %CLASSPATH% %offline% -Dant.home="%ANT_HOME%" org.apache.tools.ant.launch.Launcher "%BWCONFIG%" %ant_listener% %ant_logger% %ant_loglevel% %bw_loglevel% %1
376
377   GOTO runBedework
378    
379 :cdAccess
380   cd %QUICKSTART_HOME%\access
381   SET access=
382   GOTO doant
383  
384 :cdBedework
385   cd %QUICKSTART_HOME%
386   SET bedework=
387   GOTO doant
388  
389 :cdBwxml
390   cd %QUICKSTART_HOME%\bwxml
391   SET bwxml=
392   GOTO doant
393    
394 :cdCaldav
395   cd %QUICKSTART_HOME%\caldav
396   SET caldav=
397   GOTO doant
398    
399 :cdCaldavTest
400   cd %QUICKSTART_HOME%\caldavTest
401   SET caldavTest=
402   GOTO doant
403    
404 :cdCarddav
405   cd %QUICKSTART_HOME%\bedework-carddav
406   SET carddav=
407   GOTO doant
408    
409 :cdClient
410   cd %QUICKSTART_HOME%\client
411   SET client=
412   GOTO doant
413    
414 :cdDavutil
415   cd %QUICKSTART_HOME%\davutil
416   SET davutil=
417   GOTO doant
418    
419 :cdMonitor
420   cd %QUICKSTART_HOME%\MonitorApp
421   SET monitor=
422   GOTO doant
423    
424 :cdNaming
425   cd %QUICKSTART_HOME%\naming
426   SET naming=
427   GOTO doant
428    
429 :cdRpiutil
430   cd %QUICKSTART_HOME%\rpiutil
431   SET rpiutil=
432   GOTO doant
433    
434 :cdSynch
435   cd %QUICKSTART_HOME%\synch
436   SET synch=
437   GOTO doant
438    
439 :cdTestsuite
440   cd %QUICKSTART_HOME%\testsuite
441   SET testsuite=
442   GOTO doant
443    
444 :cdTzsvr
445   cd %QUICKSTART_HOME%\bwtzsvr
446   SET tzsvr=
447   GOTO doant
448    
449 :cdBwtools
450   cd %QUICKSTART_HOME%\bwtools
451   SET bwtools=
452   GOTO doant
453    
454 :cdWebdav
455   cd %QUICKSTART_HOME%\webdav
456   SET webdav=
457   GOTO doant
458  
459
460 :: Iterate over the command line arguments;
461 :: DOS Batch labels can't contain hyphens, so convert them
462 :: (otherwise, we could just "GOTO %1")
463 :branch
464 IF "%1" == "-quickstart" GOTO quickstart
465 IF "%1" == "-bwchome" GOTO bwchome
466 IF "%1" == "-bwc" GOTO bwc
467 IF "%1" == "-offline" GOTO offline
468 IF "%1" == "-updateall" GOTO updateall
469 IF "%1" == "-zoneinfo" GOTO zoneinfo
470 IF "%1" == "-buildwebcache" GOTO buildwebcache
471 IF "%1" == "-deploywebcache" GOTO deploywebcache
472 IF "%1" == "-deployurlbuilder" GOTO deployurlbuilder
473
474 IF "%1" == "-log-silent" GOTO log-silent
475 IF "%1" == "-log-quiet" GOTO log-quiet
476 IF "%1" == "-log-inform" GOTO log-inform
477 IF "%1" == "-log-verbose" GOTO log-verbose
478 IF "%1" == "-ant-debug" GOTO ant-debug
479 IF "%1" == "-build-debug" GOTO build-debug
480
481 IF "%1" == "-access" GOTO access
482 IF "%1" == "-bwtools" GOTO bwtools
483 IF "%1" == "-bwxml" GOTO bwxml
484 IF "%1" == "-caldav" GOTO caldav
485 IF "%1" == "-caldavTest" GOTO caldavTest
486 IF "%1" == "-carddav" GOTO carddav
487 IF "%1" == "-client" GOTO client
488 IF "%1" == "-davutil" GOTO davutil
489 IF "%1" == "-monitor" GOTO monitor
490 IF "%1" == "-naming" GOTO naming
491 IF "%1" == "-rpiutil" GOTO rpiutil
492 IF "%1" == "-synch" GOTO synch
493 IF "%1" == "-testsuite" GOTO testsuite
494 IF "%1" == "-tzsvr" GOTO tzsvr
495 IF "%1" == "-webdav" GOTO webdav
496 GOTO doneWithArgs
497
498 :usage
499   ECHO    Usage:
500   ECHO.
501   ECHO    bw ACTION
502   ECHO    bw [CONFIG-SOURCE] [CONFIG] [PROJECT] [ -offline ] [ target ]
503   ECHO.
504   ECHO    Where:
505   ECHO.
506   ECHO   ACTION defines an action to take usually in the context of the quickstart.
507   ECHO    In a deployed system many of these actions are handled directly by a
508   ECHO    deployed application. ACTION may be one of
509   ECHO      -updateall  Does an svn update of all projects"
510 REM   Don't support zoneinfo command on Windows for now
511 REM   ECHO      -zoneinfo - builds zoneinfo data for the timezones server
512 REM   ECHO                  requires -version and -tzdata parameters
513   ECHO      -buildwebcache    builds webcache
514   ECHO      -deploywebcache   deploys webcache
515   ECHO      -deployurlbuilder deploys url/widget builder
516   ECHO.
517   ECHO    CONFIG-SOURCE optionally defines the location of configurations and is one or none of
518   ECHO     -quickstart      to use the configurations within the quickstart
519   ECHO                      e.g. "bw -quickstart start"
520   ECHO     -bwchome path    to specify the location of the bwbuild directory
521   ECHO.
522   ECHO     The default is to look in the user home for the "bwbuild" directory.
523   ECHO.
524   ECHO    CONFIG optionally defines the configuration to build
525   ECHO      -bwc configname      e.g. "-bwc mysql"
526   ECHO.
527   ECHO    -offline     Build without attempting to retrieve library jars
528   ECHO    target       Ant target to execute (e.g. "start")
529   ECHO.
530   ECHO    PROJECT optionally defines the package to build and is one of
531   ECHO            the core, ancillary or experimental targets below:
532   ECHO.
533   ECHO   Core projects: required for a functioning system
534   ECHO      -access      Target is for the access classes
535   ECHO      -bwxml       Target is for the Bedework XML schemas build
536   ECHO                       (usually built automatically be dependent projects
537   ECHO      -carddav     Target is for the CardDAV build
538   ECHO      -carddav deploy-addrbook    To deploy the Javascript Addressbook client.
539   ECHO      -davutil     Target is for the Bedework dav util classes
540   ECHO      -rpiutil     Target is for the Bedework util classes
541   ECHO      -tzsvr       Target is for the timezones server build
542   ECHO   Ancillary projects: not required
543   ECHO      -monitor     Target is for the bedework monitor application
544   ECHO   Experimental projects: no guarantees
545   ECHO      -client      Target is for the bedework client application build
546   ECHO      -exsynch     Target is for the Exchange synch build
547   ECHO      -naming      Target is for the abstract naming api
548   ECHO     The default is a calendar build
549   ECHO.
550   ECHO    Invokes ant to build or deploy the Bedework system. Uses a configuration
551   ECHO    directory which contains one directory per configuration.
552   ECHO.
553   ECHO    Within each configuration directory we expect a file called
554   ECHO    build.properties which should point to the property and options file
555   ECHO    needed for the deploy process.
556   ECHO.
557   ECHO    In general these files will be in the same directory as build.properties.
558   ECHO    The environment variable BEDEWORK_CONFIG contains the path to the current
559   ECHO    configuration directory and can be used to build a path to the other files.
560   ECHO.
561   ECHO.
562   ECHO.
Note: See TracBrowser for help on using the browser.