root/trunk/deployment/build.xml

Revision 1991 (checked in by douglm, 4 years ago)

Fix up the jboss build

Line 
1 <?xml version="1.0"?>
2
3 <!-- ===================== Deployment build file =======================
4      This directory and the files within it are to be part of the config
5      and deployment process.
6
7      A number of properties of the form org.bedework.install.XXX will be
8      defined, each indicating that a particualr component is to be deployed.
9
10      Targets below will be executed only if that property is defined.
11
12      Adding a new configuration, e.g. a different portal platform, requires
13      the steps:
14         Create a subdirectory in each components subdirectory,
15         e.g.  webadmin/myportal
16
17         Create any other required resource directories and resources and
18         create a build.xml file to configure and package the component(s).
19
20         Update the config program to load, save and display the new
21         properties for that configuration.
22
23         Add an antcall for each component and a corresponding target
24
25      Authors: Mike Douglass   douglm@rpi.edu
26      =================================================================== -->
27
28 <project name="deploy.bedework" default="init">
29   <property name="base.name" value="deployment"/>
30
31   <property name="org.bedework.temp.wars.home"
32             location="${org.bedework.temp.dir}/wars" />
33
34   <property name="org.bedework.temp.shellscr.home"
35             location="${org.bedework.temp.dir}/shellscr" />
36
37   <!-- Recreateed by each app build file. Place extra jars here -->
38   <property name="org.bedework.temp.extrajars.dir"
39             location="${org.bedework.temp.dir}/extrajars" />
40
41   <dirname property="this.build.dir" file="${ant.file}"/>
42   <property name="bedework.deployment.base" location="this.build.dir" />
43
44   <import file="${build.dir}/buildTools/getJar.xml"/>
45
46   <import file="${this.build.dir}/appjars.xml" />
47
48   <import file="${build.dir}/loadDeployConfig.xml"/>
49
50   <target name="init" >
51     <getAppJars />
52
53     <property name="source.home" location="${this.build.dir}/src"/>
54
55     <loadDeployConfig />
56
57     <!-- default to debug off -->
58     <property name="app.debug.val" value="0" />
59
60     <!-- set this for the war builds -->
61     <dirname property="app.root.dir" file="${ant.file}"/>
62
63     <!-- Common resources directory -->
64     <property name="org.bedework.common.resources"
65               location="${app.root.dir}/resources" />
66
67     <property name="org.bedework.global.build.common.context.war.name"
68               value="bw-common" />
69
70     <!-- Where we put ear stuff -->
71     <if>
72       <isset property="org.bedework.global.build.ear" />
73       <then>
74         <property name="app.ear.file.name"
75                   value="${org.bedework.global.ear.name}.ear" />
76
77         <if>
78           <equals arg1="${org.bedework.global.ear.zipped}"
79                   arg2="yes" />
80           <then>
81             <property name="org.bedework.ear.dir"
82                       location="${dist.home}/${org.bedework.global.ear.name}" />
83             <property name="org.bedework.ear.file"
84                       location="${dist.home}/${org.bedework.global.ear.name}.ear" />
85           </then>
86           <else>
87             <property name="org.bedework.ear.dir"
88                       location="${dist.home}/${org.bedework.global.ear.name}.ear" />
89           </else>
90         </if>
91
92         <property name="org.bedework.ear.templib"
93                   location="${org.bedework.ear.dir}/lib" />
94         <property name="org.bedework.ear.properties.dir"
95                   location="${org.bedework.temp.dir}/ear-properties" />
96
97         <property name="org.bedework.ear.properties.jar"
98                   location="${org.bedework.ear.dir}/bw-ear-properties.jar"/>
99
100         <delete dir="${org.bedework.ear.dir}" />
101         <mkdir dir="${org.bedework.ear.dir}" />
102
103         <delete dir="${org.bedework.ear.templib}" />
104         <mkdir dir="${org.bedework.ear.templib}" />
105
106         <delete dir="${org.bedework.ear.properties.dir}" />
107         <mkdir dir="${org.bedework.ear.properties.dir}" />
108       </then>
109     </if>
110
111     <property name="org.bedework.global.context.roots"
112               location="${org.bedework.temp.dir}/context-roots.properties" />
113
114     <if>
115       <not>
116         <isset property="org.bedework.global.context.roots" />
117       </not>
118       <then>
119         <tempfile property="org.bedework.global.context.roots"
120                   destdir="${org.bedework.temp.dir}"
121                   prefix="context-roots" suffix=".properties" />
122       </then>
123     </if>
124   </target>
125
126   <target name="deftasks" depends="init">
127     <path id="app.xml.cp">
128       <pathelement location="${org.bedework.deployutil.jar}"/>
129     </path>
130
131     <taskdef name="forEachApp"
132              classname="org.bedework.deployment.ForEachAppTask">
133       <classpath refid="app.xml.cp"/>
134     </taskdef>
135
136     <taskdef name="resolveFile"
137              classname="org.bedework.deployment.ResolveFile">
138       <classpath refid="app.xml.cp"/>
139     </taskdef>
140
141     <taskdef name="makeLangXsl"
142              classname="org.bedework.deployment.MakeLangXsl">
143       <classpath refid="app.xml.cp"/>
144     </taskdef>
145   </target>
146
147   <target name="build.configured" depends="deftasks" >
148     <!-- Clean up before we start -->
149     <delete dir="${org.bedework.temp.wars.home}" />
150
151     <antcall target="build.apps" inheritrefs="true" />
152   </target>
153
154   <!-- =================================================================
155        Targets called by the build.configured target. Each is conditional on a
156        config property and each executes a build file in a subdirectory of
157        this component.
158        ================================================================= -->
159
160   <target name="build.apps" >
161     <property name="org.bedework.deploy.kind" value="webapp" />
162     <antcall target="build.configured.apps" inheritrefs="true" />
163   </target>
164
165   <!-- =================================================================
166                          The deploy target.
167        ================================================================= -->
168
169   <target name="deploy" depends="deftasks" >
170     <!-- Clean up before we start -->
171     <delete dir="${org.bedework.temp.wars.home}" />
172
173     <property name="org.bedework.lang.properties"
174               location="${org.bedework.project.calendarapi}/calFacade/resources/org/bedework/locale/resources" />
175
176     <property name="org.bedework.xsllang.dir"
177               location="${org.bedework.temp.dir}/xsllang" />
178
179     <delete dir="${org.bedework.xsllang.dir}"/>
180     <mkdir dir="${org.bedework.xsllang.dir}"/>
181
182     <makeLangXsl dir="${org.bedework.lang.properties}"
183                  prefix="BwResources"
184                  resdir="${org.bedework.xsllang.dir}"
185                  xsldir="${org.bedework.xsllang.dir}"
186                  name="org.bedework.locales"
187                  check="true" />
188
189     <!-- Build the webapps stuff.-->
190     <antcall target="deploy.apps" inheritrefs="true" >
191       <param name="org.bedework.deploy.kind" value="webapp" />
192     </antcall>
193
194     <!-- Build the shellscr stuff.-->
195     <antcall target="deploy.apps" inheritrefs="true" >
196       <param name="org.bedework.deploy.kind" value="shellscr" />
197     </antcall>
198
199     <!-- copy startup website that sends you to the applications -->
200     <delete dir="${webapp.root.dir}/bedework"/>
201     <mkdir dir="${webapp.root.dir}/bedework"/>
202     <copy todir="${webapp.root.dir}/bedework">
203       <fileset dir="${app.root.dir}/resources/bedework"/>
204     </copy>
205
206     <!-- copy jdbc jar so datasources work -->
207     <if>
208       <available file="${org.bedework.global.ext.lib}/jdbc" type="dir" />
209       <then>
210         <!-- jdbc drivers -->
211         <copy todir="${appserver.lib.dir}" flatten="yes" >
212           <!-- local jdbc drivers -->
213           <fileset dir="${org.bedework.global.ext.lib}/jdbc">
214             <include name="*.jar"/>
215           </fileset>
216         </copy>
217       </then>
218       <else>
219         <!-- Include the quickstart jdbc driver -->
220         <copy todir="${appserver.lib.dir}" file="${org.bedework.appjar.hsqldb}"/>
221       </else>
222     </if>
223
224     <if>
225       <available file="${java.tools.jar}" />
226       <then>
227         <copy todir="${appserver.lib.dir}" file="${java.tools.jar}"/>
228       </then>
229     </if>
230   </target>
231
232   <!-- =================================================================
233        Targets called by the deploy target. Each is conditional on a
234        config property and each executes a build file in a subdirectory of
235        this component.
236        ================================================================= -->
237
238   <!-- The cp.xalan task conditionally copies the xalan.jar file, if
239        necessary -->
240   <target name="cp.xalan" if="xalan.in.tomcat.common.endorsed">
241     <copy file="${org.bedework.default.lib}/xalan.jar"
242           todir="${appserver.endorsed.dir}"/>
243   </target>
244
245   <!-- =================================================================
246        Targets called by the build.configured target. Each is conditional on a
247        config property and each executes a build file in a subdirectory of
248        this component.
249        ================================================================= -->
250   <target name="build.configured.apps">
251     <forEachApp names="${org.bedework.install.app.names}"
252                 prefix="org.bedework.deploy"
253                 appPrefix="org.bedework.app"
254                 projectPrefix="org.bedework.project">
255       <sequential>
256         <antcall target="build.available.configured.app" inheritrefs="true" />
257       </sequential>
258     </forEachApp>
259
260     <!-- ======================= termination tasks ================= -->
261
262     <ant antfile="${org.bedework.deployment.base}/termination/build.xml"
263          inheritrefs="true" target="build.configured" />
264   </target>
265
266   <target name="build.available.configured.app">
267     <propertycopy name="propval.app.type"
268                   from="bedework-options.org.bedework.app.${org.bedework.deploy.name}.appType" />
269     <property name="org.bedework.deploy.type.dir"
270               location="${app.root.dir}/${org.bedework.deploy.name}/${propval.app.type}" />
271     <echo message="*********************************** deploy directory is ${org.bedework.deploy.type.dir}" />
272
273     <if>
274       <available file="${org.bedework.deploy.type.dir}/${org.bedework.deploy.kind}/build.xml"/>
275       <then>
276         <propertyset id="deploy-app-properties">
277           <propertyref prefix="org.bedework.app.${org.bedework.deploy.name}"/>
278           <globmapper from="org.bedework.app.${org.bedework.deploy.name}.*" to="propval.app.*"/>
279         </propertyset>
280
281         <propertycopy name="propval.app.unauthenticated"
282                       from="bedework-options.org.bedework.app.${org.bedework.deploy.name}.guestMode" />
283
284         <ant antfile="${org.bedework.deploy.type.dir}/${org.bedework.deploy.kind}/build.xml"
285              inheritrefs="true" target="build.configured" >
286           <propertyset refid="deploy-app-properties" />
287         </ant>
288       </then>
289     </if>
290   </target>
291
292   <target name="deploy.apps">
293     <forEachApp names="${org.bedework.install.app.names}"
294                 prefix="org.bedework.deploy"
295                 appPrefix="org.bedework.app"
296                 projectPrefix="org.bedework.project">
297       <sequential>
298         <antcall target="deploy.available.app" inheritrefs="true" />
299       </sequential>
300     </forEachApp>
301
302     <!-- ======================= termination tasks ================= -->
303
304     <ant antfile="${org.bedework.deployment.base}/termination/${org.bedework.deploy.kind}/build.xml"
305          inheritrefs="true" target="deploy" />
306   </target>
307
308   <target name="deploy.available.app">
309     <propertycopy name="propval.app.type"
310                   from="bedework-options.org.bedework.app.${org.bedework.deploy.name}.appType" />
311     <property name="org.bedework.deploy.type.dir"
312               location="${app.root.dir}/${propval.app.type}" />
313     <echo message="*********************************** deploy directory is ${org.bedework.deploy.type.dir}" />
314
315     <if>
316       <available file="${org.bedework.deploy.type.dir}/${org.bedework.deploy.kind}/build.xml"/>
317       <then>
318         <propertyset id="deploy-app-properties">
319           <propertyref prefix="org.bedework.app.${org.bedework.deploy.name}"/>
320           <globmapper from="org.bedework.app.${org.bedework.deploy.name}.*" to="propval.app.*"/>
321         </propertyset>
322
323         <propertycopy name="propval.app.unauthenticated"
324                       from="bedework-options.org.bedework.app.${org.bedework.deploy.name}.guestMode" />
325
326         <ant antfile="${org.bedework.deploy.type.dir}/${org.bedework.deploy.kind}/build.xml"
327              inheritrefs="true" target="deploy" >
328           <propertyset refid="deploy-app-properties" />
329         </ant>
330       </then>
331     </if>
332   </target>
333 </project>
334
Note: See TracBrowser for help on using the browser.