root/trunk/build.xml

Revision 3235 (checked in by douglm, 2 years ago)

Make testsuite into a separate project.

Add extra comment to config listing components to be added to application list

Line 
1 <?xml version="1.0"?>
2
3 <!-- This is the ant build file for the bedework uber project.
4
5      Authors: Mike Douglass   douglm @ rpi.edu
6 -->
7
8 <project name="bedework.build" default="init" basedir=".">
9   <property environment="env"/>
10
11   <!-- This affects some of the build process in the projects -->
12   <property name="org.bedework.quickstart.build" value="true" />
13
14   <!-- this project -->
15   <property name="org.bedework.project.bedework"
16             location="${basedir}" />
17
18     <property name="org.bedework.libcache.dir"
19               location="${org.bedework.project.bedework}/libcache"/>
20
21   <!-- Where we put other projects -->
22   <property name="org.bedework.projects"
23             location="${org.bedework.project.bedework}/projects" />
24
25   <property name="org.bedework.project.access"
26             location="${org.bedework.projects}/access" />
27
28   <property name="org.bedework.project.bwtools"
29             location="${org.bedework.projects}/bwtools" />
30
31   <property name="org.bedework.project.caldav"
32             location="${org.bedework.projects}/caldav" />
33
34   <property name="org.bedework.project.caldavimpl"
35             location="${org.bedework.projects}/caldavimpl" />
36
37   <property name="org.bedework.project.calendarapi"
38             location="${org.bedework.projects}/calendarapi" />
39
40   <property name="org.bedework.project.davutil"
41             location="${org.bedework.projects}/davutil" />
42
43   <property name="org.bedework.project.dumprestore"
44             location="${org.bedework.projects}/dumprestore" />
45
46   <property name="org.bedework.project.indexer"
47             location="${org.bedework.projects}/indexer" />
48
49   <property name="org.bedework.project.rpiutil"
50             location="${org.bedework.projects}/rpiutil" />
51
52   <property name="org.bedework.project.webapps"
53             location="${org.bedework.projects}/webapps" />
54
55   <property name="org.bedework.project.webdav"
56             location="${org.bedework.projects}/webdav" />
57
58   <property name="build.dir" location="${org.bedework.project.bedework}/build"/>
59  
60   <property name="buildsh" location="${build.dir}/buildsh.xml"/>
61   <property name="buildwar" location="${build.dir}/buildwar.xml"/>
62
63   <!-- ========================= deployutil ================================ -->
64
65   <property name="org.bedework.default.lib"
66             location="${org.bedework.project.bedework}/lib" />
67
68   <property name="bw.project.home" location="${org.bedework.project.bedework}"/>
69
70   <property file="${bw.project.home}/build.properties" />
71
72   <property name="project.version" value="${org.bedework.version}"/>
73
74   <property name="org.bedework.deployutil.jar"
75             location="${org.bedework.project.bedework}/bin/${org.bedework.deployutil.jar.name}-${project.version}.jar" />
76
77   <ant antfile="${org.bedework.project.bedework}/deployutil/build.xml" inheritrefs="true"
78          target="build" />
79  
80   <copy todir="${build.dir}" file="${org.bedework.deployutil.jar}" />
81  
82   <import file="${build.dir}/buildTools/deftasks.xml"/>
83
84   <deftasks/>
85  
86   <var name="org.bedework.jars.built" value="0" />
87   <var name="org.bedework.jars.checked" value="0" />
88
89   <import file="${build.dir}/buildfilters.xml" />
90   <import file="${build.dir}/loadDeployConfig.xml"/>
91   <import file="${build.dir}/dirTools.xml"/>
92
93   <target name="README" depends="init"
94           description="Describe targets and their usage">
95     <loadfile property="org.bedework.README"
96               srcFile="${org.bedework.project.bedework}/docs/README"/>
97     <echo level="info" message="${org.bedework.README}" />
98   </target>
99
100   <target name="usage" depends="init"
101           description="Describe targets and their usage">
102     <loadfile property="org.bedework.README"
103               srcFile="${org.bedework.project.bedework}/docs/README"/>
104     <echo level="info" message="${org.bedework.README}" />
105   </target>
106
107   <target name="init" >
108     <echo level="info" message="Load user properties from ${org.bedework.user.build.properties}" />
109
110     <!-- Load user property definition overrides -->
111     <property file="${org.bedework.user.build.properties}" />
112
113     <!-- ===============================================================
114               Default properties.
115          =============================================================== -->
116
117     <property name="project.name" value="${org.bedework.package.name}"/>
118
119     <property name="dist.home" location="${bw.project.home}/dist"/>
120     <property name="lib.dir" location="${bw.project.home}/lib"/>
121     <property name="resources.dir" location="${bw.project.home}/resources"/>
122     <property name="bin.home" location="${bw.project.home}/bin"/>
123    
124     <property name="org.bedework.build.caldav" value="yes" />
125
126     <condition property="org.bedework.qs.build.caldav">
127       <equals arg1="yes" arg2="${org.bedework.build.caldav}"/>
128     </condition>
129
130     <mkdir dir="${dist.home}" />
131
132     <mkdir dir="${bin.home}" />
133
134     <property name="org.bedework.empty.dir"
135               location="${dist.home}/empty-dir" />
136     <mkdir dir="${org.bedework.empty.dir}" />
137
138     <fileset id="empty.fileset" dir="${org.bedework.empty.dir}"
139              excludes="*" />
140
141     <!-- ==================== Subcomponent Compilation Classpath ====================
142
143     <path id="compile.classpath">
144       <fileset dir="${lib.dir}">
145          <include name="*.jar"/>
146       </fileset>
147       <fileset dir="${dist.home}">
148          <include name="*.jar"/>
149       </fileset>
150     </path>
151 -->
152     <!-- ===============================================================
153               Locations and jar files built by this project.
154          =============================================================== -->
155
156     <property name="org.bedework.temp.dir"
157               location="${dist.home}/temp" />
158
159     <property name="org.bedework.ear.properties.dir"
160               location="${org.bedework.temp.dir}/ear-properties" />
161
162     <property name="org.bedework.config.base"
163               location="${org.bedework.project.bedework}/config" />
164
165     <property name="org.bedework.default.lib"
166               location="${org.bedework.project.bedework}/lib" />
167
168     <property name="org.bedework.deployment.base"
169               location="${org.bedework.project.bedework}/deployment" />
170
171     <property name="org.bedework.build.jar"
172               location="${bin.home}/${org.bedework.build.jar.name}-${project.version}.jar" />
173
174     <property name="org.bedework.deployutil.jar"
175               location="${bin.home}/${org.bedework.deployutil.jar.name}-${project.version}.jar" />
176   </target>
177
178   <target name="init.build" depends="init">
179     <mkdir dir="${dist.home}" />
180
181     <mkdir dir="${bin.home}" />
182
183     <mkdir dir="${org.bedework.empty.dir}" />
184   </target>
185
186   <!-- =================================================================
187        "build" and "clean" targets for the project
188        ================================================================= -->
189
190   <target name="build" depends="init.build,build.deployutil,build.rpiutil,
191                                 build.access,build.davutil,
192                                 build.webdav,build.caldav,
193                                 build.calendarapi,
194                                 build.caldavimpl,
195                                 build.bwtools,build.webapps,build.indexer,
196                                 build.dumprestore"
197           description="builds the project">
198     <mkdir dir="${dist.home}/tools" />
199     <copy toDir="${dist.home}/tools" >
200       <fileset dir="${org.bedework.project.bwtools}/dist" includes="*.jar" />
201       <fileset dir="${org.bedework.project.bwtools}/lib" includes="*.jar" />
202     </copy>
203   </target>
204
205   <target name="build.deployutil" depends="init"
206           description="builds the deployutil component">
207     <ant antfile="${org.bedework.project.bedework}/deployutil/build.xml" inheritrefs="true"
208            target="build" />
209    
210     <copy todir="${build.dir}" file="${org.bedework.deployutil.jar}" />
211   </target>
212
213   <target name="clean" depends="init,clean.rpiutil,
214                                 clean.access,clean.davutil,
215                                 clean.calendarapi,
216                                 clean.webdav,clean.caldav,
217                                 clean.caldavimpl,
218                                 clean.bwtools,clean.webapps,clean.indexer,
219                                 clean.dumprestore"
220           description="Remove all generated files.">
221     <delete dir="${dist.home}" />
222     <delete dir="${bin.home}" />
223   </target>
224
225   <target name="quickstart-clean" depends="init,clean.rpiutil,
226                                            clean.access,clean.davutil,
227                                            clean.calendarapi,
228                                            clean.webdav,clean.caldav,
229                                            clean.caldavimpl,
230                                            clean.bwtools,clean.webapps,clean.indexer,
231                                                clean.dumprestore"
232           description="partial clean up for quickstart.">
233     <delete dir="${bin.home}" />
234     <delete dir="${org.bedework.temp.dir}" />
235     <delete dir="${org.bedework.empty.dir}" />
236     <delete dir="${bw.project.home}/libcache"/>
237     <delete dir="${bw.project.home}/applib"/>
238
239     <delete>
240       <fileset dir="${dist.home}" includes="*.war"/>
241     </delete>
242   </target>
243
244   <target name="clean.build" depends="clean, build"
245           description="cleans then builds the project"/>
246
247   <!-- =================================================================
248        The "deploy" and "deploy.all" target builds and deploys the applications
249        ================================================================= -->
250
251   <target name="deploy.debug" depends="build"
252           description="builds and deploys the applications">
253     <ant antfile="${org.bedework.project.bedework}/deployment/build.xml" inheritrefs="true"
254          target="deploy"  >
255       <property name="app.debug.val" value="9" />
256     </ant>
257   </target>
258
259   <target name="deploy" depends="build"
260           description="builds and deploys the applications">
261     <ant antfile="${org.bedework.project.bedework}/deployment/build.xml" inheritrefs="true"
262          target="deploy" />
263   </target>
264
265   <!-- =================================================================
266        The "clean.deploy" target cleans, builds and deploys the applications
267        ================================================================= -->
268
269   <target name="clean.deploy" depends="clean,deploy" />
270
271   <target name="clean.deploy.debug" depends="clean,deploy.debug" />
272
273   <!-- =================================================================
274        The "build.configured" target builds configured applications
275        ================================================================= -->
276
277   <target name="build.configured" depends="build"
278           description="Build configured applications" >
279     <ant antfile="${org.bedework.project.bedework}/deployment/build.xml" inheritrefs="true"
280          target="build.configured"  >
281       <property name="app.debug.val" value="9" />
282     </ant>
283   </target>
284
285   <target name="build.configured.debug" depends="build"
286           description="Build configured applications" >
287     <ant antfile="${org.bedework.project.bedework}/deployment}/build.xml" inheritrefs="true"
288          target="build.configured" />
289   </target>
290
291   <target name="clean.build.configured" depends="clean,build.configured" />
292
293   <target name="clean.build.configured.debug" depends="clean,build.configured.debug"/>
294
295   <!-- ======================== javadoc target =======================
296        We build these and copy in turn into the main bedework docs directory.
297
298        The org.bedework.projectdocs.home property allows each project to
299        locate the previously built javadocs so they can link to it.
300
301        We also assume access to the java api docs.
302        ================================================================= -->
303
304   <target name="javadoc" depends="init" description="Generate javadoc">
305     <property name="docs.home" location="${bw.project.home}/docs"/>
306     <property name="org.bedework.projectdocs.home" location="${docs.home}/projectdocs"/>
307     <delete dir="${org.bedework.projectdocs.home}" />
308     <mkdir dir="${org.bedework.projectdocs.home}" />
309
310     <ant antfile="${org.bedework.project.rpiutil}/build.xml" inheritall="false"
311          target="javadoc" >
312       <property name="destdir"
313                 location="${org.bedework.projectdocs.home}/rpiutil/api" />
314     </ant>
315
316     <ant antfile="${org.bedework.project.access}/build.xml" inheritall="false"
317          target="javadoc" >
318       <property name="destdir"
319                 location="${org.bedework.projectdocs.home}/access/api" />
320     </ant>
321
322     <ant antfile="${org.bedework.project.davutil}/build.xml" inheritall="false"
323          target="javadoc" >
324       <property name="destdir"
325                 location="${org.bedework.projectdocs.home}/davutil/api" />
326     </ant>
327
328     <ant antfile="${org.bedework.project.calendarapi}/build.xml" inheritall="false"
329          target="javadoc" >
330       <property name="destdir"
331                 location="${org.bedework.projectdocs.home}/calendarapi/api" />
332     </ant>
333
334     <ant antfile="${org.bedework.project.dumprestore}/build.xml" inheritall="false"
335          target="javadoc" >
336       <property name="destdir"
337                 location="${org.bedework.projectdocs.home}/dumprestore/api" />
338     </ant>
339
340     <ant antfile="${org.bedework.project.webdav}/build.xml" inheritall="false"
341          target="javadoc" >
342       <property name="destdir"
343                 location="${org.bedework.projectdocs.home}/webdav/api" />
344     </ant>
345
346     <ant antfile="${org.bedework.project.caldav}/build.xml" inheritall="false"
347          target="javadoc" >
348       <property name="destdir"
349                 location="${org.bedework.projectdocs.home}/caldav/api" />
350     </ant>
351
352     <ant antfile="${org.bedework.project.caldavimpl}/build.xml" inheritall="false"
353          target="javadoc" >
354       <property name="destdir"
355                 location="${org.bedework.projectdocs.home}/caldavimpl/api" />
356     </ant>
357
358     <ant antfile="${org.bedework.project.bwtools}/build.xml" inheritall="false"
359          target="javadoc" >
360       <property name="destdir"
361                 location="${org.bedework.projectdocs.home}/bwtools/api" />
362     </ant>
363
364     <ant antfile="${org.bedework.project.indexer}/build.xml" inheritall="false"
365          target="javadoc" >
366       <property name="destdir"
367                 location="${org.bedework.projectdocs.home}/indexer/api" />
368     </ant>
369
370     <ant antfile="${org.bedework.project.webapps}/build.xml" inheritall="false"
371          target="javadoc" >
372       <property name="destdir"
373                 location="${org.bedework.projectdocs.home}/webapps/api" />
374     </ant>
375   </target>
376
377   <!-- =================================================================
378        Targets to build sub-projects.
379        ================================================================= -->
380
381   <!-- .................................................................
382                           access
383        .................................................................. -->
384   <target name="build.access" depends="init"
385           description="builds the access project">
386     <ant antfile="${org.bedework.project.access}/build.xml" inheritall="false"
387            target="build-all" >
388       <property name="org.bedework.libcache.dir"
389                 location="${org.bedework.project.bedework}/libcache"/>
390     </ant>
391   </target>
392
393   <target name="clean.access" depends="init"
394           description="cleans the access project">
395     <ant antfile="${org.bedework.project.access}/build.xml" inheritall="false"
396            target="deep-clean" />
397   </target>
398
399   <target name="clean.build.access" depends="clean.access,build.access"
400           description="builds the access project"/>
401
402   <!-- .................................................................
403                           bwtools
404        .................................................................. -->
405   <target name="build.bwtools" depends="init"
406           description="builds the bwtools project">
407     <ant antfile="${org.bedework.project.bwtools}/build.xml" inheritall="false"
408            target="build-all"  >
409       <property name="org.bedework.libcache.dir"
410                 location="${org.bedework.project.bedework}/libcache"/>
411     </ant>
412   </target>
413
414   <target name="clean.bwtools" depends="init"
415           description="clean the bwtools project">
416     <ant antfile="${org.bedework.project.bwtools}/build.xml" inheritall="false"
417            target="deep-clean" />
418   </target>
419
420   <target name="clean.build.bwtools" depends="clean.bwtools,build.bwtools"
421           description="builds the bwtools project"/>
422
423   <!-- .................................................................
424                           caldav
425        .................................................................. -->
426   <target name="build.caldav" depends="init"
427           description="builds the caldav project">
428     <ant antfile="${org.bedework.project.caldav}/build.xml" inheritall="false"
429        target="build-all"  >
430       <property name="org.bedework.libcache.dir"
431                 location="${org.bedework.project.bedework}/libcache"/>
432     </ant>
433   </target>
434
435   <target name="clean.caldav" depends="init"
436           description="clean the caldav project">
437     <ant antfile="${org.bedework.project.caldav}/build.xml" inheritall="false"
438          target="deep-clean" />
439   </target>
440
441   <target name="clean.build.caldav" depends="clean.caldav,build.caldav"
442           description="clean builds the caldav project"/>
443
444   <!-- .................................................................
445                           caldavimpl
446        .................................................................. -->
447   <target name="build.caldavimpl" depends="init"
448           description="builds the caldavimpl project">
449     <ant antfile="${org.bedework.project.caldavimpl}/build.xml" inheritall="false"
450        target="build-all"  >
451       <property name="org.bedework.libcache.dir"
452                 location="${org.bedework.project.bedework}/libcache"/>
453     </ant>
454   </target>
455
456   <target name="clean.caldavimpl" depends="init"
457           description="clean the caldavimpl project">
458     <ant antfile="${org.bedework.project.caldavimpl}/build.xml" inheritall="false"
459          target="deep-clean" />
460   </target>
461
462   <target name="clean.build.caldavimpl" depends="clean.caldav,build.caldav"
463           description="clean builds the caldavimpl project"/>
464
465   <!-- .................................................................
466                           calendarapi
467        .................................................................. -->
468   <target name="build.calendarapi" depends="init"
469           description="builds the calendar project">
470     <ant antfile="${org.bedework.project.calendarapi}/build.xml" inheritall="false"
471            target="build-all"  >
472       <property name="org.bedework.libcache.dir"
473                 location="${org.bedework.project.bedework}/libcache"/>
474     </ant>
475   </target>
476
477   <target name="clean.calendarapi" depends="init"
478           description="clean the calendar project">
479     <ant antfile="${org.bedework.project.calendarapi}/build.xml" inheritall="false"
480            target="deep-clean" />
481   </target>
482
483   <target name="clean.build.calendarapi" depends="clean.calendarapi,build.calendarapi"
484           description="clean builds the calendarapi project"/>
485
486   <!-- .................................................................
487                           davutil
488        .................................................................. -->
489   <target name="build.davutil" depends="init"
490           description="builds the davutil project">
491     <ant antfile="${org.bedework.project.davutil}/build.xml" inheritall="false"
492            target="build-all"  >
493       <property name="org.bedework.libcache.dir"
494                 location="${org.bedework.project.bedework}/libcache"/>
495     </ant>
496   </target>
497
498   <target name="clean.davutil" depends="init"
499           description="cleans the davutil project">
500     <ant antfile="${org.bedework.project.davutil}/build.xml" inheritall="false"
501            target="deep-clean" />
502   </target>
503
504   <target name="clean.build.davutil" depends="clean.davutil,build.davutil"
505           description="clean builds the davutil project"/>
506
507   <!-- .................................................................
508                           dumprestore
509        .................................................................. -->
510   <target name="build.dumprestore" depends="init"
511           description="builds the dumprestore project">
512     <ant antfile="${org.bedework.project.dumprestore}/build.xml" inheritall="false"
513            target="build-all"  >
514       <property name="org.bedework.libcache.dir"
515                 location="${org.bedework.project.bedework}/libcache"/>
516     </ant>
517   </target>
518
519   <target name="clean.dumprestore" depends="init"
520           description="clean the dumprestore project">
521     <ant antfile="${org.bedework.project.dumprestore}/build.xml" inheritall="false"
522            target="deep-clean" />
523   </target>
524
525   <target name="clean.build.dumprestore" depends="clean.dumprestore,build.dumprestore"
526           description="builds the dumprestore project"/>
527
528   <!-- .................................................................
529                           indexer
530        .................................................................. -->
531   <target name="build.indexer" depends="init"
532           description="builds the indexer project">
533     <ant antfile="${org.bedework.project.indexer}/build.xml" inheritall="false"
534            target="build-all"  >
535       <property name="org.bedework.libcache.dir"
536                 location="${org.bedework.project.bedework}/libcache"/>
537     </ant>
538   </target>
539
540   <target name="clean.indexer" depends="init"
541           description="clean the indexer project">
542     <ant antfile="${org.bedework.project.indexer}/build.xml" inheritall="false"
543            target="deep-clean" />
544   </target>
545
546   <target name="clean.build.indexer" depends="clean.indexer,build.indexer"
547           description="builds the indexer project"/>
548
549   <!-- .................................................................
550                           rpiutil
551        .................................................................. -->
552   <target name="build.rpiutil" depends="init"
553           description="builds the rpiutil project">
554     <ant antfile="${org.bedework.project.rpiutil}/build.xml" inheritall="false"
555            target="build-all"  >
556       <property name="org.bedework.libcache.dir"
557                 location="${org.bedework.project.bedework}/libcache"/>
558     </ant>
559   </target>
560
561   <target name="clean.rpiutil" depends="init"
562           description="cleans the rpiutil project">
563     <ant antfile="${org.bedework.project.rpiutil}/build.xml" inheritall="false"
564            target="deep-clean" />
565   </target>
566
567   <target name="clean.build.rpiutil" depends="clean.rpiutil,build.rpiutil"
568           description="builds the rpiutil project"/>
569
570   <!-- .................................................................
571                           webapps
572        .................................................................. -->
573   <target name="build.webapps" depends="init"
574           description="builds the webapps project">
575     <ant antfile="${org.bedework.project.webapps}/build.xml" inheritall="false"
576            target="build-all"  >
577       <property name="org.bedework.libcache.dir"
578                 location="${org.bedework.project.bedework}/libcache"/>
579     </ant>
580   </target>
581
582   <target name="clean.webapps" depends="init"
583           description="clean the webapps project">
584     <ant antfile="${org.bedework.project.webapps}/build.xml" inheritall="false"
585            target="deep-clean" />
586   </target>
587
588   <target name="clean.build.webapps" depends="clean.webapps,build.webapps"
589           description="builds the webapps project"/>
590
591   <!-- .................................................................
592                           webdav
593        .................................................................. -->
594   <target name="build.webdav" depends="init"
595           description="builds the webdav project">
596     <ant antfile="${org.bedework.project.webdav}/build.xml" inheritall="false"
597          target="build-all"  >
598       <property name="org.bedework.libcache.dir"
599                 location="${org.bedework.project.bedework}/libcache"/>
600     </ant>
601   </target>
602
603   <target name="clean.webdav" depends="init"
604           description="cleans the webdav project">
605     <ant antfile="${org.bedework.project.webdav}/build.xml" inheritall="false"
606          target="deep-clean" />
607   </target>
608
609   <target name="clean.build.webdav" depends="clean.webdav,build.webdav"
610           description="builds the webdav project"/>
611
612   <!-- =================================================================
613        Targets to build sub-components of this project.
614        ================================================================= -->
615
616   <target name="build.build" depends="init"
617           description="builds the java build configuration component">
618     <ant antfile="${org.bedework.project.bedework}/build/build.xml" inheritrefs="true"
619            target="build" >
620       <property name="build.jar.file" location="${org.bedework.build.jar}" />
621     </ant>
622   </target>
623
624   <!-- =================================================================
625        Run the cmdline utility
626        ================================================================= -->
627
628   <target name="cmdutil" depends="init"
629           description="run the cmdline utility">
630     <ant antfile="${org.bedework.project.bwtools}/build.xml" inheritall="false"
631          target="cmdutil" />
632   </target>
633
634   <!-- Rebuild the http test suite only -->
635   <target name="httptest" depends="init"
636           description="Run httptest suite" >
637     <input message="httptest may destroy this calendar db. Proceed with test"
638            validargs="y,n"
639            addproperty="do.httptest" />
640     <condition property="do.abort">
641       <equals arg1="n" arg2="${do.httptest}"/>
642     </condition>
643     <fail if="do.abort">httptest aborted by user.</fail>
644
645     <ant antfile="${calendar.build.file}" inheritrefs="true"
646            target="bld.httptest" />
647
648     <ant antfile="${calendar.build.file}" inheritrefs="true"
649            target="run.httptest" />
650   </target>
651 </project>
Note: See TracBrowser for help on using the browser.