root/releases/bedework-3.4/build.xml

Revision 1653 (checked in by douglm, 5 years ago)

Fix bug in build and update manual contents page

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="usage" basedir=".">
9   <property environment="env"/>
10
11   <!-- this project -->
12   <property name="org.bedework.project.bedework"
13             location="${basedir}" />
14
15   <!-- Where we put other projects -->
16   <property name="org.bedework.projects"
17             location="${org.bedework.project.bedework}/projects" />
18
19   <property name="org.bedework.project.access"
20             location="${org.bedework.projects}/access" />
21
22   <property name="org.bedework.project.bwtools"
23             location="${org.bedework.projects}/bwtools" />
24
25   <property name="org.bedework.project.caldav"
26             location="${org.bedework.projects}/caldav" />
27
28   <property name="org.bedework.project.caldavTest"
29             location="${org.bedework.projects}/caldavTest" />
30
31   <property name="org.bedework.project.calendarapi"
32             location="${org.bedework.projects}/calendarapi" />
33
34   <property name="org.bedework.project.davutil"
35             location="${org.bedework.projects}/davutil" />
36
37   <property name="org.bedework.project.dumprestore"
38             location="${org.bedework.projects}/dumprestore" />
39
40   <property name="org.bedework.project.freebusy"
41             location="${org.bedework.projects}/freebusy" />
42
43   <property name="org.bedework.project.rpiutil"
44             location="${org.bedework.projects}/rpiutil" />
45
46   <property name="org.bedework.project.synchml"
47             location="${org.bedework.projects}/synchml" />
48
49   <property name="org.bedework.project.testsuite"
50             location="${org.bedework.projects}/testsuite" />
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   <target name="README" depends="init"
59           description="Describe targets and their usage">
60     <loadfile property="org.bedework.README"
61               srcFile="${org.bedework.project.bedework}/docs/README"/>
62     <echo message="${org.bedework.README}" />
63   </target>
64
65   <target name="usage" depends="init"
66           description="Describe targets and their usage">
67     <echo message="As distributed the package should be ready to go."/>
68     <echo message="Ensure ant is on your path, (a version is in the" />
69     <echo message="package)"/>
70     <echo message=""/>
71     <echo message="First in one window do"/>
72     <echo message="    ant hsqldb"/>
73     <echo message="This will start the hsqldb server ready for the "/>
74     <echo message="application."/>
75     <echo message=""/>
76     <echo message="In another window do"/>
77     <echo message="    ant tomcatstart"/>
78     <echo message=""/>
79     <echo message="Once tomcat is running you should be able to go to a"/>
80     <echo message="browser and connect to"/>
81     <echo message="    http://localhost:8080/bedework"/>
82     <echo message="and follow the instructions."/>
83     <echo message=""/>
84     <echo message="To build the calendar do"/>
85     <echo message="    ant deploy    or "/>
86     <echo message="    ant deploy.debug "/>
87     <echo message="which does a build and deploy of all components"/>
88     <echo message=""/>
89     <echo message="To rebuild the calendar do"/>
90     <echo message="    ant clean.deploy    or "/>
91     <echo message="    ant clean.deploy.debug "/>
92     <echo message="which does a clean, build and deploy of all components"/>
93     <echo message=""/>
94     <echo message="See documentation in the docs directory or on bedework.org"/>
95     <echo message="for instructions on creating a locally configured calendar application"/>
96     <echo message=""/>
97   </target>
98
99   <target name="init" >
100     <property name="org.bedework.qs.build.synchml" value="yes" />
101
102     <!-- Overriding this when invoking ant allows different user property
103          files to be included e.g.
104             ant -Dorg.bedework.user.build.properties=/home/me/bedework.properties ...
105             -->
106     <property name="org.bedework.user.build.properties"
107               location="${user.home}/bedework.build.properties" />
108
109     <echo message="Load user properties from ${org.bedework.user.build.properties}" />
110
111     <!-- Load user property definition overrides -->
112     <property file="${org.bedework.user.build.properties}" />
113
114     <!-- ===============================================================
115               Default properties.
116          =============================================================== -->
117
118     <property name="project.home" location="${org.bedework.project.bedework}"/>
119
120     <property file="${project.home}/build.properties" />
121
122     <property name="project.name" value="${org.bedework.package.name}"/>
123     <property name="project.version" value="${org.bedework.version}"/>
124
125     <property name="dist.home" location="${project.home}/dist"/>
126     <property name="lib.dir" location="${project.home}/lib"/>
127     <property name="bin.home" location="${project.home}/bin"/>
128
129     <property name="build.dir" location="${project.home}/build"/>
130     <property name="buildjar" location="${build.dir}/buildjar.xml"/>
131     <property name="buildsh" location="${build.dir}/buildsh.xml"/>
132     <property name="buildwar" location="${build.dir}/buildwar.xml"/>
133
134     <property name="org.bedework.build.caldav" value="yes" />
135
136     <condition property="org.bedework.qs.build.caldav">
137       <equals arg1="yes" arg2="${org.bedework.build.caldav}"/>
138     </condition>
139
140     <property name="org.bedework.build.freebusy" value="no" />
141
142     <condition property="org.bedework.qs.build.freebusy">
143       <equals arg1="yes" arg2="${org.bedework.build.freebusy}"/>
144     </condition>
145
146     <mkdir dir="${dist.home}" />
147
148     <mkdir dir="${bin.home}" />
149
150     <property name="org.bedework.empty.dir"
151               location="${dist.home}/empty-dir" />
152     <mkdir dir="${org.bedework.empty.dir}" />
153
154     <fileset id="empty.fileset" dir="${org.bedework.empty.dir}"
155              excludes="*" />
156     <!-- default to empty -->
157     <fileset id="base.resource.files" refid="empty.fileset" />
158
159     <!-- ==================== Subcomponent Compilation Classpath ==================== -->
160
161     <path id="compile.classpath">
162       <fileset dir="${lib.dir}">
163          <include name="*.jar"/>
164       </fileset>
165       <fileset dir="${dist.home}">
166          <include name="*.jar"/>
167       </fileset>
168     </path>
169
170     <!-- ===============================================================
171               Locations and jar files built by this project.
172          =============================================================== -->
173
174     <property name="org.bedework.temp.dir"
175               location="${dist.home}/temp" />
176
177     <property name="org.bedework.temp.wars.home"
178               location="${org.bedework.temp.dir}/wars" />
179
180     <property name="org.bedework.temp.shellscr.home"
181               location="${org.bedework.temp.dir}/shellscr" />
182
183     <property name="org.bedework.config.base"
184               location="${org.bedework.project.bedework}/config" />
185
186     <property name="org.bedework.default.lib"
187               location="${org.bedework.project.bedework}/lib" />
188
189     <property name="org.bedework.deployment.base"
190               location="${org.bedework.project.bedework}/deployment" />
191
192     <property name="org.bedework.deployutil.jar"
193               location="${bin.home}/${org.bedework.deployutil.jar.name}-${project.version}.jar" />
194   </target>
195
196   <target name="init.build" depends="init">
197     <mkdir dir="${dist.home}" />
198
199     <mkdir dir="${bin.home}" />
200
201     <mkdir dir="${org.bedework.empty.dir}" />
202   </target>
203
204   <!-- =================================================================
205        "build" and "clean" targets for the project - does not build
206        subsidiary projects like rpiutil and access
207        ================================================================= -->
208
209   <target name="build" depends="init.build,build.rpiutil,build.access,build.davutil,
210                                 build.calendarapi,build.dumprestore,build.synchml,
211                                 build.webdav,build.caldav,build.caldavTest,
212                                 build.freebusy,build.bwtools,build.webapps,
213                                 build.testsuite,build.deployutil"
214           description="builds the project"/>
215
216   <target name="clean" depends="init,clean.rpiutil,clean.access,clean.davutil,
217                                 clean.calendarapi,clean.dumprestore,clean.synchml,
218                                 clean.webdav,clean.caldav,clean.caldavTest,
219                                 clean.freebusy,clean.bwtools,clean.webapps,
220                                 clean.testsuite"
221           description="Remove all generated files.">
222     <delete dir="${dist.home}" />
223     <delete dir="${bin.home}" />
224   </target>
225
226   <target name="quickstart-clean" depends="init,clean.rpiutil,clean.access,clean.davutil,
227                                            clean.calendarapi,clean.dumprestore,clean.synchml,
228                                            clean.webdav,clean.caldav,clean.caldavTest,
229                                            clean.freebusy,clean.bwtools,clean.webapps,
230                                            clean.testsuite"
231           description="partial clean up for quickstart.">
232     <delete dir="${bin.home}" />
233     <delete dir="${org.bedework.temp.dir}" />
234     <delete dir="${org.bedework.empty.dir}" />
235
236     <delete>
237       <fileset dir="${dist.home}" includes="*.war"/>
238     </delete>
239   </target>
240
241   <target name="clean.build" depends="clean, build"
242           description="cleans then builds the project"/>
243
244   <!-- =================================================================
245        The "deploy" and "deploy.all" target builds and deploys the applications
246        ================================================================= -->
247
248   <target name="deploy.debug" depends="build"
249           description="builds and deploys the applications">
250     <ant antfile="${org.bedework.project.bedework}/deployment/build.xml" inheritrefs="true"
251          target="deploy"  >
252       <property name="app.debug.val" value="9" />
253     </ant>
254   </target>
255
256   <target name="deploy" depends="build"
257           description="builds and deploys the applications">
258     <ant antfile="${org.bedework.project.bedework}/deployment/build.xml" inheritrefs="true"
259          target="deploy" />
260   </target>
261
262   <!-- =================================================================
263        The "clean.deploy" target cleans, builds and deploys the applications
264        ================================================================= -->
265
266   <target name="clean.deploy" depends="clean,deploy" />
267
268   <target name="clean.deploy.debug" depends="clean,deploy.debug" />
269
270   <!-- =================================================================
271        The "build.configured" target builds configured applications
272        ================================================================= -->
273
274   <target name="build.configured" depends="build"
275           description="Build configured applications" >
276     <ant antfile="${org.bedework.project.bedework}/deployment/build.xml" inheritrefs="true"
277          target="build.configured"  >
278       <property name="app.debug.val" value="9" />
279     </ant>
280   </target>
281
282   <target name="build.configured.debug" depends="build"
283           description="Build configured applications" >
284     <ant antfile="${org.bedework.project.bedework}/deployment}/build.xml" inheritrefs="true"
285          target="build.configured" />
286   </target>
287
288   <target name="clean.build.configured" depends="clean,build.configured" />
289
290   <target name="clean.build.configured.debug" depends="clean,build.configured.debug"/>
291
292   <!-- ======================== javadoc target =======================
293        We build these and copy in turn into the main bedework docs directory.
294
295        The org.bedework.projectdocs.home property allows each project to
296        locate the previously built javadocs so they can link to it.
297
298        We also assume access to the java api docs.
299        ================================================================= -->
300
301   <target name="javadoc" depends="init" description="Generate javadoc">
302     <property name="docs.home" location="${project.home}/docs"/>
303     <property name="org.bedework.projectdocs.home" location="${docs.home}/projectdocs"/>
304     <delete dir="${org.bedework.projectdocs.home}" />
305     <mkdir dir="${org.bedework.projectdocs.home}" />
306
307     <ant antfile="${org.bedework.project.rpiutil}/build.xml" inheritall="false"
308          target="javadoc" >
309       <property name="destdir"
310                 location="${org.bedework.projectdocs.home}/rpiutil/api" />
311     </ant>
312
313     <ant antfile="${org.bedework.project.access}/build.xml" inheritall="false"
314          target="javadoc" >
315       <property name="destdir"
316                 location="${org.bedework.projectdocs.home}/access/api" />
317     </ant>
318
319     <ant antfile="${org.bedework.project.davutil}/build.xml" inheritall="false"
320          target="javadoc" >
321       <property name="destdir"
322                 location="${org.bedework.projectdocs.home}/davutil/api" />
323     </ant>
324
325     <ant antfile="${org.bedework.project.calendarapi}/build.xml" inheritall="false"
326          target="javadoc" >
327       <property name="destdir"
328                 location="${org.bedework.projectdocs.home}/calendarapi/api" />
329     </ant>
330
331     <ant antfile="${org.bedework.project.dumprestore}/build.xml" inheritall="false"
332          target="javadoc" >
333       <property name="destdir"
334                 location="${org.bedework.projectdocs.home}/dumprestore/api" />
335     </ant>
336
337     <ant antfile="${org.bedework.project.synchml}/build.xml" inheritall="false"
338          target="javadoc" >
339       <property name="destdir"
340                 location="${org.bedework.projectdocs.home}/synchml/api" />
341     </ant>
342
343     <ant antfile="${org.bedework.project.webdav}/build.xml" inheritall="false"
344          target="javadoc" >
345       <property name="destdir"
346                 location="${org.bedework.projectdocs.home}/webdav/api" />
347     </ant>
348
349     <ant antfile="${org.bedework.project.caldav}/build.xml" inheritall="false"
350          target="javadoc" >
351       <property name="destdir"
352                 location="${org.bedework.projectdocs.home}/caldav/api" />
353     </ant>
354
355     <ant antfile="${org.bedework.project.caldavTest}/build.xml" inheritall="false"
356          target="javadoc" >
357       <property name="destdir"
358                 location="${org.bedework.projectdocs.home}/caldavTest/api" />
359     </ant>
360
361     <ant antfile="${org.bedework.project.freebusy}/build.xml" inheritall="false"
362          target="javadoc" >
363       <property name="destdir"
364                 location="${org.bedework.projectdocs.home}/freebusy/api" />
365     </ant>
366
367     <ant antfile="${org.bedework.project.bwtools}/build.xml" inheritall="false"
368          target="javadoc" >
369       <property name="destdir"
370                 location="${org.bedework.projectdocs.home}/bwtools/api" />
371     </ant>
372
373     <ant antfile="${org.bedework.project.webapps}/build.xml" inheritall="false"
374          target="javadoc" >
375       <property name="destdir"
376                 location="${org.bedework.projectdocs.home}/webapps/api" />
377     </ant>
378
379     <ant antfile="${org.bedework.project.testsuite}/build.xml" inheritall="false"
380          target="javadoc" >
381       <property name="destdir"
382                 location="${org.bedework.projectdocs.home}/testsuite/api" />
383     </ant>
384   </target>
385
386   <!-- =================================================================
387        Targets to build sub-projects and copy the results into dependent
388        libraries. Each sub-project generates a libapi directory which
389        contains the public api for that project.
390        ================================================================= -->
391
392   <!-- .................................................................
393                           access
394        .................................................................. -->
395   <target name="build.access" depends="init"
396           description="builds the access project">
397     <ant antfile="${org.bedework.project.access}/build.xml" inheritall="false"
398            target="build-all" />
399
400     <copy-to-dependent this="${org.bedework.project.access}"
401                        target="${org.bedework.project.caldav}" />
402     <copy-to-dependent this="${org.bedework.project.access}"
403                        target="${org.bedework.project.calendarapi}" />
404     <copy-to-dependent this="${org.bedework.project.access}"
405                        target="${org.bedework.project.davutil}" />
406     <copy-to-dependent this="${org.bedework.project.access}"
407                        target="${org.bedework.project.dumprestore}" />
408     <copy-to-dependent this="${org.bedework.project.access}"
409                        target="${org.bedework.project.webapps}" />
410     <copy-to-dependent this="${org.bedework.project.access}"
411                        target="${org.bedework.project.webdav}" />
412     <copy-to-dependent this="${org.bedework.project.access}"
413                        target="${org.bedework.project.testsuite}" />
414
415     <copy-to-bin this="${org.bedework.project.access}"/>
416   </target>
417
418   <target name="clean.access" depends="init"
419           description="cleans the access project">
420     <ant antfile="${org.bedework.project.access}/build.xml" inheritall="false"
421            target="deep-clean" />
422   </target>
423
424   <target name="clean.build.access" depends="clean.access,build.access"
425           description="builds the access project"/>
426
427   <!-- .................................................................
428                           bwtools
429        .................................................................. -->
430   <target name="build.bwtools" depends="init"
431           description="builds the bwtools project">
432     <ant antfile="${org.bedework.project.bwtools}/build.xml" inheritall="false"
433            target="build-all" />
434
435     <copy-to-bin this="${org.bedework.project.bwtools}"/>
436   </target>
437
438   <target name="clean.bwtools" depends="init"
439           description="clean the bwtools project">
440     <ant antfile="${org.bedework.project.bwtools}/build.xml" inheritall="false"
441            target="deep-clean" />
442   </target>
443
444   <target name="clean.build.bwtools" depends="clean.bwtools,build.bwtools"
445           description="builds the bwtools project"/>
446
447   <!-- .................................................................
448                           caldav
449        .................................................................. -->
450   <target name="build.caldav" depends="init"
451           description="builds the caldav project">
452     <if>
453       <isset property="org.bedework.qs.build.caldav"/>
454       <then>
455         <ant antfile="${org.bedework.project.caldav}/build.xml" inheritall="false"
456              target="build-all" />
457
458       <copy-to-bin this="${org.bedework.project.caldav}"/>
459       </then>
460     </if>
461   </target>
462
463   <target name="clean.caldav" depends="init"
464           description="clean the caldav project">
465     <if>
466       <isset property="org.bedework.qs.build.caldav"/>
467       <then>
468         <ant antfile="${org.bedework.project.caldav}/build.xml" inheritall="false"
469              target="deep-clean" />
470       </then>
471     </if>
472   </target>
473
474   <target name="clean.build.caldav" depends="clean.caldav,build.caldav"
475           description="clean builds the caldav project"/>
476
477   <!-- .................................................................
478                           caldavTest
479        .................................................................. -->
480   <target name="build.caldavTest" depends="init"
481           description="builds the caldavTest project">
482     <if>
483       <isset property="org.bedework.qs.build.caldav"/>
484       <then>
485         <ant antfile="${org.bedework.project.caldavTest}/build.xml" inheritall="false"
486              target="build-all" />
487
488         <copy-to-bin this="${org.bedework.project.caldavTest}"/>
489       </then>
490     </if>
491   </target>
492
493   <target name="clean.caldavTest" depends="init"
494           description="clean the caldavTest project">
495     <if>
496       <isset property="org.bedework.qs.build.caldav"/>
497       <then>
498         <ant antfile="${org.bedework.project.caldavTest}/build.xml" inheritall="false"
499              target="deep-clean" />
500       </then>
501     </if>
502   </target>
503
504   <target name="clean.build.caldavTest" depends="clean.caldavTest,build.caldavTest"
505           description="clean builds the caldavTest project"/>
506
507   <!-- .................................................................
508                           calendarapi
509        .................................................................. -->
510   <target name="build.calendarapi" depends="init"
511           description="builds the calendar project">
512     <ant antfile="${org.bedework.project.calendarapi}/build.xml" inheritall="false"
513            target="build-all" />
514
515     <copy-to-dependent this="${org.bedework.project.calendarapi}"
516                        target="${org.bedework.project.caldav}" />
517     <copy-to-dependent this="${org.bedework.project.calendarapi}"
518                        target="${org.bedework.project.dumprestore}" />
519     <copy-special-to-dependent this="${org.bedework.project.calendarapi}"
520                        target="${org.bedework.project.dumprestore}"
521                        prefix="bw-calcore" />
522     <copy-special-to-dependent this="${org.bedework.project.calendarapi}"
523                        target="${org.bedework.project.dumprestore}"
524                        prefix="bw-calsvc" />
525     <copy-to-dependent this="${org.bedework.project.calendarapi}"
526                        target="${org.bedework.project.freebusy}" />
527     <copy-to-dependent this="${org.bedework.project.calendarapi}"
528                        target="${org.bedework.project.synchml}" />
529     <copy-to-dependent this="${org.bedework.project.calendarapi}"
530                        target="${org.bedework.project.webapps}" />
531     <copy-to-dependent this="${org.bedework.project.calendarapi}"
532                        target="${org.bedework.project.testsuite}" />
533
534     <copy-to-bin this="${org.bedework.project.calendarapi}"/>
535   </target>
536
537   <target name="clean.calendarapi" depends="init"
538           description="clean the calendar project">
539     <ant antfile="${org.bedework.project.calendarapi}/build.xml" inheritall="false"
540            target="deep-clean" />
541   </target>
542
543   <target name="clean.build.calendarapi" depends="clean.calendarapi,build.calendarapi"
544           description="clean builds the caldavTest project"/>
545
546   <!-- .................................................................
547                           davutil
548        .................................................................. -->
549   <target name="build.davutil" depends="init"
550           description="builds the davutil project">
551     <ant antfile="${org.bedework.project.davutil}/build.xml" inheritall="false"
552            target="build-all" />
553
554     <copy-to-dependent this="${org.bedework.project.davutil}"
555                        target="${org.bedework.project.caldav}" />
556     <copy-to-dependent this="${org.bedework.project.davutil}"
557                        target="${org.bedework.project.caldavTest}" />
558     <copy-to-dependent this="${org.bedework.project.davutil}"
559                        target="${org.bedework.project.calendarapi}" />
560     <copy-to-dependent this="${org.bedework.project.davutil}"
561                        target="${org.bedework.project.freebusy}" />
562     <copy-to-dependent this="${org.bedework.project.davutil}"
563                        target="${org.bedework.project.webapps}" />
564     <copy-to-dependent this="${org.bedework.project.davutil}"
565                        target="${org.bedework.project.webdav}" />
566
567     <copy-to-bin this="${org.bedework.project.davutil}"/>
568   </target>
569
570   <target name="clean.davutil" depends="init"
571           description="cleans the davutil project">
572     <ant antfile="${org.bedework.project.davutil}/build.xml" inheritall="false"
573            target="deep-clean" />
574   </target>
575
576   <target name="clean.build.davutil" depends="clean.davutil,build.davutil"
577           description="clean builds the davutil project"/>
578
579   <!-- .................................................................
580                           dumprestore
581        .................................................................. -->
582   <target name="build.dumprestore" depends="init"
583           description="builds the dumprestore project">
584     <ant antfile="${org.bedework.project.dumprestore}/build.xml" inheritall="false"
585            target="build-all" />
586
587     <copy-to-bin this="${org.bedework.project.dumprestore}"/>
588   </target>
589
590   <target name="clean.dumprestore" depends="init"
591           description="clean the dumprestore project">
592     <ant antfile="${org.bedework.project.dumprestore}/build.xml" inheritall="false"
593            target="deep-clean" />
594   </target>
595
596   <target name="clean.build.dumprestore" depends="clean.dumprestore,build.dumprestore"
597           description="builds the dumprestore project"/>
598
599   <!-- .................................................................
600                           freebusy
601        .................................................................. -->
602   <target name="build.freebusy" depends="init"
603           description="builds the freebusy project">
604     <if>
605       <isset property="org.bedework.qs.build.freebusy"/>
606       <then>
607         <ant antfile="${org.bedework.project.freebusy}/build.xml" inheritall="false"
608              target="build-all" />
609
610         <copy-to-bin this="${org.bedework.project.freebusy}"/>
611       </then>
612     </if>
613   </target>
614
615   <target name="clean.freebusy" depends="init"
616           description="cleans the freebusy project">
617     <if>
618       <isset property="org.bedework.qs.build.freebusy"/>
619       <then>
620         <ant antfile="${org.bedework.project.freebusy}/build.xml" inheritall="false"
621              target="deep-clean" />
622       </then>
623     </if>
624   </target>
625
626   <target name="clean.build.freebusy" depends="clean.freebusy,build.freebusy"
627           description="builds the freebusy project"/>
628
629   <!-- .................................................................
630                           rpiutil
631        .................................................................. -->
632   <target name="build.rpiutil" depends="init"
633           description="builds the rpiutil project">
634     <ant antfile="${org.bedework.project.rpiutil}/build.xml" inheritall="false"
635            target="build-all" />
636
637     <copy-to-dependent this="${org.bedework.project.rpiutil}"
638                        target="${org.bedework.project.access}" />
639     <copy-to-dependent this="${org.bedework.project.rpiutil}"
640                        target="${org.bedework.project.caldav}" />
641     <copy-to-dependent this="${org.bedework.project.rpiutil}"
642                        target="${org.bedework.project.calendarapi}" />
643     <copy-to-dependent this="${org.bedework.project.rpiutil}"
644                        target="${org.bedework.project.davutil}" />
645     <copy-to-dependent this="${org.bedework.project.rpiutil}"
646                        target="${org.bedework.project.dumprestore}" />
647     <copy-to-dependent this="${org.bedework.project.rpiutil}"
648                        target="${org.bedework.project.freebusy}" />
649     <copy-to-dependent this="${org.bedework.project.rpiutil}"
650                        target="${org.bedework.project.webapps}" />
651     <copy-to-dependent this="${org.bedework.project.rpiutil}"
652                        target="${org.bedework.project.webdav}" />
653     <copy-to-dependent this="${org.bedework.project.rpiutil}"
654                        target="${org.bedework.project.testsuite}" />
655
656     <copy-to-bin this="${org.bedework.project.rpiutil}"/>
657   </target>
658
659   <target name="clean.rpiutil" depends="init"
660           description="cleans the rpiutil project">
661     <ant antfile="${org.bedework.project.rpiutil}/build.xml" inheritall="false"
662            target="deep-clean" />
663   </target>
664
665   <target name="clean.build.rpiutil" depends="clean.rpiutil,build.rpiutil"
666           description="builds the rpiutil project"/>
667
668   <!-- .................................................................
669                           synchml
670        .................................................................. -->
671   <target name="build.synchml" depends="init"
672           description="builds the synchml project">
673     <if>
674       <isset property="org.bedework.qs.build.synchml"/>
675       <then>
676         <ant antfile="${org.bedework.project.synchml}/build.xml" inheritall="false"
677              target="build-all" />
678
679         <copy-to-bin this="${org.bedework.project.synchml}"/>
680       </then>
681     </if>
682   </target>
683
684   <target name="clean.synchml" depends="init"
685           description="clean the synchml project">
686     <if>
687       <isset property="org.bedework.qs.build.synchml"/>
688       <then>
689         <ant antfile="${org.bedework.project.synchml}/build.xml" inheritall="false"
690              target="deep-clean" />
691       </then>
692     </if>
693   </target>
694
695   <target name="clean.build.synchml" depends="clean.synchml,clean.synchml"
696           description="builds the synchml project"/>
697
698   <!-- .................................................................
699                           testsuite
700        .................................................................. -->
701   <target name="build.testsuite" depends="init"
702           description="builds the testsuite project">
703     <ant antfile="${org.bedework.project.testsuite}/build.xml" inheritall="false"
704          target="build-all" />
705
706     <copy-to-bin this="${org.bedework.project.testsuite}"/>
707   </target>
708
709   <target name="clean.testsuite" depends="init"
710           description="clean the testsuite project">
711     <ant antfile="${org.bedework.project.testsuite}/build.xml" inheritall="false"
712          target="deep-clean" />
713   </target>
714
715   <target name="clean.build.testsuite" depends="clean.testsuite,clean.testsuite"
716           description="builds the testsuite project"/>
717
718   <!-- .................................................................
719                           webapps
720        .................................................................. -->
721   <target name="build.webapps" depends="init"
722           description="builds the webapps project">
723     <ant antfile="${org.bedework.project.webapps}/build.xml" inheritall="false"
724            target="build-all" />
725
726     <copy-to-bin this="${org.bedework.project.webapps}"/>
727   </target>
728
729   <target name="clean.webapps" depends="init"
730           description="clean the webapps project">
731     <ant antfile="${org.bedework.project.webapps}/build.xml" inheritall="false"
732            target="deep-clean" />
733   </target>
734
735   <target name="clean.build.webapps" depends="clean.webapps,build.webapps"
736           description="builds the webapps project"/>
737
738   <!-- .................................................................
739                           webdav
740        .................................................................. -->
741   <target name="build.webdav" depends="init"
742           description="builds the webdav project">
743     <if>
744       <isset property="org.bedework.qs.build.caldav"/>
745       <then>
746         <ant antfile="${org.bedework.project.webdav}/build.xml" inheritall="false"
747              target="build-all" />
748
749         <copy-to-dependent this="${org.bedework.project.webdav}"
750                            target="${org.bedework.project.caldav}" />
751
752         <copy-to-bin this="${org.bedework.project.webdav}"/>
753       </then>
754     </if>
755   </target>
756
757   <target name="clean.webdav" depends="init"
758           description="cleans the webdav project">
759     <if>
760       <isset property="org.bedework.qs.build.caldav"/>
761       <then>
762         <ant antfile="${org.bedework.project.webdav}/build.xml" inheritall="false"
763              target="deep-clean" />
764       </then>
765     </if>
766   </target>
767
768   <target name="clean.build.webdav" depends="clean.webdav,build.webdav"
769           description="builds the webdav project"/>
770
771   <!-- =================================================================
772        Targets to build sub-components of this project.
773        ================================================================= -->
774
775   <target name="build.deployutil" depends="init"
776           description="builds the deployutil component">
777     <ant antfile="${org.bedework.project.bedework}/deployutil/build.xml" inheritrefs="true"
778            target="build" >
779       <property name="build.jar.file" location="${org.bedework.deployutil.jar}" />
780     </ant>
781   </target>
782
783   <!-- =================================================================
784        Build and run the unit test suite
785        ================================================================= -->
786
787   <target name="bld.test" depends="init"
788           description="Build and run tests">
789     <ant antfile="${calendar.build.file}" inheritrefs="true"
790          target="bld.test" />
791   </target>
792
793   <target name="run.test" depends="init"
794           description="Build and run tests">
795     <ant antfile="${calendar.build.file}" inheritrefs="true"
796          target="run.test" />
797   </target>
798
799   <target name="run.test.debug" depends="init"
800           description="Build and run tests">
801     <ant antfile="${calendar.build.file}" inheritrefs="true"
802          target="run.test"  >
803       <property name="org.bedework.debug" value="yes" />
804     </ant>
805   </target>
806
807   <!-- Rebuild the http test suite only -->
808   <target name="httptest" depends="init"
809           description="Run httptest suite" >
810     <input message="httptest may destroy this calendar db. Proceed with test"
811            validargs="y,n"
812            addproperty="do.httptest" />
813     <condition property="do.abort">
814       <equals arg1="n" arg2="${do.httptest}"/>
815     </condition>
816     <fail if="do.abort">httptest aborted by user.</fail>
817
818     <ant antfile="${calendar.build.file}" inheritrefs="true"
819            target="bld.httptest" />
820
821     <ant antfile="${calendar.build.file}" inheritrefs="true"
822            target="run.httptest" />
823   </target>
824
825   <!-- =============================================================================
826        Update dependent project (target) from a project just built (this)
827        with a special library (i.e. not one in libapi
828        ============================================================================= -->
829   <macrodef name="copy-special-to-dependent">
830     <attribute name="target"/>
831     <attribute name="this"/>
832     <attribute name="fromdir" default="dist"/>
833     <attribute name="prefix" />
834     <sequential>
835       <delete>
836         <fileset dir="@{target}/lib" includes="@{prefix}*.jar"/>
837       </delete>
838
839       <copy todir="@{target}/lib" overwrite="yes">
840         <fileset dir="@{this}/@{fromdir}">
841           <include name="@{prefix}*.jar" />
842         </fileset>
843       </copy>
844     </sequential>
845   </macrodef>
846
847   <!-- =============================================================================
848        Update dependent project (target) from a project just built (this).
849        ============================================================================= -->
850   <macrodef name="copy-to-dependent">
851     <attribute name="target"/>
852     <attribute name="this"/>
853     <attribute name="fromdir" default="libapi"/>
854     <sequential>
855       <copy todir="@{target}/lib" overwrite="yes">
856         <fileset dir="@{this}/@{fromdir}">
857           <include name="*.jar" />
858         </fileset>
859       </copy>
860     </sequential>
861   </macrodef>
862
863   <!-- =============================================================================
864        Copy from a project just built (this) into bedework bin directory.
865        ============================================================================= -->
866   <macrodef name="copy-to-bin">
867     <attribute name="this"/>
868     <sequential>
869       <copy todir="${org.bedework.project.bedework}/bin" overwrite="yes">
870         <fileset dir="@{this}/dist">
871           <include name="*.jar" />
872         </fileset>
873       </copy>
874     </sequential>
875   </macrodef>
876 </project>
Note: See TracBrowser for help on using the browser.