root/branches/xslt-rewrite/build.xml

Revision 1710 (checked in by mattiasa, 5 years ago)

make i18n acces files relative to bedework root

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