root / build.xml @ 1b2719e1
History | View | Annotate | Download (15.8 kB)
1 |
<?xml version="1.0" encoding="utf-8" ?>
|
---|---|
2 |
<project name="gss" default="deploy" basedir="."> |
3 |
<description>The GSS project build file</description> |
4 |
|
5 |
<property file="build.properties"/> |
6 |
|
7 |
<property name="jboss_run_configuration" value="default" /> |
8 |
<property name="root.context" value="gss" /> |
9 |
<property name="gwt.module" value="gr.ebs.gss.GSS" /> |
10 |
<property name="gwt.module.class" value="GSS" /> |
11 |
|
12 |
<property environment="env" /> |
13 |
|
14 |
<!-- Application server specific configuration -->
|
15 |
<property name="jboss-spec.dir" value="${basedir}/jboss" /> |
16 |
<property name="jboss-spec.conf.dir" value="${jboss-spec.dir}/conf" /> |
17 |
<property name="jboss-spec.bin.dir" value="${jboss-spec.dir}/bin" /> |
18 |
<property name="jboss-spec.deploy.dir" value="${jboss-spec.dir}/deploy" /> |
19 |
<property name="jboss-spec.lib.dir" value="${jboss-spec.dir}/lib" /> |
20 |
|
21 |
<!-- Production deployment specific configuration -->
|
22 |
<property name="jboss-spec.prod.dir" value="${basedir}/jboss-production" /> |
23 |
<property name="jboss-spec.prod.conf.dir" value="${jboss-spec.prod.dir}/conf" /> |
24 |
<property name="jboss-spec.prod.bin.dir" value="${jboss-spec.prod.dir}/bin" /> |
25 |
<property name="jboss-spec.prod.deploy.dir" value="${jboss-spec.prod.dir}/deploy" /> |
26 |
<property name="jboss-spec.prod.lib.dir" value="${jboss-spec.prod.dir}/lib" /> |
27 |
|
28 |
<!-- Jboss dirs -->
|
29 |
<property name="jboss.home" value="${env.JBOSS_HOME}" /> |
30 |
<property name="jboss.prod.home" value="${env.JBOSS_PROD_HOME}" /> |
31 |
<property name="jboss.version" value="${env.JBOSS_VERSION}" /> |
32 |
<property name="gwt.path" value="${env.GWT_PATH}" /> |
33 |
<property name="hornetq.path" value="${env.HORNETQ_PATH}" /> |
34 |
<property name="src.dir" value="${basedir}/src"/> |
35 |
|
36 |
<property name="jboss.project" value="${basedir}/jboss-config/${jboss.version}" /> |
37 |
<property name="jboss.bin.dir" value="${jboss.home}/bin" /> |
38 |
<property name="jboss.conf.dir" value="${jboss.home}/server/${jboss_run_configuration}/conf" /> |
39 |
<property name="jboss.deploy.dir" value="${jboss.home}/server/${jboss_run_configuration}/deploy" /> |
40 |
<property name="jboss.run_conf.lib.dir" value="${jboss.home}/server/${jboss_run_configuration}/lib" /> |
41 |
<property name="jboss.lib.dir" value="${jboss.home}/lib" /> |
42 |
<property name="jboss.common.lib.dir" value="${jboss.home}/common/lib" /> |
43 |
|
44 |
<property name="jboss.prod.bin.dir" value="${jboss.prod.home}/bin" /> |
45 |
<property name="jboss.prod.conf.dir" value="${jboss.prod.home}/server/${jboss_run_configuration}/conf" /> |
46 |
<property name="jboss.prod.deploy.dir" value="${jboss.prod.home}/server/${jboss_run_configuration}/deploy" /> |
47 |
<property name="jboss.prod.run_conf.lib.dir" value="${jboss.prod.home}/server/${jboss_run_configuration}/lib" /> |
48 |
<property name="jboss.prod.lib.dir" value="${jboss.prod.home}/lib" /> |
49 |
<property name="jboss.prod.common.lib.dir" value="${jboss.prod.home}/common/lib" /> |
50 |
|
51 |
<!-- MBeans -->
|
52 |
<property name="mbeans.dir" value="${basedir}/mbeans"/> |
53 |
<property name="mbeans.meta-inf.dir" value="${mbeans.dir}/META-INF"/> |
54 |
|
55 |
<!-- JUnit dirs -->
|
56 |
<property name="test.dir" value="${basedir}/test" /> |
57 |
<property name="test.src.dir" value="${test.dir}/src"/> |
58 |
|
59 |
<!-- Build dirs -->
|
60 |
<property name="build.dir" value="${basedir}/bin" /> |
61 |
<property name="build.classes.dir" value="${build.dir}/classes" /> |
62 |
<property name="test.build.dir" value="${build.dir}" /> |
63 |
<property name="test.build.classes.dir" value="${test.build.dir}/" /> |
64 |
<property name="gwt.www.dir" value="${basedir}/www" /> |
65 |
<property name="dist.war" value="${ant.project.name}.war"/> |
66 |
<property name="webdav.war" value="webdav.war"/> |
67 |
<property name="dist.ear" value="${ant.project.name}.ear"/> |
68 |
|
69 |
<property name="war.dir" value="${basedir}/war" /> |
70 |
<property name="war.web-inf.dir" value="${war.dir}/WEB-INF"/> |
71 |
<property name="war.lib.dir" value="${war.web-inf.dir}/lib"/> |
72 |
<property name="webdav.war.dir" value="${basedir}/webdav" /> |
73 |
<property name="webdav.war.web-inf.dir" value="${webdav.war.dir}/WEB-INF"/> |
74 |
<property name="webdav.war.lib.dir" value="${webdav.war.web-inf.dir}/lib"/> |
75 |
<property name="ear.dir" value="${basedir}/ear" /> |
76 |
<property name="ear.lib.dir" value="${ear.dir}/lib" /> |
77 |
|
78 |
<property name="mbeans.dist.file" value="${ant.project.name}-mbeans.sar"/> |
79 |
|
80 |
<!-- set classpath -->
|
81 |
<path id="project.class.path"> |
82 |
<pathelement path="${java.class.path}/" /> |
83 |
<pathelement path="${gwt.path}/gwt-user.jar" /> |
84 |
<pathelement location="${jboss.common.lib.dir}/commons-logging.jar"/> |
85 |
<pathelement location="${jboss.common.lib.dir}/ejb3-persistence.jar"/> |
86 |
<pathelement location="${jboss.common.lib.dir}/jboss-ejb3-ext-api.jar"/> |
87 |
<pathelement location="${jboss.common.lib.dir}/jboss-javaee.jar"/> |
88 |
<pathelement location="${jboss.common.lib.dir}/jbosssx.jar"/> |
89 |
<pathelement location="${jboss.common.lib.dir}/hibernate-core.jar"/> |
90 |
<pathelement location="${jboss.common.lib.dir}/hibernate-annotations.jar"/> |
91 |
<pathelement location="${jboss.lib.dir}/jboss-j2se.jar"/> |
92 |
<pathelement location="${jboss.lib.dir}/jboss-kernel.jar"/> |
93 |
<pathelement location="${jboss.lib.dir}/jboss-system-jmx.jar"/> |
94 |
<pathelement location="${jboss.lib.dir}/jboss-system.jar"/> |
95 |
<pathelement location="${jboss.lib.dir}/jbosssx.jar"/> |
96 |
<pathelement location="${ear.lib.dir}/commons-codec-1.3.jar"/> |
97 |
<pathelement location="${ear.lib.dir}/commons-configuration-1.6.jar"/> |
98 |
<pathelement location="${war.lib.dir}/commons-fileupload-1.2.jar"/> |
99 |
<pathelement location="${ear.lib.dir}/commons-httpclient-3.1.jar"/> |
100 |
<pathelement location="${ear.lib.dir}/commons-lang.jar"/> |
101 |
<pathelement location="${junit.path}/junit.jar"/> |
102 |
<pathelement location="${basedir}/lib/gwt-dnd-3.0.1.jar"/> |
103 |
<pathelement location="${basedir}/lib/gwt-gears.jar"/> |
104 |
|
105 |
</path>
|
106 |
|
107 |
<target name="install" description="Installs the configuration files of the application server"> |
108 |
<!-- Install HornetQ configuration -->
|
109 |
<copy todir="${jboss.run_conf.lib.dir}"> |
110 |
<fileset dir="${hornetq.path}/lib"> |
111 |
<include name="hornetq-*.jar"/> |
112 |
<include name="netty*.jar"/> |
113 |
</fileset>
|
114 |
</copy>
|
115 |
<property name="hornetq.sar.dir" value="${jboss.deploy.dir}/hornetq.sar"/> |
116 |
<mkdir dir="${hornetq.sar.dir}"/> |
117 |
<copy todir="${hornetq.sar.dir}"> |
118 |
<fileset dir="${hornetq.path}/config/jboss-as/non-clustered" includes="*" excludes="**/jboss-as-4/**"/> |
119 |
</copy>
|
120 |
<unzip src="${hornetq.path}/lib/hornetq-ra.rar" dest="${jboss.deploy.dir}/hornetq-ra.rar"/> |
121 |
<delete dir="${jboss.deploy.dir}/messaging" failonerror="false"/> |
122 |
<mkdir dir="${jboss.bin.dir}/META-INF/lib/linux2/x86"/> |
123 |
<mkdir dir="${jboss.bin.dir}/META-INF/lib/linux2/x64"/> |
124 |
<copy todir="${jboss.bin.dir}/META-INF/lib/linux2/x86" file="${hornetq.path}/bin/libHornetQAIO32.so"/> |
125 |
<copy todir="${jboss.bin.dir}/META-INF/lib/linux2/x64" file="${hornetq.path}/bin/libHornetQAIO64.so"/> |
126 |
<!-- Install gss configuration -->
|
127 |
<copy todir="${jboss.bin.dir}" overwrite="true" failonerror="false"> |
128 |
<fileset dir="${jboss.project}/bin"/> |
129 |
</copy>
|
130 |
<copy todir="${jboss.bin.dir}" overwrite="true" failonerror="false"> |
131 |
<fileset dir="${jboss-spec.bin.dir}" /> |
132 |
</copy>
|
133 |
<copy todir="${jboss.conf.dir}" overwrite="true" failonerror="false"> |
134 |
<fileset dir="${jboss.project}/conf"/> |
135 |
</copy>
|
136 |
<copy todir="${jboss.conf.dir}" overwrite="true" failonerror="false"> |
137 |
<fileset dir="${jboss-spec.conf.dir}"/> |
138 |
</copy>
|
139 |
<copy todir="${jboss.run_conf.lib.dir}" overwrite="true" failonerror="false"> |
140 |
<fileset dir="${jboss.project}/lib"/> |
141 |
</copy>
|
142 |
<copy todir="${jboss.run_conf.lib.dir}" overwrite="true" failonerror="false"> |
143 |
<fileset dir="${jboss-spec.lib.dir}" /> |
144 |
</copy>
|
145 |
<copy todir="${jboss.deploy.dir}" overwrite="true" failonerror="false"> |
146 |
<fileset dir="${jboss.project}/deploy"/> |
147 |
</copy>
|
148 |
<copy todir="${jboss.deploy.dir}" overwrite="true" failonerror="false"> |
149 |
<fileset dir="${jboss-spec.deploy.dir}" /> |
150 |
</copy>
|
151 |
</target>
|
152 |
|
153 |
<target name="install-production" description="Installs the configuration files for the production deployment of the application server"> |
154 |
<!-- Install HornetQ configuration -->
|
155 |
<copy todir="${jboss.prod.run_conf.lib.dir}"> |
156 |
<fileset dir="${hornetq.path}/lib"> |
157 |
<include name="hornetq-*.jar"/> |
158 |
<include name="netty*.jar"/> |
159 |
</fileset>
|
160 |
</copy>
|
161 |
<property name="hornetq.prod.sar.dir" value="${jboss.prod.deploy.dir}/hornetq.sar"/> |
162 |
<mkdir dir="${hornetq.prod.sar.dir}"/> |
163 |
<copy todir="${hornetq.prod.sar.dir}"> |
164 |
<fileset dir="${hornetq.path}/config/jboss-as/non-clustered" includes="*" excludes="**/jboss-as-4/**"/> |
165 |
</copy>
|
166 |
<unzip src="${hornetq.path}/lib/hornetq-ra.rar" dest="${jboss.prod.deploy.dir}/hornetq-ra.rar"/> |
167 |
<delete dir="${jboss.prod.deploy.dir}/messaging" failonerror="false"/> |
168 |
<mkdir dir="${jboss.prod.bin.dir}/META-INF/lib/linux2/x86"/> |
169 |
<mkdir dir="${jboss.prod.bin.dir}/META-INF/lib/linux2/x64"/> |
170 |
<copy todir="${jboss.prod.bin.dir}/META-INF/lib/linux2/x86" file="${hornetq.path}/bin/libHornetQAIO32.so"/> |
171 |
<copy todir="${jboss.prod.bin.dir}/META-INF/lib/linux2/x64" file="${hornetq.path}/bin/libHornetQAIO64.so"/> |
172 |
<!-- Install gss configuration -->
|
173 |
<copy todir="${jboss.prod.bin.dir}" overwrite="true" failonerror="false"> |
174 |
<fileset dir="${jboss.project}/bin"/> |
175 |
</copy>
|
176 |
<copy todir="${jboss.prod.bin.dir}" overwrite="true" failonerror="false"> |
177 |
<fileset dir="${jboss-spec.prod.bin.dir}" /> |
178 |
</copy>
|
179 |
<copy todir="${jboss.prod.conf.dir}" overwrite="true" failonerror="false"> |
180 |
<fileset dir="${jboss.project}/conf"/> |
181 |
</copy>
|
182 |
<copy todir="${jboss.prod.conf.dir}" overwrite="true" failonerror="false"> |
183 |
<fileset dir="${jboss-spec.prod.conf.dir}"/> |
184 |
</copy>
|
185 |
<copy todir="${jboss.prod.run_conf.lib.dir}" overwrite="true" failonerror="false"> |
186 |
<fileset dir="${jboss.project}/lib"/> |
187 |
</copy>
|
188 |
<copy todir="${jboss.prod.run_conf.lib.dir}" overwrite="true" failonerror="false"> |
189 |
<fileset dir="${jboss-spec.prod.lib.dir}" /> |
190 |
</copy>
|
191 |
<copy todir="${jboss.prod.deploy.dir}" overwrite="true" failonerror="false"> |
192 |
<fileset dir="${jboss.project}/deploy"/> |
193 |
</copy>
|
194 |
<copy todir="${jboss.prod.deploy.dir}" overwrite="true" failonerror="false"> |
195 |
<fileset dir="${jboss-spec.prod.deploy.dir}" /> |
196 |
</copy>
|
197 |
</target>
|
198 |
|
199 |
<target name="compile" description="Compile src to bin"> |
200 |
<mkdir dir="bin" /> |
201 |
<javac srcdir="src:test" destdir="bin" debug="on" debuglevel="lines,vars,source" source="1.6"> |
202 |
<classpath refid="project.class.path" /> |
203 |
</javac>
|
204 |
</target>
|
205 |
|
206 |
<target name="package-code" depends="compile" description="Package up the project code as a jar"> |
207 |
<jar destfile="${build.dir}/${ant.project.name}.jar"> |
208 |
<fileset dir="bin"> |
209 |
<include name="org/json/**" /> |
210 |
<include name="**/server/**" /> |
211 |
<exclude name="**/domain/**"/> |
212 |
<exclude name="**/ejb/**"/> |
213 |
<exclude name="**/soap/**"/> |
214 |
</fileset>
|
215 |
</jar>
|
216 |
</target>
|
217 |
|
218 |
<target name="package-webdav" depends="compile" description="Package up the webdav code as a jar"> |
219 |
<jar destfile="${build.dir}/webdav.jar"> |
220 |
<fileset dir="bin"> |
221 |
<include name="**/webdav/**" /> |
222 |
</fileset>
|
223 |
</jar>
|
224 |
</target>
|
225 |
|
226 |
<target name="package-ejb" depends="compile" description="Package up the EJB classes"> |
227 |
<jar destfile="${build.dir}/ejbs.jar"> |
228 |
<zipfileset dir="${basedir}/persistence" /> |
229 |
<zipfileset dir="${build.dir}"> |
230 |
<include name="**/configuration/**" /> |
231 |
<include name="**/exceptions/**" /> |
232 |
<include name="**/domain/**" /> |
233 |
<include name="**/ejb/**" /> |
234 |
<include name="**/soap/**" /> |
235 |
<exclude name="**/*Test.class"/> |
236 |
</zipfileset>
|
237 |
</jar>
|
238 |
</target>
|
239 |
|
240 |
<target name="check-gwt-compile" depends="compile"> |
241 |
<uptodate property="compilation-not-needed"> |
242 |
<srcfiles dir="${src.dir}" excludes="**/server/**"/> |
243 |
<mergemapper to="${build.dir}/www/gr.ebs.gss.GSS.nocache.js"/> |
244 |
</uptodate>
|
245 |
</target>
|
246 |
|
247 |
<target name="gwt-compile" depends="check-gwt-compile" unless="compilation-not-needed" description="Compile client code to JavaScript"> |
248 |
<condition property="gwt-dev-lib" value="${gwt.path}/gwt-dev.jar"> |
249 |
<available file="${gwt.path}/gwt-dev.jar" /> |
250 |
</condition>
|
251 |
|
252 |
<java classname="com.google.gwt.dev.Compiler" failonerror="true" fork="true"> |
253 |
<!--arg value="-style"/>
|
254 |
<arg value="DETAILED"/-->
|
255 |
<arg value="-localWorkers" /> |
256 |
<arg value="2" /> |
257 |
<arg value="-war"/> |
258 |
<arg value="${gwt.www.dir}"/> |
259 |
<arg value="${gwt.module}"/> |
260 |
|
261 |
<classpath>
|
262 |
<pathelement location="dist/test.jar"/> |
263 |
<pathelement path="${gwt-dev-lib}"/> |
264 |
<path refid="project.class.path" /> |
265 |
<pathelement path="${src.dir}" /> |
266 |
</classpath>
|
267 |
</java>
|
268 |
<mkdir dir="${build.dir}/www"/> |
269 |
<copy todir="${build.dir}/www"> |
270 |
<fileset dir="${gwt.www.dir}/${gwt.module}" excludes="**/${gwt.module.class}.html"> |
271 |
</fileset>
|
272 |
</copy>
|
273 |
<copy file="${gwt.www.dir}/${gwt.module}/${gwt.module.class}.html" tofile="${build.dir}/www/index.html" /> |
274 |
</target>
|
275 |
|
276 |
<target name="package-war" depends="gwt-compile, package-code" description="Package up the web part as a war"> |
277 |
<jar destfile="${build.dir}/${dist.war}"> |
278 |
<zipfileset dir="${war.dir}" > |
279 |
<exclude name="**/classes/**"/> |
280 |
</zipfileset>
|
281 |
|
282 |
<zipfileset dir="${build.dir}/www" /> |
283 |
<zipfileset dir="${build.dir}" prefix="WEB-INF/lib"> |
284 |
<include name="${ant.project.name}.jar" /> |
285 |
</zipfileset>
|
286 |
<zipfileset dir="${gwt.path}" prefix="WEB-INF/lib"> |
287 |
<include name="gwt-servlet.jar" /> |
288 |
</zipfileset>
|
289 |
</jar>
|
290 |
</target>
|
291 |
|
292 |
<target name="package-webdav-war" depends="package-webdav" description="Package up the WebDAV part as a war"> |
293 |
<jar destfile="${build.dir}/${webdav.war}"> |
294 |
<zipfileset dir="${webdav.war.dir}" /> |
295 |
<zipfileset dir="${build.dir}" prefix="WEB-INF/lib"> |
296 |
<include name="webdav.jar" /> |
297 |
</zipfileset>
|
298 |
</jar>
|
299 |
</target>
|
300 |
|
301 |
<target name="package-mbeans" depends="compile"> |
302 |
<jar jarfile="${build.dir}/${mbeans.dist.file}" basedir="${build.dir}"> |
303 |
<include name="**/mbeans/**"/> |
304 |
<metainf dir="${mbeans.meta-inf.dir}"/> |
305 |
</jar>
|
306 |
</target>
|
307 |
|
308 |
<target name="package-ear" depends="package-war, package-webdav-war, package-ejb, package-mbeans" description="Package up the project as an ear"> |
309 |
<jar destfile="${build.dir}/${dist.ear}"> |
310 |
<zipfileset dir="${ear.dir}" /> |
311 |
<zipfileset dir="${build.dir}"> |
312 |
<include name="ejbs.jar" /> |
313 |
<include name="${dist.war}" /> |
314 |
<include name="${webdav.war}" /> |
315 |
<include name="${mbeans.dist.file}"/> |
316 |
</zipfileset>
|
317 |
</jar>
|
318 |
</target>
|
319 |
|
320 |
<target name="deploy" depends="package-ear" description="Deploy the project to the server"> |
321 |
<copy todir="${jboss.deploy.dir}" file="${build.dir}/${dist.ear}"/> |
322 |
</target>
|
323 |
|
324 |
<target name="deploy-production" depends="package-ear" description="Deploy the project to the production server"> |
325 |
<copy todir="${jboss.prod.deploy.dir}" file="${build.dir}/${dist.ear}"/> |
326 |
</target>
|
327 |
|
328 |
<target name="redeploy" depends="package-ear" description="Redeploy the project to the server"> |
329 |
<copy todir="${jboss.deploy.dir}" file="${build.dir}/${dist.ear}" overwrite="yes"/> |
330 |
</target>
|
331 |
|
332 |
<target name="undeploy" description="Undeploy the project from the server"> |
333 |
<delete file="${jboss.deploy.dir}/${dist.ear}"/> |
334 |
</target>
|
335 |
|
336 |
<target name="clean" description="Delete the contents of the bin and www directories"> |
337 |
<delete dir="${build.dir}" /> |
338 |
<delete dir="${gwt.www.dir}" /> |
339 |
</target>
|
340 |
|
341 |
<target name="test" description="Performs unit tests on the project" depends="compile"> |
342 |
<available
|
343 |
property="junit.present" |
344 |
classname="org.apache.tools.ant.taskdefs.optional.junit.JUnitTask" |
345 |
classpathref="project.class.path"/> |
346 |
<fail unless="junit.present"> |
347 |
################################################################## |
348 |
JUnit not found. |
349 |
Please make sure junit.jar is in ANT_HOME/lib, or made available |
350 |
to Ant using other mechanisms like -lib or CLASSPATH. |
351 |
################################################################## |
352 |
</fail>
|
353 |
|
354 |
<junit printsummary="withOutAndErr" fork="yes" haltonfailure="yes"> |
355 |
<classpath refid="project.class.path"/> |
356 |
<formatter type="plain"/> |
357 |
<batchtest todir="${test.build.dir}"> |
358 |
<fileset dir="${test.build.classes.dir}"> |
359 |
<include name="**/*Test.class"/> |
360 |
</fileset>
|
361 |
</batchtest>
|
362 |
|
363 |
</junit>
|
364 |
</target>
|
365 |
|
366 |
</project>
|