root/trunk/build.xml

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

Rename some core components to avoid confusion

Move some code out of CalSvc? into subscriptions handler

Take a look at config application to see if we can resurrect it

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-special-to-dependent this="${org.bedework.project.calendarapi}"
532                        target="${org.bedework.project.webapps}"
533                        prefix="bw-calenv" />
534     <copy-to-dependent this="${org.bedework.project.calendarapi}"
535                        target="${org.bedework.project.testsuite}" />
536
537     <copy-to-bin this="${org.bedework.project.calendarapi}"/>
538   </target>
539
540   <target name="clean.calendarapi" depends="init"
541           description="clean the calendar project">
542     <ant antfile="${org.bedework.project.calendarapi}/build.xml" inheritall="false"
543            target="deep-clean" />
544   </target>
545
546   <target name="clean.build.calendarapi" depends="clean.calendarapi,build.calendarapi"
547           description="clean builds the caldavTest project"/>
548
549   <!-- .................................................................
550                           davutil
551        .................................................................. -->
552   <target name="build.davutil" depends="init"
553           description="builds the davutil project">
554     <ant antfile="${org.bedework.project.davutil}/build.xml" inheritall="false"
555            target="build-all" />
556
557     <copy-to-dependent this="${org.bedework.project.davutil}"
558                        target="${org.bedework.project.caldav}" />
559     <copy-to-dependent this="${org.bedework.project.davutil}"
560                        target="${org.bedework.project.caldavTest}" />
561     <copy-to-dependent this="${org.bedework.project.davutil}"
562                        target="${org.bedework.project.calendarapi}" />
563     <copy-to-dependent this="${org.bedework.project.davutil}"
564                        target="${org.bedework.project.freebusy}" />
565     <copy-to-dependent this="${org.bedework.project.davutil}"
566                        target="${org.bedework.project.webapps}" />
567     <copy-to-dependent this="${org.bedework.project.davutil}"
568                        target="${org.bedework.project.webdav}" />
569
570     <copy-to-bin this="${org.bedework.project.davutil}"/>
571   </target>
572
573   <target name="clean.davutil" depends="init"
574           description="cleans the davutil project">
575     <ant antfile="${org.bedework.project.davutil}/build.xml" inheritall="false"
576            target="deep-clean" />
577   </target>
578
579   <target name="clean.build.davutil" depends="clean.davutil,build.davutil"
580           description="clean builds the davutil project"/>
581
582   <!-- .................................................................
583                           dumprestore
584        .................................................................. -->
585   <target name="build.dumprestore" depends="init"
586           description="builds the dumprestore project">
587     <ant antfile="${org.bedework.project.dumprestore}/build.xml" inheritall="false"
588            target="build-all" />
589
590     <copy-to-bin this="${org.bedework.project.dumprestore}"/>
591   </target>
592
593   <target name="clean.dumprestore" depends="init"
594           description="clean the dumprestore project">
595     <ant antfile="${org.bedework.project.dumprestore}/build.xml" inheritall="false"
596            target="deep-clean" />
597   </target>
598
599   <target name="clean.build.dumprestore" depends="clean.dumprestore,build.dumprestore"
600           description="builds the dumprestore project"/>
601
602   <!-- .................................................................
603                           freebusy
604        .................................................................. -->
605   <target name="build.freebusy" depends="init"
606           description="builds 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="build-all" />
612
613         <copy-to-bin this="${org.bedework.project.freebusy}"/>
614       </then>
615     </if>
616   </target>
617
618   <target name="clean.freebusy" depends="init"
619           description="cleans the freebusy project">
620     <if>
621       <isset property="org.bedework.qs.build.freebusy"/>
622       <then>
623         <ant antfile="${org.bedework.project.freebusy}/build.xml" inheritall="false"
624              target="deep-clean" />
625       </then>
626     </if>
627   </target>
628
629   <target name="clean.build.freebusy" depends="clean.freebusy,build.freebusy"
630           description="builds the freebusy project"/>
631
632   <!-- .................................................................
633                           rpiutil
634        .................................................................. -->
635   <target name="build.rpiutil" depends="init"
636           description="builds the rpiutil project">
637     <ant antfile="${org.bedework.project.rpiutil}/build.xml" inheritall="false"
638            target="build-all" />
639
640     <copy-to-dependent this="${org.bedework.project.rpiutil}"
641                        target="${org.bedework.project.access}" />
642     <copy-to-dependent this="${org.bedework.project.rpiutil}"
643                        target="${org.bedework.project.caldav}" />
644     <copy-to-dependent this="${org.bedework.project.rpiutil}"
645                        target="${org.bedework.project.calendarapi}" />
646     <copy-to-dependent this="${org.bedework.project.rpiutil}"
647                        target="${org.bedework.project.davutil}" />
648     <copy-to-dependent this="${org.bedework.project.rpiutil}"
649                        target="${org.bedework.project.dumprestore}" />
650     <copy-to-dependent this="${org.bedework.project.rpiutil}"
651                        target="${org.bedework.project.freebusy}" />
652     <copy-to-dependent this="${org.bedework.project.rpiutil}"
653                        target="${org.bedework.project.webapps}" />
654     <copy-to-dependent this="${org.bedework.project.rpiutil}"
655                        target="${org.bedework.project.webdav}" />
656     <copy-to-dependent this="${org.bedework.project.rpiutil}"
657                        target="${org.bedework.project.testsuite}" />
658
659     <copy-to-bin this="${org.bedework.project.rpiutil}"/>
660   </target>
661
662   <target name="clean.rpiutil" depends="init"
663           description="cleans the rpiutil project">
664     <ant antfile="${org.bedework.project.rpiutil}/build.xml" inheritall="false"
665            target="deep-clean" />
666   </target>
667
668   <target name="clean.build.rpiutil" depends="clean.rpiutil,build.rpiutil"
669           description="builds the rpiutil project"/>
670
671   <!-- .................................................................
672                           synchml
673        .................................................................. -->
674   <target name="build.synchml" depends="init"
675           description="builds the synchml project">
676     <if>
677       <isset property="org.bedework.qs.build.synchml"/>
678       <then>
679         <ant antfile="${org.bedework.project.synchml}/build.xml" inheritall="false"
680              target="build-all" />
681
682         <copy-to-bin this="${org.bedework.project.synchml}"/>
683       </then>
684     </if>
685   </target>
686
687   <target name="clean.synchml" depends="init"
688           description="clean the synchml project">
689     <if>
690       <isset property="org.bedework.qs.build.synchml"/>
691       <then>
692         <ant antfile="${org.bedework.project.synchml}/build.xml" inheritall="false"
693              target="deep-clean" />
694       </then>
695     </if>
696   </target>
697
698   <target name="clean.build.synchml" depends="clean.synchml,clean.synchml"
699           description="builds the synchml project"/>
700
701   <!-- .................................................................
702                           testsuite
703        .................................................................. -->
704   <target name="build.testsuite" depends="init"
705           description="builds the testsuite project">
706     <ant antfile="${org.bedework.project.testsuite}/build.xml" inheritall="false"
707          target="build-all" />
708
709     <copy-to-bin this="${org.bedework.project.testsuite}"/>
710   </target>
711
712   <target name="clean.testsuite" depends="init"
713           description="clean the testsuite project">
714     <ant antfile="${org.bedework.project.testsuite}/build.xml" inheritall="false"
715          target="deep-clean" />
716   </target>
717
718   <target name="clean.build.testsuite" depends="clean.testsuite,clean.testsuite"
719           description="builds the testsuite project"/>
720
721   <!-- .................................................................
722                           webapps
723        .................................................................. -->
724   <target name="build.webapps" depends="init"
725           description="builds the webapps project">
726     <ant antfile="${org.bedework.project.webapps}/build.xml" inheritall="false"
727            target="build-all" />
728
729     <copy-special-to-dependent this="${org.bedework.project.webapps}"
730                        target="${org.bedework.project.testsuite}"
731                        prefix="bw-appcommon" />
732
733     <copy-to-bin this="${org.bedework.project.webapps}"/>
734   </target>
735
736   <target name="clean.webapps" depends="init"
737           description="clean the webapps project">
738     <ant antfile="${org.bedework.project.webapps}/build.xml" inheritall="false"
739            target="deep-clean" />
740   </target>
741
742   <target name="clean.build.webapps" depends="clean.webapps,build.webapps"
743           description="builds the webapps project"/>
744
745   <!-- .................................................................
746                           webdav
747        .................................................................. -->
748   <target name="build.webdav" depends="init"
749           description="builds the webdav project">
750     <if>
751       <isset property="org.bedework.qs.build.caldav"/>
752       <then>
753         <ant antfile="${org.bedework.project.webdav}/build.xml" inheritall="false"
754              target="build-all" />
755
756         <copy-to-dependent this="${org.bedework.project.webdav}"
757                            target="${org.bedework.project.caldav}" />
758
759         <copy-to-bin this="${org.bedework.project.webdav}"/>
760       </then>
761     </if>
762   </target>
763
764   <target name="clean.webdav" depends="init"
765           description="cleans the webdav project">
766     <if>
767       <isset property="org.bedework.qs.build.caldav"/>
768       <then>
769         <ant antfile="${org.bedework.project.webdav}/build.xml" inheritall="false"
770              target="deep-clean" />
771       </then>
772     </if>
773   </target>
774
775   <target name="clean.build.webdav" depends="clean.webdav,build.webdav"
776           description="builds the webdav project"/>
777
778   <!-- =================================================================
779        Targets to build sub-components of this project.
780        ================================================================= -->
781
782   <target name="build.deployutil" depends="init"
783           description="builds the deployutil component">
784     <ant antfile="${org.bedework.project.bedework}/deployutil/build.xml" inheritrefs="true"
785            target="build" >
786       <property name="build.jar.file" location="${org.bedework.deployutil.jar}" />
787     </ant>
788   </target>
789
790   <!-- =================================================================
791        Build and run the unit test suite
792        ================================================================= -->
793
794   <target name="bld.test" depends="init"
795           description="Build and run tests">
796     <ant antfile="${calendar.build.file}" inheritrefs="true"
797          target="bld.test" />
798   </target>
799
800   <target name="run.test" depends="init"
801           description="Build and run tests">
802     <ant antfile="${calendar.build.file}" inheritrefs="true"
803          target="run.test" />
804   </target>
805
806   <target name="run.test.debug" depends="init"
807           description="Build and run tests">
808     <ant antfile="${calendar.build.file}" inheritrefs="true"
809          target="run.test"  >
810       <property name="org.bedework.debug" value="yes" />
811     </ant>
812   </target>
813
814   <!-- Rebuild the http test suite only -->
815   <target name="httptest" depends="init"
816           description="Run httptest suite" >
817     <input message="httptest may destroy this calendar db. Proceed with test"
818            validargs="y,n"
819            addproperty="do.httptest" />
820     <condition property="do.abort">
821       <equals arg1="n" arg2="${do.httptest}"/>
822     </condition>
823     <fail if="do.abort">httptest aborted by user.</fail>
824
825     <ant antfile="${calendar.build.file}" inheritrefs="true"
826            target="bld.httptest" />
827
828     <ant antfile="${calendar.build.file}" inheritrefs="true"
829            target="run.httptest" />
830   </target>
831
832   <!-- =============================================================================
833        Update dependent project (target) from a project just built (this)
834        with a special library (i.e. not one in libapi
835        ============================================================================= -->
836   <macrodef name="copy-special-to-dependent">
837     <attribute name="target"/>
838     <attribute name="this"/>
839     <attribute name="fromdir" default="dist"/>
840     <attribute name="prefix" />
841     <sequential>
842       <delete>
843         <fileset dir="@{target}/lib" includes="@{prefix}*.jar"/>
844       </delete>
845
846       <copy todir="@{target}/lib" overwrite="yes">
847         <fileset dir="@{this}/@{fromdir}">
848           <include name="@{prefix}*.jar" />
849         </fileset>
850       </copy>
851     </sequential>
852   </macrodef>
853
854   <!-- =============================================================================
855        Update dependent project (target) from a project just built (this).
856        ============================================================================= -->
857   <macrodef name="copy-to-dependent">
858     <attribute name="target"/>
859     <attribute name="this"/>
860     <attribute name="fromdir" default="libapi"/>
861     <sequential>
862       <copy todir="@{target}/lib" overwrite="yes">
863         <fileset dir="@{this}/@{fromdir}">
864           <include name="*.jar" />
865         </fileset>
866       </copy>
867     </sequential>
868   </macrodef>
869
870   <!-- =============================================================================
871        Copy from a project just built (this) into bedework bin directory.
872        ============================================================================= -->
873   <macrodef name="copy-to-bin">
874     <attribute name="this"/>
875     <sequential>
876       <copy todir="${org.bedework.project.bedework}/bin" overwrite="yes">
877         <fileset dir="@{this}/dist">
878           <include name="*.jar" />
879         </fileset>
880       </copy>
881     </sequential>
882   </macrodef>
883
884   <!-- =============================================================================
885        Update a project library from the bedework lib directory.
886        ============================================================================= -->
887   <macrodef name="copy-lib-to-lib">
888     <attribute name="this"/>
889     <sequential>
890       <delete file="@{target}/lib/@{jarprefix}*.jar" />
891
892       <copy todir="@{target}/lib" >
893         <fileset dir="${org.bedework.project.bedework}/lib" >
894           <include name="@{jarprefix}*.jar" />
895         </fileset>
896       </copy>
897     </sequential>
898   </macrodef>
899 </project>
Note: See TracBrowser for help on using the browser.