root/releases/bedework-3.3.1/build.xml

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

New testsuite project

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
195     <!-- ===============================================================
196               Default properties.
197          =============================================================== -->
198     <property file="${org.bedework.defaultdefs.properties}" />
199   </target>
200
201   <target name="init.build" depends="init">
202     <mkdir dir="${dist.home}" />
203
204     <mkdir dir="${bin.home}" />
205
206     <mkdir dir="${org.bedework.empty.dir}" />
207   </target>
208
209   <!-- =================================================================
210        "build" and "clean" targets for the project - does not build
211        subsidiary projects like rpiutil and access
212        ================================================================= -->
213
214   <target name="build" depends="init.build,build.rpiutil,build.access,build.davutil,
215                                 build.calendarapi,build.dumprestore,build.synchml,
216                                 build.webdav,build.caldav,build.caldavTest,
217                                 build.freebusy,build.bwtools,build.webapps,
218                                 build.testsuite,build.deployutil"
219           description="builds the project"/>
220
221   <target name="clean" depends="init,clean.rpiutil,clean.access,clean.davutil,
222                                 clean.calendarapi,clean.dumprestore,clean.synchml,
223                                 clean.webdav,clean.caldav,clean.caldavTest,
224                                 clean.freebusy,clean.bwtools,clean.webapps,
225                                 clean.testsuite"
226           description="Remove all generated files.">
227     <delete dir="${dist.home}" />
228     <delete dir="${bin.home}" />
229   </target>
230
231   <target name="quickstart-clean" depends="init,clean.rpiutil,clean.access,clean.davutil,
232                                            clean.calendarapi,clean.dumprestore,clean.synchml,
233                                            clean.webdav,clean.caldav,clean.caldavTest,
234                                            clean.freebusy,clean.bwtools,clean.webapps,
235                                            clean.testsuite"
236           description="partial clean up for quickstart.">
237     <delete dir="${bin.home}" />
238     <delete dir="${org.bedework.temp.dir}" />
239     <delete dir="${org.bedework.empty.dir}" />
240
241     <delete>
242       <fileset dir="${dist.home}" includes="*.war"/>
243     </delete>
244   </target>
245
246   <target name="clean.build" depends="clean, build"
247           description="cleans then builds the project"/>
248
249   <!-- =================================================================
250        The "deploy" and "deploy.all" target builds and deploys the applications
251        ================================================================= -->
252
253   <target name="deploy.debug" depends="build"
254           description="builds and deploys the applications">
255     <ant antfile="${org.bedework.project.bedework}/deployment/build.xml" inheritrefs="true"
256          target="deploy"  >
257       <property name="app.debug.val" value="9" />
258     </ant>
259   </target>
260
261   <target name="deploy" depends="build"
262           description="builds and deploys the applications">
263     <ant antfile="${org.bedework.project.bedework}/deployment/build.xml" inheritrefs="true"
264          target="deploy" />
265   </target>
266
267   <!-- =================================================================
268        The "clean.deploy" target cleans, builds and deploys the applications
269        ================================================================= -->
270
271   <target name="clean.deploy" depends="clean,deploy" />
272
273   <target name="clean.deploy.debug" depends="clean,deploy.debug" />
274
275   <!-- =================================================================
276        The "build.configured" target builds configured applications
277        ================================================================= -->
278
279   <target name="build.configured" depends="build"
280           description="Build configured applications" >
281     <ant antfile="${org.bedework.project.bedework}/deployment}/build.xml" inheritrefs="true"
282          target="build.configured"  >
283       <property name="app.debug.val" value="9" />
284     </ant>
285   </target>
286
287   <target name="build.configured.debug" depends="build"
288           description="Build configured applications" >
289     <ant antfile="${org.bedework.project.bedework}/deployment}/build.xml" inheritrefs="true"
290          target="build.configured" />
291   </target>
292
293   <target name="clean.build.configured" depends="clean,build.configured" />
294
295   <target name="clean.build.configured.debug" depends="clean,build.configured.debug"/>
296
297   <!-- ======================== javadoc target =======================
298        We build these and copy in turn into the main bedework docs directory.
299
300        The org.bedework.projectdocs.home property allows each project to
301        locate the previously built javadocs so they can link to it.
302
303        We also assume access to the java api docs.
304        ================================================================= -->
305
306   <target name="javadoc" depends="init" description="Generate javadoc">
307     <property name="docs.home" location="${project.home}/docs"/>
308     <property name="org.bedework.projectdocs.home" location="${docs.home}/projectdocs"/>
309     <delete dir="${org.bedework.projectdocs.home}" />
310     <mkdir dir="${org.bedework.projectdocs.home}" />
311
312     <ant antfile="${org.bedework.project.rpiutil}/build.xml" inheritall="false"
313          target="javadoc" >
314       <property name="destdir"
315                 location="${org.bedework.projectdocs.home}/rpiutil/api" />
316     </ant>
317
318     <ant antfile="${org.bedework.project.access}/build.xml" inheritall="false"
319          target="javadoc" >
320       <property name="destdir"
321                 location="${org.bedework.projectdocs.home}/access/api" />
322     </ant>
323
324     <ant antfile="${org.bedework.project.davutil}/build.xml" inheritall="false"
325          target="javadoc" >
326       <property name="destdir"
327                 location="${org.bedework.projectdocs.home}/davutil/api" />
328     </ant>
329
330     <ant antfile="${org.bedework.project.calendarapi}/build.xml" inheritall="false"
331          target="javadoc" >
332       <property name="destdir"
333                 location="${org.bedework.projectdocs.home}/calendarapi/api" />
334     </ant>
335
336     <ant antfile="${org.bedework.project.dumprestore}/build.xml" inheritall="false"
337          target="javadoc" >
338       <property name="destdir"
339                 location="${org.bedework.projectdocs.home}/dumprestore/api" />
340     </ant>
341
342     <ant antfile="${org.bedework.project.synchml}/build.xml" inheritall="false"
343          target="javadoc" >
344       <property name="destdir"
345                 location="${org.bedework.projectdocs.home}/synchml/api" />
346     </ant>
347
348     <ant antfile="${org.bedework.project.webdav}/build.xml" inheritall="false"
349          target="javadoc" >
350       <property name="destdir"
351                 location="${org.bedework.projectdocs.home}/webdav/api" />
352     </ant>
353
354     <ant antfile="${org.bedework.project.caldav}/build.xml" inheritall="false"
355          target="javadoc" >
356       <property name="destdir"
357                 location="${org.bedework.projectdocs.home}/caldav/api" />
358     </ant>
359
360     <ant antfile="${org.bedework.project.caldavTest}/build.xml" inheritall="false"
361          target="javadoc" >
362       <property name="destdir"
363                 location="${org.bedework.projectdocs.home}/caldavTest/api" />
364     </ant>
365
366     <ant antfile="${org.bedework.project.freebusy}/build.xml" inheritall="false"
367          target="javadoc" >
368       <property name="destdir"
369                 location="${org.bedework.projectdocs.home}/freebusy/api" />
370     </ant>
371
372     <ant antfile="${org.bedework.project.bwtools}/build.xml" inheritall="false"
373          target="javadoc" >
374       <property name="destdir"
375                 location="${org.bedework.projectdocs.home}/bwtools/api" />
376     </ant>
377
378     <ant antfile="${org.bedework.project.webapps}/build.xml" inheritall="false"
379          target="javadoc" >
380       <property name="destdir"
381                 location="${org.bedework.projectdocs.home}/webapps/api" />
382     </ant>
383
384     <ant antfile="${org.bedework.project.testsuite}/build.xml" inheritall="false"
385          target="javadoc" >
386       <property name="destdir"
387                 location="${org.bedework.projectdocs.home}/testsuite/api" />
388     </ant>
389   </target>
390
391   <!-- =================================================================
392        Targets to build sub-projects and copy the results into dependent
393        libraries. Each sub-project generates a libapi directory which
394        contains the public api for that project.
395        ================================================================= -->
396
397   <!-- .................................................................
398                           access
399        .................................................................. -->
400   <target name="build.access" depends="init"
401           description="builds the access project">
402     <ant antfile="${org.bedework.project.access}/build.xml" inheritall="false"
403            target="build-all" />
404
405     <copy-to-dependent this="${org.bedework.project.access}"
406                        target="${org.bedework.project.caldav}" />
407     <copy-to-dependent this="${org.bedework.project.access}"
408                        target="${org.bedework.project.calendarapi}" />
409     <copy-to-dependent this="${org.bedework.project.access}"
410                        target="${org.bedework.project.davutil}" />
411     <copy-to-dependent this="${org.bedework.project.access}"
412                        target="${org.bedework.project.dumprestore}" />
413     <copy-to-dependent this="${org.bedework.project.access}"
414                        target="${org.bedework.project.webapps}" />
415     <copy-to-dependent this="${org.bedework.project.access}"
416                        target="${org.bedework.project.webdav}" />
417     <copy-to-dependent this="${org.bedework.project.access}"
418                        target="${org.bedework.project.testsuite}" />
419
420     <copy-to-bin this="${org.bedework.project.access}"/>
421   </target>
422
423   <target name="clean.access" depends="init"
424           description="cleans the access project">
425     <ant antfile="${org.bedework.project.access}/build.xml" inheritall="false"
426            target="deep-clean" />
427   </target>
428
429   <target name="clean.build.access" depends="clean.access,build.access"
430           description="builds the access project"/>
431
432   <!-- .................................................................
433                           bwtools
434        .................................................................. -->
435   <target name="build.bwtools" depends="init"
436           description="builds the bwtools project">
437     <ant antfile="${org.bedework.project.bwtools}/build.xml" inheritall="false"
438            target="build-all" />
439
440     <copy-to-bin this="${org.bedework.project.bwtools}"/>
441   </target>
442
443   <target name="clean.bwtools" depends="init"
444           description="clean the bwtools project">
445     <ant antfile="${org.bedework.project.bwtools}/build.xml" inheritall="false"
446            target="deep-clean" />
447   </target>
448
449   <target name="clean.build.bwtools" depends="clean.bwtools,build.bwtools"
450           description="builds the bwtools project"/>
451
452   <!-- .................................................................
453                           caldav
454        .................................................................. -->
455   <target name="build.caldav" depends="init"
456           description="builds 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="build-all" />
462
463       <copy-to-bin this="${org.bedework.project.caldav}"/>
464       </then>
465     </if>
466   </target>
467
468   <target name="clean.caldav" depends="init"
469           description="clean the caldav project">
470     <if>
471       <isset property="org.bedework.qs.build.caldav"/>
472       <then>
473         <ant antfile="${org.bedework.project.caldav}/build.xml" inheritall="false"
474              target="deep-clean" />
475       </then>
476     </if>
477   </target>
478
479   <target name="clean.build.caldav" depends="clean.caldav,build.caldav"
480           description="clean builds the caldav project"/>
481
482   <!-- .................................................................
483                           caldavTest
484        .................................................................. -->
485   <target name="build.caldavTest" depends="init"
486           description="builds 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="build-all" />
492
493         <copy-to-bin this="${org.bedework.project.caldavTest}"/>
494       </then>
495     </if>
496   </target>
497
498   <target name="clean.caldavTest" depends="init"
499           description="clean the caldavTest project">
500     <if>
501       <isset property="org.bedework.qs.build.caldav"/>
502       <then>
503         <ant antfile="${org.bedework.project.caldavTest}/build.xml" inheritall="false"
504              target="deep-clean" />
505       </then>
506     </if>
507   </target>
508
509   <target name="clean.build.caldavTest" depends="clean.caldavTest,build.caldavTest"
510           description="clean builds the caldavTest project"/>
511
512   <!-- .................................................................
513                           calendarapi
514        .................................................................. -->
515   <target name="build.calendarapi" depends="init"
516           description="builds the calendar project">
517     <ant antfile="${org.bedework.project.calendarapi}/build.xml" inheritall="false"
518            target="build-all" />
519
520     <copy-to-dependent this="${org.bedework.project.calendarapi}"
521                        target="${org.bedework.project.caldav}" />
522     <copy-to-dependent this="${org.bedework.project.calendarapi}"
523                        target="${org.bedework.project.dumprestore}" />
524     <copy-special-to-dependent this="${org.bedework.project.calendarapi}"
525                        target="${org.bedework.project.dumprestore}"
526                        prefix="bw-calcore" />
527     <copy-special-to-dependent this="${org.bedework.project.calendarapi}"
528                        target="${org.bedework.project.dumprestore}"
529                        prefix="bw-calsvc" />
530     <copy-to-dependent this="${org.bedework.project.calendarapi}"
531                        target="${org.bedework.project.freebusy}" />
532     <copy-to-dependent this="${org.bedework.project.calendarapi}"
533                        target="${org.bedework.project.synchml}" />
534     <copy-to-dependent this="${org.bedework.project.calendarapi}"
535                        target="${org.bedework.project.webapps}" />
536     <copy-to-dependent this="${org.bedework.project.calendarapi}"
537                        target="${org.bedework.project.testsuite}" />
538
539     <copy-to-bin this="${org.bedework.project.calendarapi}"/>
540   </target>
541
542   <target name="clean.calendarapi" depends="init"
543           description="clean the calendar project">
544     <ant antfile="${org.bedework.project.calendarapi}/build.xml" inheritall="false"
545            target="deep-clean" />
546   </target>
547
548   <target name="clean.build.calendarapi" depends="clean.calendarapi,build.calendarapi"
549           description="clean builds the caldavTest project"/>
550
551   <!-- .................................................................
552                           davutil
553        .................................................................. -->
554   <target name="build.davutil" depends="init"
555           description="builds the davutil project">
556     <ant antfile="${org.bedework.project.davutil}/build.xml" inheritall="false"
557            target="build-all" />
558
559     <copy-to-dependent this="${org.bedework.project.davutil}"
560                        target="${org.bedework.project.caldav}" />
561     <copy-to-dependent this="${org.bedework.project.davutil}"
562                        target="${org.bedework.project.caldavTest}" />
563     <copy-to-dependent this="${org.bedework.project.davutil}"
564                        target="${org.bedework.project.calendarapi}" />
565     <copy-to-dependent this="${org.bedework.project.davutil}"
566                        target="${org.bedework.project.freebusy}" />
567     <copy-to-dependent this="${org.bedework.project.davutil}"
568                        target="${org.bedework.project.webapps}" />
569     <copy-to-dependent this="${org.bedework.project.davutil}"
570                        target="${org.bedework.project.webdav}" />
571
572     <copy-to-bin this="${org.bedework.project.davutil}"/>
573   </target>
574
575   <target name="clean.davutil" depends="init"
576           description="cleans the davutil project">
577     <ant antfile="${org.bedework.project.davutil}/build.xml" inheritall="false"
578            target="deep-clean" />
579   </target>
580
581   <target name="clean.build.davutil" depends="clean.davutil,build.davutil"
582           description="clean builds the davutil project"/>
583
584   <!-- .................................................................
585                           dumprestore
586        .................................................................. -->
587   <target name="build.dumprestore" depends="init"
588           description="builds the dumprestore project">
589     <ant antfile="${org.bedework.project.dumprestore}/build.xml" inheritall="false"
590            target="build-all" />
591
592     <copy-to-bin this="${org.bedework.project.dumprestore}"/>
593   </target>
594
595   <target name="clean.dumprestore" depends="init"
596           description="clean the dumprestore project">
597     <ant antfile="${org.bedework.project.dumprestore}/build.xml" inheritall="false"
598            target="deep-clean" />
599   </target>
600
601   <target name="clean.build.dumprestore" depends="clean.dumprestore,build.dumprestore"
602           description="builds the dumprestore project"/>
603
604   <!-- .................................................................
605                           freebusy
606        .................................................................. -->
607   <target name="build.freebusy" depends="init"
608           description="builds the freebusy project">
609     <if>
610       <isset property="org.bedework.qs.build.freebusy"/>
611       <then>
612         <ant antfile="${org.bedework.project.freebusy}/build.xml" inheritall="false"
613              target="build-all" />
614
615         <copy-to-bin this="${org.bedework.project.freebusy}"/>
616       </then>
617     </if>
618   </target>
619
620   <target name="clean.freebusy" depends="init"
621           description="cleans the freebusy project">
622     <if>
623       <isset property="org.bedework.qs.build.freebusy"/>
624       <then>
625         <ant antfile="${org.bedework.project.freebusy}/build.xml" inheritall="false"
626              target="deep-clean" />
627       </then>
628     </if>
629   </target>
630
631   <target name="clean.build.freebusy" depends="clean.freebusy,build.freebusy"
632           description="builds the freebusy project"/>
633
634   <!-- .................................................................
635                           rpiutil
636        .................................................................. -->
637   <target name="build.rpiutil" depends="init"
638           description="builds the rpiutil project">
639     <ant antfile="${org.bedework.project.rpiutil}/build.xml" inheritall="false"
640            target="build-all" />
641
642     <copy-to-dependent this="${org.bedework.project.rpiutil}"
643                        target="${org.bedework.project.access}" />
644     <copy-to-dependent this="${org.bedework.project.rpiutil}"
645                        target="${org.bedework.project.caldav}" />
646     <copy-to-dependent this="${org.bedework.project.rpiutil}"
647                        target="${org.bedework.project.calendarapi}" />
648     <copy-to-dependent this="${org.bedework.project.rpiutil}"
649                        target="${org.bedework.project.davutil}" />
650     <copy-to-dependent this="${org.bedework.project.rpiutil}"
651                        target="${org.bedework.project.dumprestore}" />
652     <copy-to-dependent this="${org.bedework.project.rpiutil}"
653                        target="${org.bedework.project.freebusy}" />
654     <copy-to-dependent this="${org.bedework.project.rpiutil}"
655                        target="${org.bedework.project.webapps}" />
656     <copy-to-dependent this="${org.bedework.project.rpiutil}"
657                        target="${org.bedework.project.webdav}" />
658     <copy-to-dependent this="${org.bedework.project.rpiutil}"
659                        target="${org.bedework.project.testsuite}" />
660
661     <copy-to-bin this="${org.bedework.project.rpiutil}"/>
662   </target>
663
664   <target name="clean.rpiutil" depends="init"
665           description="cleans the rpiutil project">
666     <ant antfile="${org.bedework.project.rpiutil}/build.xml" inheritall="false"
667            target="deep-clean" />
668   </target>
669
670   <target name="clean.build.rpiutil" depends="clean.rpiutil,build.rpiutil"
671           description="builds the rpiutil project"/>
672
673   <!-- .................................................................
674                           synchml
675        .................................................................. -->
676   <target name="build.synchml" depends="init"
677           description="builds the synchml project">
678     <if>
679       <isset property="org.bedework.qs.build.synchml"/>
680       <then>
681         <ant antfile="${org.bedework.project.synchml}/build.xml" inheritall="false"
682              target="build-all" />
683
684         <copy-to-bin this="${org.bedework.project.synchml}"/>
685       </then>
686     </if>
687   </target>
688
689   <target name="clean.synchml" depends="init"
690           description="clean the synchml project">
691     <if>
692       <isset property="org.bedework.qs.build.synchml"/>
693       <then>
694         <ant antfile="${org.bedework.project.synchml}/build.xml" inheritall="false"
695              target="deep-clean" />
696       </then>
697     </if>
698   </target>
699
700   <target name="clean.build.synchml" depends="clean.synchml,clean.synchml"
701           description="builds the synchml project"/>
702
703   <!-- .................................................................
704                           testsuite
705        .................................................................. -->
706   <target name="build.testsuite" depends="init"
707           description="builds the testsuite project">
708     <ant antfile="${org.bedework.project.testsuite}/build.xml" inheritall="false"
709          target="build-all" />
710
711     <copy-to-bin this="${org.bedework.project.testsuite}"/>
712   </target>
713
714   <target name="clean.testsuite" depends="init"
715           description="clean the testsuite project">
716     <ant antfile="${org.bedework.project.testsuite}/build.xml" inheritall="false"
717          target="deep-clean" />
718   </target>
719
720   <target name="clean.build.testsuite" depends="clean.testsuite,clean.testsuite"
721           description="builds the testsuite project"/>
722
723   <!-- .................................................................
724                           webapps
725        .................................................................. -->
726   <target name="build.webapps" depends="init"
727           description="builds the webapps project">
728     <ant antfile="${org.bedework.project.webapps}/build.xml" inheritall="false"
729            target="build-all" />
730
731     <copy-to-bin this="${org.bedework.project.webapps}"/>
732   </target>
733
734   <target name="clean.webapps" depends="init"
735           description="clean the webapps project">
736     <ant antfile="${org.bedework.project.webapps}/build.xml" inheritall="false"
737            target="deep-clean" />
738   </target>
739
740   <target name="clean.build.webapps" depends="clean.webapps,build.webapps"
741           description="builds the webapps project"/>
742
743   <!-- .................................................................
744                           webdav
745        .................................................................. -->
746   <target name="build.webdav" depends="init"
747           description="builds the webdav project">
748     <if>
749       <isset property="org.bedework.qs.build.caldav"/>
750       <then>
751         <ant antfile="${org.bedework.project.webdav}/build.xml" inheritall="false"
752              target="build-all" />
753
754         <copy-to-dependent this="${org.bedework.project.webdav}"
755                            target="${org.bedework.project.caldav}" />
756
757         <copy-to-bin this="${org.bedework.project.webdav}"/>
758       </then>
759     </if>
760   </target>
761
762   <target name="clean.webdav" depends="init"
763           description="cleans the webdav project">
764     <if>
765       <isset property="org.bedework.qs.build.caldav"/>
766       <then>
767         <ant antfile="${org.bedework.project.webdav}/build.xml" inheritall="false"
768              target="deep-clean" />
769       </then>
770     </if>
771   </target>
772
773   <target name="clean.build.webdav" depends="clean.webdav,build.webdav"
774           description="builds the webdav project"/>
775
776   <!-- =================================================================
777        Targets to build sub-components of this project.
778        ================================================================= -->
779
780   <target name="build.deployutil" depends="init"
781           description="builds the deployutil component">
782     <ant antfile="${org.bedework.project.bedework}/deployutil/build.xml" inheritrefs="true"
783            target="build" >
784       <property name="build.jar.file" location="${org.bedework.deployutil.jar}" />
785     </ant>
786   </target>
787
788   <!-- =================================================================
789        Build and run the unit test suite
790        ================================================================= -->
791
792   <target name="bld.test" depends="init"
793           description="Build and run tests">
794     <ant antfile="${calendar.build.file}" inheritrefs="true"
795          target="bld.test" />
796   </target>
797
798   <target name="run.test" depends="init"
799           description="Build and run tests">
800     <ant antfile="${calendar.build.file}" inheritrefs="true"
801          target="run.test" />
802   </target>
803
804   <target name="run.test.debug" depends="init"
805           description="Build and run tests">
806     <ant antfile="${calendar.build.file}" inheritrefs="true"
807          target="run.test"  >
808       <property name="org.bedework.debug" value="yes" />
809     </ant>
810   </target>
811
812   <!-- Rebuild the http test suite only -->
813   <target name="httptest" depends="init"
814           description="Run httptest suite" >
815     <input message="httptest may destroy this calendar db. Proceed with test"
816            validargs="y,n"
817            addproperty="do.httptest" />
818     <condition property="do.abort">
819       <equals arg1="n" arg2="${do.httptest}"/>
820     </condition>
821     <fail if="do.abort">httptest aborted by user.</fail>
822
823     <ant antfile="${calendar.build.file}" inheritrefs="true"
824            target="bld.httptest" />
825
826     <ant antfile="${calendar.build.file}" inheritrefs="true"
827            target="run.httptest" />
828   </target>
829
830   <!-- =============================================================================
831        Update dependent project (target) from a project just built (this)
832        with a special library (i.e. not one in libapi
833        ============================================================================= -->
834   <macrodef name="copy-special-to-dependent">
835     <attribute name="target"/>
836     <attribute name="this"/>
837     <attribute name="fromdir" default="dist"/>
838     <attribute name="prefix" />
839     <sequential>
840       <delete>
841         <fileset dir="@{target}/lib" includes="@{prefix}*.jar"/>
842       </delete>
843
844       <copy todir="@{target}/lib" overwrite="yes">
845         <fileset dir="@{this}/@{fromdir}">
846           <include name="@{prefix}*.jar" />
847         </fileset>
848       </copy>
849     </sequential>
850   </macrodef>
851
852   <!-- =============================================================================
853        Update dependent project (target) from a project just built (this).
854        ============================================================================= -->
855   <macrodef name="copy-to-dependent">
856     <attribute name="target"/>
857     <attribute name="this"/>
858     <attribute name="fromdir" default="libapi"/>
859     <sequential>
860       <copy todir="@{target}/lib" overwrite="yes">
861         <fileset dir="@{this}/@{fromdir}">
862           <include name="*.jar" />
863         </fileset>
864       </copy>
865     </sequential>
866   </macrodef>
867
868   <!-- =============================================================================
869        Copy from a project just built (this) into bedework bin directory.
870        ============================================================================= -->
871   <macrodef name="copy-to-bin">
872     <attribute name="this"/>
873     <sequential>
874       <copy todir="${org.bedework.project.bedework}/bin" overwrite="yes">
875         <fileset dir="@{this}/dist">
876           <include name="*.jar" />
877         </fileset>
878       </copy>
879     </sequential>
880   </macrodef>
881 </project>
Note: See TracBrowser for help on using the browser.