root/releases/bedework-3.8/build.xml

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

Move a number of property files into a common subdirectory of the configs.

Include the overrides first from the actual config and then the common properties.

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="deploy" 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.caldavimpl"
26             location="${org.bedework.projects}/caldavimpl" />
27
28   <property name="org.bedework.project.calendarapi"
29             location="${org.bedework.projects}/calendarapi" />
30
31   <property name="org.bedework.project.dumprestore"
32             location="${org.bedework.projects}/dumprestore" />
33
34   <property name="org.bedework.project.indexer"
35             location="${org.bedework.projects}/indexer" />
36
37   <property name="org.bedework.project.webapps"
38             location="${org.bedework.projects}/webapps" />
39
40   <property name="build.dir" location="${org.bedework.project.bedework}/build"/>
41  
42   <property name="buildsh" location="${build.dir}/buildsh.xml"/>
43   <property name="buildwar" location="${build.dir}/buildwar.xml"/>
44
45   <!-- ========================= deployutil ================================ -->
46
47   <property name="org.bedework.default.lib"
48             location="${org.bedework.project.bedework}/lib" />
49
50   <property name="bw.project.home" location="${org.bedework.project.bedework}"/>
51
52   <property file="${bw.project.home}/build.properties" />
53
54   <property name="project.version" value="${org.bedework.version}"/>
55
56   <property name="org.bedework.deployutil.jar"
57             location="${org.bedework.project.bedework}/bin/${org.bedework.deployutil.jar.name}-${project.version}.jar" />
58
59   <ant antfile="${org.bedework.project.bedework}/deployutil/build.xml" inheritrefs="true"
60          target="build" />
61  
62   <copy todir="${build.dir}" file="${org.bedework.deployutil.jar}" />
63  
64   <import file="${build.dir}/buildTools/deftasks.xml"/>
65
66   <deftasks/>
67  
68   <var name="org.bedework.jars.built" value="0" />
69   <var name="org.bedework.jars.checked" value="0" />
70
71   <import file="${build.dir}/buildfilters.xml" />
72   <import file="${build.dir}/loadDeployConfig.xml"/>
73   <import file="${build.dir}/dirTools.xml"/>
74
75   <target name="README" depends="init"
76           description="Describe targets and their usage">
77     <loadfile property="org.bedework.README"
78               srcFile="${org.bedework.project.bedework}/docs/README"/>
79     <echo level="info" message="${org.bedework.README}" />
80   </target>
81
82   <target name="usage" depends="init"
83           description="Describe targets and their usage">
84     <loadfile property="org.bedework.README"
85               srcFile="${org.bedework.project.bedework}/docs/README"/>
86     <echo level="info" message="${org.bedework.README}" />
87   </target>
88
89   <target name="init" >
90     <loadDeployConfig />
91
92     <!-- ===============================================================
93               Default properties.
94          =============================================================== -->
95
96     <property name="project.name" value="${org.bedework.package.name}"/>
97
98     <property name="dist.home" location="${bw.project.home}/dist"/>
99     <property name="lib.dir" location="${bw.project.home}/lib"/>
100     <property name="resources.dir" location="${bw.project.home}/resources"/>
101     <property name="bin.home" location="${bw.project.home}/bin"/>
102
103     <mkdir dir="${dist.home}" />
104
105     <mkdir dir="${bin.home}" />
106
107     <property name="org.bedework.empty.dir"
108               location="${dist.home}/empty-dir" />
109     <mkdir dir="${org.bedework.empty.dir}" />
110
111     <fileset id="empty.fileset" dir="${org.bedework.empty.dir}"
112              excludes="*" />
113
114     <!-- ==================== Subcomponent Compilation Classpath ====================
115
116     <path id="compile.classpath">
117       <fileset dir="${lib.dir}">
118          <include name="*.jar"/>
119       </fileset>
120       <fileset dir="${dist.home}">
121          <include name="*.jar"/>
122       </fileset>
123     </path>
124 -->
125     <!-- ===============================================================
126               Locations and jar files built by this project.
127          =============================================================== -->
128
129     <property name="org.bedework.temp.dir"
130               location="${dist.home}/temp" />
131
132     <property name="org.bedework.ear.properties.dir"
133               location="${org.bedework.temp.dir}/ear-properties" />
134
135     <property name="org.bedework.config.base"
136               location="${org.bedework.project.bedework}/config" />
137
138     <property name="org.bedework.default.lib"
139               location="${org.bedework.project.bedework}/lib" />
140
141     <property name="org.bedework.deployment.base"
142               location="${org.bedework.project.bedework}/deployment" />
143
144     <property name="org.bedework.build.jar"
145               location="${bin.home}/${org.bedework.build.jar.name}-${project.version}.jar" />
146
147     <property name="org.bedework.deployutil.jar"
148               location="${bin.home}/${org.bedework.deployutil.jar.name}-${project.version}.jar" />
149   </target>
150
151   <target name="init.build" depends="init">
152     <mkdir dir="${dist.home}" />
153
154     <mkdir dir="${bin.home}" />
155
156     <mkdir dir="${org.bedework.empty.dir}" />
157   </target>
158
159   <!-- =================================================================
160        "build" and "clean" targets for the project
161        ================================================================= -->
162
163   <target name="build" depends="init.build,build.deployutil,
164                                 build.calendarapi,
165                                 build.caldavimpl,
166                                 build.webapps,build.indexer,
167                                 build.dumprestore"
168           description="builds the project">
169   </target>
170
171   <target name="build.deployutil" depends="init"
172           description="builds the deployutil component">
173     <ant antfile="${org.bedework.project.bedework}/deployutil/build.xml" inheritrefs="true"
174            target="build" />
175    
176     <copy todir="${build.dir}" file="${org.bedework.deployutil.jar}" />
177   </target>
178
179   <target name="clean" depends="init,
180                                 clean.calendarapi,
181                                 clean.caldavimpl,
182                                 clean.webapps,clean.indexer,
183                                 clean.dumprestore"
184           description="Remove all generated files.">
185     <delete dir="${dist.home}" />
186     <delete dir="${bin.home}" />
187   </target>
188
189   <target name="quickstart-clean" depends="init,
190                                            clean.calendarapi,
191                                            clean.caldavimpl,
192                                            clean.webapps,clean.indexer,
193                                                clean.dumprestore"
194           description="partial clean up for quickstart.">
195     <delete dir="${bin.home}" />
196     <delete dir="${org.bedework.temp.dir}" />
197     <delete dir="${org.bedework.empty.dir}" />
198     <delete dir="${bw.project.home}/libcache"/>
199     <delete dir="${bw.project.home}/applib"/>
200
201     <delete>
202       <fileset dir="${dist.home}" includes="*.war"/>
203     </delete>
204   </target>
205
206   <target name="clean.build" depends="clean, build"
207           description="cleans then builds the project"/>
208
209   <!-- =================================================================
210        The "deploy" and "deploy.all" target builds and deploys the applications
211        ================================================================= -->
212
213   <target name="deploy" depends="build"
214           description="builds and deploys the applications">
215     <ant antfile="${org.bedework.project.bedework}/deployment/build.xml" inheritrefs="true"
216          target="deploy" />
217   </target>
218
219   <!-- =================================================================
220        The "clean.deploy" target cleans, builds and deploys the applications
221        ================================================================= -->
222
223   <target name="clean.deploy" depends="clean,deploy" />
224
225   <!-- =================================================================
226        The "build.configured" target builds configured applications
227        ================================================================= -->
228
229   <target name="build.configured" depends="build"
230           description="Build configured applications" >
231     <ant antfile="${org.bedework.project.bedework}/deployment}/build.xml" inheritrefs="true"
232          target="build.configured" />
233   </target>
234
235   <target name="clean.build.configured" depends="clean,build.configured" />
236
237   <!-- ======================== javadoc target =======================
238        We build these and copy in turn into the main bedework docs directory.
239
240        The org.bedework.projectdocs.home property allows each project to
241        locate the previously built javadocs so they can link to it.
242
243        We also assume access to the java api docs.
244        ================================================================= -->
245
246   <target name="javadoc" depends="init" description="Generate javadoc">
247     <property name="docs.home" location="${bw.project.home}/docs"/>
248     <property name="org.bedework.projectdocs.home" location="${docs.home}/projectdocs"/>
249     <delete dir="${org.bedework.projectdocs.home}" />
250     <mkdir dir="${org.bedework.projectdocs.home}" />
251
252     <ant antfile="${org.bedework.project.calendarapi}/build.xml" inheritall="false"
253          target="javadoc" >
254       <property name="destdir"
255                 location="${org.bedework.projectdocs.home}/calendarapi/api" />
256     </ant>
257
258     <ant antfile="${org.bedework.project.dumprestore}/build.xml" inheritall="false"
259          target="javadoc" >
260       <property name="destdir"
261                 location="${org.bedework.projectdocs.home}/dumprestore/api" />
262     </ant>
263
264     <ant antfile="${org.bedework.project.caldavimpl}/build.xml" inheritall="false"
265          target="javadoc" >
266       <property name="destdir"
267                 location="${org.bedework.projectdocs.home}/caldavimpl/api" />
268     </ant>
269
270     <ant antfile="${org.bedework.project.indexer}/build.xml" inheritall="false"
271          target="javadoc" >
272       <property name="destdir"
273                 location="${org.bedework.projectdocs.home}/indexer/api" />
274     </ant>
275
276     <ant antfile="${org.bedework.project.webapps}/build.xml" inheritall="false"
277          target="javadoc" >
278       <property name="destdir"
279                 location="${org.bedework.projectdocs.home}/webapps/api" />
280     </ant>
281   </target>
282
283   <!-- =================================================================
284        Targets to build sub-projects.
285        ================================================================= -->
286
287   <!-- .................................................................
288                           caldavimpl
289        .................................................................. -->
290   <target name="build.caldavimpl" depends="init"
291           description="builds the caldavimpl project">
292     <ant antfile="${org.bedework.project.caldavimpl}/build.xml" inheritall="false"
293        target="build-all"  >
294       <property name="org.bedework.libcache.dir"
295                 location="${org.bedework.project.bedework}/libcache"/>
296     </ant>
297   </target>
298
299   <target name="clean.caldavimpl" depends="init"
300           description="clean the caldavimpl project">
301     <ant antfile="${org.bedework.project.caldavimpl}/build.xml" inheritall="false"
302          target="deep-clean" />
303   </target>
304
305   <target name="clean.build.caldavimpl" depends="init"
306           description="clean builds the caldavimpl project"/>
307
308   <!-- .................................................................
309                           calendarapi
310        .................................................................. -->
311   <target name="build.calendarapi" depends="init"
312           description="builds the calendar project">
313     <ant antfile="${org.bedework.project.calendarapi}/build.xml" inheritall="false"
314            target="build-all"  >
315       <property name="org.bedework.libcache.dir"
316                 location="${org.bedework.project.bedework}/libcache"/>
317     </ant>
318   </target>
319
320   <target name="clean.calendarapi" depends="init"
321           description="clean the calendar project">
322     <ant antfile="${org.bedework.project.calendarapi}/build.xml" inheritall="false"
323            target="deep-clean" />
324   </target>
325
326   <target name="clean.build.calendarapi" depends="clean.calendarapi,build.calendarapi"
327           description="clean builds the calendarapi project"/>
328
329   <!-- .................................................................
330                           dumprestore
331        .................................................................. -->
332   <target name="build.dumprestore" depends="init"
333           description="builds the dumprestore project">
334     <ant antfile="${org.bedework.project.dumprestore}/build.xml" inheritall="false"
335            target="build-all"  >
336       <property name="org.bedework.libcache.dir"
337                 location="${org.bedework.project.bedework}/libcache"/>
338     </ant>
339   </target>
340
341   <target name="clean.dumprestore" depends="init"
342           description="clean the dumprestore project">
343     <ant antfile="${org.bedework.project.dumprestore}/build.xml" inheritall="false"
344            target="deep-clean" />
345   </target>
346
347   <target name="clean.build.dumprestore" depends="clean.dumprestore,build.dumprestore"
348           description="builds the dumprestore project"/>
349
350   <!-- .................................................................
351                           indexer
352        .................................................................. -->
353   <target name="build.indexer" depends="init"
354           description="builds the indexer project">
355     <ant antfile="${org.bedework.project.indexer}/build.xml" inheritall="false"
356            target="build-all"  >
357       <property name="org.bedework.libcache.dir"
358                 location="${org.bedework.project.bedework}/libcache"/>
359     </ant>
360   </target>
361
362   <target name="clean.indexer" depends="init"
363           description="clean the indexer project">
364     <ant antfile="${org.bedework.project.indexer}/build.xml" inheritall="false"
365            target="deep-clean" />
366   </target>
367
368   <target name="clean.build.indexer" depends="clean.indexer,build.indexer"
369           description="builds the indexer project"/>
370
371   <!-- .................................................................
372                           webapps
373        .................................................................. -->
374   <target name="build.webapps" depends="init"
375           description="builds the webapps project">
376     <ant antfile="${org.bedework.project.webapps}/build.xml" inheritall="false"
377            target="build-all"  >
378       <property name="org.bedework.libcache.dir"
379                 location="${org.bedework.project.bedework}/libcache"/>
380     </ant>
381   </target>
382
383   <target name="clean.webapps" depends="init"
384           description="clean the webapps project">
385     <ant antfile="${org.bedework.project.webapps}/build.xml" inheritall="false"
386            target="deep-clean" />
387   </target>
388
389   <target name="clean.build.webapps" depends="clean.webapps,build.webapps"
390           description="builds the webapps project"/>
391
392   <!-- =================================================================
393        Targets to build sub-components of this project.
394        ================================================================= -->
395
396   <target name="build.build" depends="init"
397           description="builds the java build configuration component">
398     <ant antfile="${org.bedework.project.bedework}/build/build.xml" inheritrefs="true"
399            target="build" >
400       <property name="build.jar.file" location="${org.bedework.build.jar}" />
401     </ant>
402   </target>
403
404   <!-- Rebuild the http test suite only -->
405   <target name="httptest" depends="init"
406           description="Run httptest suite" >
407     <input message="httptest may destroy this calendar db. Proceed with test"
408            validargs="y,n"
409            addproperty="do.httptest" />
410     <condition property="do.abort">
411       <equals arg1="n" arg2="${do.httptest}"/>
412     </condition>
413     <fail if="do.abort">httptest aborted by user.</fail>
414
415     <ant antfile="${calendar.build.file}" inheritrefs="true"
416            target="bld.httptest" />
417
418     <ant antfile="${calendar.build.file}" inheritrefs="true"
419            target="run.httptest" />
420   </target>
421 </project>
Note: See TracBrowser for help on using the browser.