root/releases/bedework-3.3/build.xml

Revision 1129 (checked in by douglm, 6 years ago)

Fix a bug in add calendar suite.

Mostly javadoc -

./ant javadoc

will generate linked javadoc for all projects in the bedework docs directory

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.webapps"
50             location="${org.bedework.projects}/webapps" />
51
52   <property name="org.bedework.project.webdav"
53             location="${org.bedework.projects}/webdav" />
54
55   <target name="README" depends="init"
56           description="Describe targets and their usage">
57     <loadfile property="org.bedework.README"
58               srcFile="${org.bedework.project.bedework}/docs/README"/>
59     <echo message="${org.bedework.README}" />
60   </target>
61
62   <target name="usage" depends="init"
63           description="Describe targets and their usage">
64     <echo message="As distributed the package should be ready to go."/>
65     <echo message="Ensure ant is on your path, (a version is in the" />
66     <echo message="package)"/>
67     <echo message=""/>
68     <echo message="First in one window do"/>
69     <echo message="    ant hsqldb"/>
70     <echo message="This will start the hsqldb server ready for the "/>
71     <echo message="application."/>
72     <echo message=""/>
73     <echo message="In another window do"/>
74     <echo message="    ant tomcatstart"/>
75     <echo message=""/>
76     <echo message="Once tomcat is running you should be able to go to a"/>
77     <echo message="browser and connect to"/>
78     <echo message="    http://localhost:8080/bedework"/>
79     <echo message="and follow the instructions."/>
80     <echo message=""/>
81     <echo message="To build the calendar do"/>
82     <echo message="    ant deploy    or "/>
83     <echo message="    ant deploy.debug "/>
84     <echo message="which does a build and deploy of all components"/>
85     <echo message=""/>
86     <echo message="To rebuild the calendar do"/>
87     <echo message="    ant clean.deploy    or "/>
88     <echo message="    ant clean.deploy.debug "/>
89     <echo message="which does a clean, build and deploy of all components"/>
90     <echo message=""/>
91     <echo message="See documentation in the docs directory or on bedework.org"/>
92     <echo message="for instructions on creating a locally configured calendar application"/>
93     <echo message=""/>
94   </target>
95
96   <target name="init" >
97     <property name="org.bedework.qs.build.synchml" value="yes" />
98
99     <!-- Overriding this when invoking ant allows different user property
100          files to be included e.g.
101             ant -Dorg.bedework.user.build.properties=/home/me/bedework.properties ...
102             -->
103     <property name="org.bedework.user.build.properties"
104               location="${user.home}/bedework.build.properties" />
105
106     <echo message="Load user properties from ${org.bedework.user.build.properties}" />
107
108     <!-- Load user property definition overrides -->
109     <property file="${org.bedework.user.build.properties}" />
110
111     <!-- ===============================================================
112               Default properties.
113          =============================================================== -->
114
115     <property name="project.home" location="${org.bedework.project.bedework}"/>
116
117     <property file="${project.home}/build.properties" />
118
119     <property name="project.name" value="${org.bedework.package.name}"/>
120     <property name="project.version" value="${org.bedework.version}"/>
121
122     <property name="dist.home" location="${project.home}/dist"/>
123     <property name="lib.dir" location="${project.home}/lib"/>
124     <property name="bin.home" location="${project.home}/bin"/>
125
126     <property name="build.dir" location="${project.home}/build"/>
127     <property name="buildjar" location="${build.dir}/buildjar.xml"/>
128     <property name="buildsh" location="${build.dir}/buildsh.xml"/>
129     <property name="buildwar" location="${build.dir}/buildwar.xml"/>
130
131     <property name="org.bedework.build.caldav" value="yes" />
132
133     <condition property="org.bedework.qs.build.caldav">
134       <equals arg1="yes" arg2="${org.bedework.build.caldav}"/>
135     </condition>
136
137     <property name="org.bedework.build.freebusy" value="no" />
138
139     <condition property="org.bedework.qs.build.freebusy">
140       <equals arg1="yes" arg2="${org.bedework.build.freebusy}"/>
141     </condition>
142
143     <mkdir dir="${dist.home}" />
144
145     <mkdir dir="${bin.home}" />
146
147     <property name="org.bedework.empty.dir"
148               location="${dist.home}/empty-dir" />
149     <mkdir dir="${org.bedework.empty.dir}" />
150
151     <fileset id="empty.fileset" dir="${org.bedework.empty.dir}"
152              excludes="*" />
153     <!-- default to empty -->
154     <fileset id="base.resource.files" refid="empty.fileset" />
155
156     <!-- ==================== Subcomponent Compilation Classpath ==================== -->
157
158     <path id="compile.classpath">
159       <fileset dir="${lib.dir}">
160          <include name="*.jar"/>
161       </fileset>
162       <fileset dir="${dist.home}">
163          <include name="*.jar"/>
164       </fileset>
165     </path>
166
167     <!-- ===============================================================
168               Locations and jar files built by this project.
169          =============================================================== -->
170
171     <property name="org.bedework.temp.dir"
172               location="${dist.home}/temp" />
173
174     <property name="org.bedework.temp.wars.home"
175               location="${org.bedework.temp.dir}/wars" />
176
177     <property name="org.bedework.temp.shellscr.home"
178               location="${org.bedework.temp.dir}/shellscr" />
179
180     <property name="org.bedework.config.base"
181               location="${org.bedework.project.bedework}/config" />
182
183     <property name="org.bedework.default.lib"
184               location="${org.bedework.project.bedework}/lib" />
185
186     <property name="org.bedework.deployment.base"
187               location="${org.bedework.project.bedework}/deployment" />
188
189     <property name="org.bedework.deployutil.jar"
190               location="${bin.home}/${org.bedework.deployutil.jar.name}-${project.version}.jar" />
191
192     <!-- ===============================================================
193               Default properties.
194          =============================================================== -->
195     <property file="${org.bedework.defaultdefs.properties}" />
196   </target>
197
198   <target name="init.build" depends="init">
199     <mkdir dir="${dist.home}" />
200
201     <mkdir dir="${bin.home}" />
202
203     <mkdir dir="${org.bedework.empty.dir}" />
204   </target>
205
206   <!-- =================================================================
207        "build" and "clean" targets for the project - does not build
208        subsidiary projects like rpiutil and access
209        ================================================================= -->
210
211   <target name="build" depends="init.build,build.rpiutil,build.access,build.davutil,
212                                 build.calendarapi,build.dumprestore,build.synchml,
213                                 build.webdav,build.caldav,build.caldavTest,
214                                 build.freebusy,build.bwtools,build.webapps,
215                                 build.deployutil"
216           description="builds the project"/>
217
218   <target name="clean" depends="init,clean.rpiutil,clean.access,clean.davutil,
219                                 clean.calendarapi,clean.dumprestore,clean.synchml,
220                                 clean.webdav,clean.caldav,clean.caldavTest,
221                                 clean.freebusy,clean.bwtools,clean.webapps"
222           description="Remove all generated files.">
223     <delete dir="${dist.home}" />
224     <delete dir="${bin.home}" />
225   </target>
226
227   <target name="quickstart-clean" depends="init,clean.rpiutil,clean.access,clean.davutil,
228                                            clean.calendarapi,clean.dumprestore,clean.synchml,
229                                            clean.webdav,clean.caldav,clean.caldavTest,
230                                            clean.freebusy,clean.bwtools,clean.webapps"
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   </target>
379
380   <!-- =================================================================
381        Targets to build sub-projects and copy the results into dependent
382        libraries. Each sub-project generates a libapi directory which
383        contains the public api for that project.
384        ================================================================= -->
385
386   <!-- .................................................................
387                           access
388        .................................................................. -->
389   <target name="build.access" depends="init"
390           description="builds the access project">
391     <ant antfile="${org.bedework.project.access}/build.xml" inheritall="false"
392            target="build-all" />
393
394     <copy-to-dependent this="${org.bedework.project.access}"
395                        target="${org.bedework.project.caldav}" />
396     <copy-to-dependent this="${org.bedework.project.access}"
397                        target="${org.bedework.project.calendarapi}" />
398     <copy-to-dependent this="${org.bedework.project.access}"
399                        target="${org.bedework.project.davutil}" />
400     <copy-to-dependent this="${org.bedework.project.access}"
401                        target="${org.bedework.project.dumprestore}" />
402     <copy-to-dependent this="${org.bedework.project.access}"
403                        target="${org.bedework.project.webapps}" />
404     <copy-to-dependent this="${org.bedework.project.access}"
405                        target="${org.bedework.project.webdav}" />
406
407     <copy-to-bin this="${org.bedework.project.access}"/>
408   </target>
409
410   <target name="clean.access" depends="init"
411           description="cleans the access project">
412     <ant antfile="${org.bedework.project.access}/build.xml" inheritall="false"
413            target="deep-clean" />
414   </target>
415
416   <target name="clean.build.access" depends="clean.access,build.access"
417           description="builds the access project"/>
418
419   <!-- .................................................................
420                           bwtools
421        .................................................................. -->
422   <target name="build.bwtools" depends="init"
423           description="builds the bwtools project">
424     <ant antfile="${org.bedework.project.bwtools}/build.xml" inheritall="false"
425            target="build-all" />
426
427     <copy-to-bin this="${org.bedework.project.bwtools}"/>
428   </target>
429
430   <target name="clean.bwtools" depends="init"
431           description="clean the bwtools project">
432     <ant antfile="${org.bedework.project.bwtools}/build.xml" inheritall="false"
433            target="deep-clean" />
434   </target>
435
436   <target name="clean.build.bwtools" depends="clean.bwtools,build.bwtools"
437           description="builds the bwtools project"/>
438
439   <!-- .................................................................
440                           caldav
441        .................................................................. -->
442   <target name="build.caldav" depends="init"
443           description="builds the caldav project">
444     <if>
445       <isset property="org.bedework.qs.build.caldav"/>
446       <then>
447         <ant antfile="${org.bedework.project.caldav}/build.xml" inheritall="false"
448              target="build-all" />
449
450       <copy-to-bin this="${org.bedework.project.caldav}"/>
451       </then>
452     </if>
453   </target>
454
455   <target name="clean.caldav" depends="init"
456           description="clean the caldav project">
457     <if>
458       <isset property="org.bedework.qs.build.caldav"/>
459       <then>
460         <ant antfile="${org.bedework.project.caldav}/build.xml" inheritall="false"
461              target="deep-clean" />
462       </then>
463     </if>
464   </target>
465
466   <target name="clean.build.caldav" depends="clean.caldav,build.caldav"
467           description="clean builds the caldav project"/>
468
469   <!-- .................................................................
470                           caldavTest
471        .................................................................. -->
472   <target name="build.caldavTest" depends="init"
473           description="builds the caldavTest project">
474     <if>
475       <isset property="org.bedework.qs.build.caldav"/>
476       <then>
477         <ant antfile="${org.bedework.project.caldavTest}/build.xml" inheritall="false"
478              target="build-all" />
479
480         <copy-to-bin this="${org.bedework.project.caldavTest}"/>
481       </then>
482     </if>
483   </target>
484
485   <target name="clean.caldavTest" depends="init"
486           description="clean the caldavTest project">
487     <if>
488       <isset property="org.bedework.qs.build.caldav"/>
489       <then>
490         <ant antfile="${org.bedework.project.caldavTest}/build.xml" inheritall="false"
491              target="deep-clean" />
492       </then>
493     </if>
494   </target>
495
496   <target name="clean.build.caldavTest" depends="clean.caldavTest,build.caldavTest"
497           description="clean builds the caldavTest project"/>
498
499   <!-- .................................................................
500                           calendarapi
501        .................................................................. -->
502   <target name="build.calendarapi" depends="init"
503           description="builds the calendar project">
504     <ant antfile="${org.bedework.project.calendarapi}/build.xml" inheritall="false"
505            target="build-all" />
506
507     <copy-to-dependent this="${org.bedework.project.calendarapi}"
508                        target="${org.bedework.project.caldav}" />
509     <copy-to-dependent this="${org.bedework.project.calendarapi}"
510                        target="${org.bedework.project.dumprestore}" />
511     <copy-special-to-dependent this="${org.bedework.project.calendarapi}"
512                        target="${org.bedework.project.dumprestore}"
513                        prefix="bw-calcore" />
514     <copy-special-to-dependent this="${org.bedework.project.calendarapi}"
515                        target="${org.bedework.project.dumprestore}"
516                        prefix="bw-calsvc" />
517     <copy-to-dependent this="${org.bedework.project.calendarapi}"
518                        target="${org.bedework.project.freebusy}" />
519     <copy-to-dependent this="${org.bedework.project.calendarapi}"
520                        target="${org.bedework.project.synchml}" />
521     <copy-to-dependent this="${org.bedework.project.calendarapi}"
522                        target="${org.bedework.project.webapps}" />
523
524     <copy-to-bin this="${org.bedework.project.calendarapi}"/>
525   </target>
526
527   <target name="clean.calendarapi" depends="init"
528           description="clean the calendar project">
529     <ant antfile="${org.bedework.project.calendarapi}/build.xml" inheritall="false"
530            target="deep-clean" />
531   </target>
532
533   <target name="clean.build.calendarapi" depends="clean.calendarapi,build.calendarapi"
534           description="clean builds the caldavTest project"/>
535
536   <!-- .................................................................
537                           davutil
538        .................................................................. -->
539   <target name="build.davutil" depends="init"
540           description="builds the davutil project">
541     <ant antfile="${org.bedework.project.davutil}/build.xml" inheritall="false"
542            target="build-all" />
543
544     <copy-to-dependent this="${org.bedework.project.davutil}"
545                        target="${org.bedework.project.caldav}" />
546     <copy-to-dependent this="${org.bedework.project.davutil}"
547                        target="${org.bedework.project.caldavTest}" />
548     <copy-to-dependent this="${org.bedework.project.davutil}"
549                        target="${org.bedework.project.calendarapi}" />
550     <copy-to-dependent this="${org.bedework.project.davutil}"
551                        target="${org.bedework.project.freebusy}" />
552     <copy-to-dependent this="${org.bedework.project.davutil}"
553                        target="${org.bedework.project.webapps}" />
554     <copy-to-dependent this="${org.bedework.project.davutil}"
555                        target="${org.bedework.project.webdav}" />
556
557     <copy-to-bin this="${org.bedework.project.davutil}"/>
558   </target>
559
560   <target name="clean.davutil" depends="init"
561           description="cleans the davutil project">
562     <ant antfile="${org.bedework.project.davutil}/build.xml" inheritall="false"
563            target="deep-clean" />
564   </target>
565
566   <target name="clean.build.davutil" depends="clean.davutil,build.davutil"
567           description="clean builds the davutil project"/>
568
569   <!-- .................................................................
570                           dumprestore
571        .................................................................. -->
572   <target name="build.dumprestore" depends="init"
573           description="builds the dumprestore project">
574     <ant antfile="${org.bedework.project.dumprestore}/build.xml" inheritall="false"
575            target="build-all" />
576
577     <copy-to-bin this="${org.bedework.project.dumprestore}"/>
578   </target>
579
580   <target name="clean.dumprestore" depends="init"
581           description="clean the dumprestore project">
582     <ant antfile="${org.bedework.project.dumprestore}/build.xml" inheritall="false"
583            target="deep-clean" />
584   </target>
585
586   <target name="clean.build.dumprestore" depends="clean.dumprestore,build.dumprestore"
587           description="builds the dumprestore project"/>
588
589   <!-- .................................................................
590                           freebusy
591        .................................................................. -->
592   <target name="build.freebusy" depends="init"
593           description="builds the freebusy project">
594     <if>
595       <isset property="org.bedework.qs.build.freebusy"/>
596       <then>
597         <ant antfile="${org.bedework.project.freebusy}/build.xml" inheritall="false"
598              target="build-all" />
599
600         <copy-to-bin this="${org.bedework.project.freebusy}"/>
601       </then>
602     </if>
603   </target>
604
605   <target name="clean.freebusy" depends="init"
606           description="cleans the freebusy project">
607     <if>
608       <isset property="org.bedework.qs.build.freebusy"/>
609       <then>
610         <ant antfile="${org.bedework.project.freebusy}/build.xml" inheritall="false"
611              target="deep-clean" />
612       </then>
613     </if>
614   </target>
615
616   <target name="clean.build.freebusy" depends="clean.freebusy,build.freebusy"
617           description="builds the freebusy project"/>
618
619   <!-- .................................................................
620                           rpiutil
621        .................................................................. -->
622   <target name="build.rpiutil" depends="init"
623           description="builds the rpiutil project">
624     <ant antfile="${org.bedework.project.rpiutil}/build.xml" inheritall="false"
625            target="build-all" />
626
627     <copy-to-dependent this="${org.bedework.project.rpiutil}"
628                        target="${org.bedework.project.access}" />
629     <copy-to-dependent this="${org.bedework.project.rpiutil}"
630                        target="${org.bedework.project.caldav}" />
631     <copy-to-dependent this="${org.bedework.project.rpiutil}"
632                        target="${org.bedework.project.calendarapi}" />
633     <copy-to-dependent this="${org.bedework.project.rpiutil}"
634                        target="${org.bedework.project.davutil}" />
635     <copy-to-dependent this="${org.bedework.project.rpiutil}"
636                        target="${org.bedework.project.dumprestore}" />
637     <copy-to-dependent this="${org.bedework.project.rpiutil}"
638                        target="${org.bedework.project.freebusy}" />
639     <copy-to-dependent this="${org.bedework.project.rpiutil}"
640                        target="${org.bedework.project.webapps}" />
641     <copy-to-dependent this="${org.bedework.project.rpiutil}"
642                        target="${org.bedework.project.webdav}" />
643
644     <copy-to-bin this="${org.bedework.project.rpiutil}"/>
645   </target>
646
647   <target name="clean.rpiutil" depends="init"
648           description="cleans the rpiutil project">
649     <ant antfile="${org.bedework.project.rpiutil}/build.xml" inheritall="false"
650            target="deep-clean" />
651   </target>
652
653   <target name="clean.build.rpiutil" depends="clean.rpiutil,build.rpiutil"
654           description="builds the rpiutil project"/>
655
656   <!-- .................................................................
657                           synchml
658        .................................................................. -->
659   <target name="build.synchml" depends="init"
660           description="builds the synchml project">
661     <if>
662       <isset property="org.bedework.qs.build.synchml"/>
663       <then>
664         <ant antfile="${org.bedework.project.synchml}/build.xml" inheritall="false"
665              target="build-all" />
666
667         <copy-to-bin this="${org.bedework.project.synchml}"/>
668       </then>
669     </if>
670   </target>
671
672   <target name="clean.synchml" depends="init"
673           description="clean the synchml project">
674     <if>
675       <isset property="org.bedework.qs.build.synchml"/>
676       <then>
677         <ant antfile="${org.bedework.project.synchml}/build.xml" inheritall="false"
678              target="deep-clean" />
679       </then>
680     </if>
681   </target>
682
683   <target name="clean.build.synchml" depends="clean.synchml,clean.synchml"
684           description="builds the synchml project"/>
685
686   <!-- .................................................................
687                           webapps
688        .................................................................. -->
689   <target name="build.webapps" depends="init"
690           description="builds the webapps project">
691     <ant antfile="${org.bedework.project.webapps}/build.xml" inheritall="false"
692            target="build-all" />
693
694     <copy-to-bin this="${org.bedework.project.webapps}"/>
695   </target>
696
697   <target name="clean.webapps" depends="init"
698           description="clean the webapps project">
699     <ant antfile="${org.bedework.project.webapps}/build.xml" inheritall="false"
700            target="deep-clean" />
701   </target>
702
703   <target name="clean.build.webapps" depends="clean.webapps,build.webapps"
704           description="builds the webapps project"/>
705
706   <!-- .................................................................
707                           webdav
708        .................................................................. -->
709   <target name="build.webdav" depends="init"
710           description="builds the webdav project">
711     <if>
712       <isset property="org.bedework.qs.build.caldav"/>
713       <then>
714         <ant antfile="${org.bedework.project.webdav}/build.xml" inheritall="false"
715              target="build-all" />
716
717         <copy-to-dependent this="${org.bedework.project.webdav}"
718                            target="${org.bedework.project.caldav}" />
719
720         <copy-to-bin this="${org.bedework.project.webdav}"/>
721       </then>
722     </if>
723   </target>
724
725   <target name="clean.webdav" depends="init"
726           description="cleans the webdav project">
727     <if>
728       <isset property="org.bedework.qs.build.caldav"/>
729       <then>
730         <ant antfile="${org.bedework.project.webdav}/build.xml" inheritall="false"
731              target="deep-clean" />
732       </then>
733     </if>
734   </target>
735
736   <target name="clean.build.webdav" depends="clean.webdav,build.webdav"
737           description="builds the webdav project"/>
738
739   <!-- =================================================================
740        Targets to build sub-components of this project.
741        ================================================================= -->
742
743   <target name="build.deployutil" depends="init"
744           description="builds the deployutil component">
745     <ant antfile="${org.bedework.project.bedework}/deployutil/build.xml" inheritrefs="true"
746            target="build" >
747       <property name="build.jar.file" location="${org.bedework.deployutil.jar}" />
748     </ant>
749   </target>
750
751   <!-- =================================================================
752        Build and run the unit test suite
753        ================================================================= -->
754
755   <target name="bld.test" depends="init"
756           description="Build and run tests">
757     <ant antfile="${calendar.build.file}" inheritrefs="true"
758          target="bld.test" />
759   </target>
760
761   <target name="run.test" depends="init"
762           description="Build and run tests">
763     <ant antfile="${calendar.build.file}" inheritrefs="true"
764          target="run.test" />
765   </target>
766
767   <target name="run.test.debug" depends="init"
768           description="Build and run tests">
769     <ant antfile="${calendar.build.file}" inheritrefs="true"
770          target="run.test"  >
771       <property name="org.bedework.debug" value="yes" />
772     </ant>
773   </target>
774
775   <!-- Rebuild the http test suite only -->
776   <target name="httptest" depends="init"
777           description="Run httptest suite" >
778     <input message="httptest may destroy this calendar db. Proceed with test"
779            validargs="y,n"
780            addproperty="do.httptest" />
781     <condition property="do.abort">
782       <equals arg1="n" arg2="${do.httptest}"/>
783     </condition>
784     <fail if="do.abort">httptest aborted by user.</fail>
785
786     <ant antfile="${calendar.build.file}" inheritrefs="true"
787            target="bld.httptest" />
788
789     <ant antfile="${calendar.build.file}" inheritrefs="true"
790            target="run.httptest" />
791   </target>
792
793   <!-- =============================================================================
794        Update dependent project (target) from a project just built (this)
795        with a special library (i.e. not one in libapi
796        ============================================================================= -->
797   <macrodef name="copy-special-to-dependent">
798     <attribute name="target"/>
799     <attribute name="this"/>
800     <attribute name="fromdir" default="dist"/>
801     <attribute name="prefix" />
802     <sequential>
803       <delete>
804         <fileset dir="@{target}/lib" includes="@{prefix}*.jar"/>
805       </delete>
806
807       <copy todir="@{target}/lib" overwrite="yes">
808         <fileset dir="@{this}/@{fromdir}">
809           <include name="@{prefix}*.jar" />
810         </fileset>
811       </copy>
812     </sequential>
813   </macrodef>
814
815   <!-- =============================================================================
816        Update dependent project (target) from a project just built (this).
817        ============================================================================= -->
818   <macrodef name="copy-to-dependent">
819     <attribute name="target"/>
820     <attribute name="this"/>
821     <attribute name="fromdir" default="libapi"/>
822     <sequential>
823       <copy todir="@{target}/lib" overwrite="yes">
824         <fileset dir="@{this}/@{fromdir}">
825           <include name="*.jar" />
826         </fileset>
827       </copy>
828     </sequential>
829   </macrodef>
830
831   <!-- =============================================================================
832        Copy from a project just built (this) into bedework bin directory.
833        ============================================================================= -->
834   <macrodef name="copy-to-bin">
835     <attribute name="this"/>
836     <sequential>
837       <copy todir="${org.bedework.project.bedework}/bin" overwrite="yes">
838         <fileset dir="@{this}/dist">
839           <include name="*.jar" />
840         </fileset>
841       </copy>
842     </sequential>
843   </macrodef>
844 </project>
Note: See TracBrowser for help on using the browser.