root/trunk/build.xml

Revision 3136 (checked in by douglm, 2 years ago)

More changes to the build process to fix up-to-date checks

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