root / build.xml @ 10540b09
History | View | Annotate | Download (13.9 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="src.dir" value="${basedir}/src"/> |
34 |
|
35 |
<property name="jboss.project" value="${basedir}/jboss-config/${jboss.version}" /> |
36 |
<property name="jboss.bin.dir" value="${jboss.home}/bin" /> |
37 |
<property name="jboss.conf.dir" value="${jboss.home}/server/${jboss_run_configuration}/conf" /> |
38 |
<property name="jboss.deploy.dir" value="${jboss.home}/server/${jboss_run_configuration}/deploy" /> |
39 |
<property name="jboss.run_conf.lib.dir" value="${jboss.home}/server/${jboss_run_configuration}/lib" /> |
40 |
<property name="jboss.lib.dir" value="${jboss.home}/lib" /> |
41 |
<property name="jboss.common.lib.dir" value="${jboss.home}/common/lib" /> |
42 |
|
43 |
<property name="jboss.prod.bin.dir" value="${jboss.prod.home}/bin" /> |
44 |
<property name="jboss.prod.conf.dir" value="${jboss.prod.home}/server/${jboss_run_configuration}/conf" /> |
45 |
<property name="jboss.prod.deploy.dir" value="${jboss.prod.home}/server/${jboss_run_configuration}/deploy" /> |
46 |
<property name="jboss.prod.run_conf.lib.dir" value="${jboss.prod.home}/server/${jboss_run_configuration}/lib" /> |
47 |
<property name="jboss.prod.lib.dir" value="${jboss.prod.home}/lib" /> |
48 |
<property name="jboss.prod.common.lib.dir" value="${jboss.prod.home}/common/lib" /> |
49 |
|
50 |
<!-- MBeans -->
|
51 |
<property name="mbeans.dir" value="${basedir}/mbeans"/> |
52 |
<property name="mbeans.meta-inf.dir" value="${mbeans.dir}/META-INF"/> |
53 |
|
54 |
<!-- JUnit dirs -->
|
55 |
<property name="test.dir" value="${basedir}/test" /> |
56 |
<property name="test.src.dir" value="${test.dir}/src"/> |
57 |
|
58 |
<!-- Build dirs -->
|
59 |
<property name="build.dir" value="${basedir}/bin" /> |
60 |
<property name="build.classes.dir" value="${build.dir}/classes" /> |
61 |
<property name="test.build.dir" value="${build.dir}" /> |
62 |
<property name="test.build.classes.dir" value="${test.build.dir}/" /> |
63 |
<property name="gwt.www.dir" value="${basedir}/www" /> |
64 |
<property name="dist.war" value="${ant.project.name}.war"/> |
65 |
<property name="webdav.war" value="webdav.war"/> |
66 |
<property name="dist.ear" value="${ant.project.name}.ear"/> |
67 |
|
68 |
<property name="war.dir" value="${basedir}/war" /> |
69 |
<property name="war.web-inf.dir" value="${war.dir}/WEB-INF"/> |
70 |
<property name="war.lib.dir" value="${war.web-inf.dir}/lib"/> |
71 |
<property name="webdav.war.dir" value="${basedir}/webdav" /> |
72 |
<property name="webdav.war.web-inf.dir" value="${webdav.war.dir}/WEB-INF"/> |
73 |
<property name="webdav.war.lib.dir" value="${webdav.war.web-inf.dir}/lib"/> |
74 |
<property name="ear.dir" value="${basedir}/ear" /> |
75 |
<property name="ear.lib.dir" value="${ear.dir}/lib" /> |
76 |
|
77 |
<property name="mbeans.dist.file" value="${ant.project.name}-mbeans.sar"/> |
78 |
|
79 |
<!-- set classpath -->
|
80 |
<path id="project.class.path"> |
81 |
<pathelement path="${java.class.path}/" /> |
82 |
<pathelement path="${gwt.path}/gwt-user.jar" /> |
83 |
<pathelement location="${jboss.common.lib.dir}/commons-logging.jar"/> |
84 |
<pathelement location="${jboss.common.lib.dir}/commons-httpclient.jar"/> |
85 |
<pathelement location="${jboss.common.lib.dir}/ejb3-persistence.jar"/> |
86 |
<pathelement location="${jboss.common.lib.dir}/jboss-javaee.jar"/> |
87 |
<pathelement location="${jboss.common.lib.dir}/jbosssx.jar"/> |
88 |
<pathelement location="${jboss.lib.dir}/jboss-j2se.jar"/> |
89 |
<pathelement location="${jboss.lib.dir}/jboss-kernel.jar"/> |
90 |
<pathelement location="${jboss.lib.dir}/jboss-system-jmx.jar"/> |
91 |
<pathelement location="${jboss.lib.dir}/jboss-system.jar"/> |
92 |
<pathelement location="${jboss.lib.dir}/jbosssx.jar"/> |
93 |
<pathelement location="${ear.lib.dir}/commons-codec-1.3.jar"/> |
94 |
<pathelement location="${ear.lib.dir}/commons-configuration-1.6.jar"/> |
95 |
<pathelement location="${war.lib.dir}/commons-fileupload-1.2.jar"/> |
96 |
<pathelement location="${ear.lib.dir}/commons-lang.jar"/> |
97 |
<pathelement location="${junit.path}/junit.jar"/> |
98 |
<pathelement location="${basedir}/lib/gwt-dnd-2.6.5.jar"/> |
99 |
<pathelement location="${basedir}/lib/gwt-gears.jar"/> |
100 |
</path>
|
101 |
|
102 |
<target name="install" description="Installs the configuration files of the application server"> |
103 |
<copy todir="${jboss.bin.dir}" overwrite="true" failonerror="false"> |
104 |
<fileset dir="${jboss.project}/bin"/> |
105 |
</copy>
|
106 |
<copy todir="${jboss.bin.dir}" overwrite="true" failonerror="false"> |
107 |
<fileset dir="${jboss-spec.bin.dir}" /> |
108 |
</copy>
|
109 |
<copy todir="${jboss.conf.dir}" overwrite="true" failonerror="false"> |
110 |
<fileset dir="${jboss.project}/conf"/> |
111 |
</copy>
|
112 |
<copy todir="${jboss.conf.dir}" overwrite="true" failonerror="false"> |
113 |
<fileset dir="${jboss-spec.conf.dir}"/> |
114 |
</copy>
|
115 |
<copy todir="${jboss.run_conf.lib.dir}" overwrite="true" failonerror="false"> |
116 |
<fileset dir="${jboss.project}/lib"/> |
117 |
</copy>
|
118 |
<copy todir="${jboss.run_conf.lib.dir}" overwrite="true" failonerror="false"> |
119 |
<fileset dir="${jboss-spec.lib.dir}" /> |
120 |
</copy>
|
121 |
<copy todir="${jboss.deploy.dir}" overwrite="true" failonerror="false"> |
122 |
<fileset dir="${jboss.project}/deploy"/> |
123 |
</copy>
|
124 |
<copy todir="${jboss.deploy.dir}" overwrite="true" failonerror="false"> |
125 |
<fileset dir="${jboss-spec.deploy.dir}" /> |
126 |
</copy>
|
127 |
</target>
|
128 |
|
129 |
<target name="install-production" description="Installs the configuration files for the production deployment of the application server"> |
130 |
<copy todir="${jboss.prod.bin.dir}" overwrite="true" failonerror="false"> |
131 |
<fileset dir="${jboss.project}/bin"/> |
132 |
</copy>
|
133 |
<copy todir="${jboss.prod.bin.dir}" overwrite="true" failonerror="false"> |
134 |
<fileset dir="${jboss-spec.prod.bin.dir}" /> |
135 |
</copy>
|
136 |
<copy todir="${jboss.prod.conf.dir}" overwrite="true" failonerror="false"> |
137 |
<fileset dir="${jboss.project}/conf"/> |
138 |
</copy>
|
139 |
<copy todir="${jboss.prod.conf.dir}" overwrite="true" failonerror="false"> |
140 |
<fileset dir="${jboss-spec.prod.conf.dir}"/> |
141 |
</copy>
|
142 |
<copy todir="${jboss.prod.run_conf.lib.dir}" overwrite="true" failonerror="false"> |
143 |
<fileset dir="${jboss.project}/lib"/> |
144 |
</copy>
|
145 |
<copy todir="${jboss.prod.run_conf.lib.dir}" overwrite="true" failonerror="false"> |
146 |
<fileset dir="${jboss-spec.prod.lib.dir}" /> |
147 |
</copy>
|
148 |
<copy todir="${jboss.prod.deploy.dir}" overwrite="true" failonerror="false"> |
149 |
<fileset dir="${jboss.project}/deploy"/> |
150 |
</copy>
|
151 |
<copy todir="${jboss.prod.deploy.dir}" overwrite="true" failonerror="false"> |
152 |
<fileset dir="${jboss-spec.prod.deploy.dir}" /> |
153 |
</copy>
|
154 |
</target>
|
155 |
|
156 |
<target name="compile" description="Compile src to bin"> |
157 |
<mkdir dir="bin" /> |
158 |
<javac srcdir="src:test" destdir="bin" debug="on" debuglevel="lines,vars,source" source="1.6"> |
159 |
<classpath refid="project.class.path" /> |
160 |
</javac>
|
161 |
</target>
|
162 |
|
163 |
<target name="package-code" depends="compile" description="Package up the project code as a jar"> |
164 |
<jar destfile="${build.dir}/${ant.project.name}.jar"> |
165 |
<fileset dir="bin"> |
166 |
<include name="org/json/**" /> |
167 |
<include name="**/server/**" /> |
168 |
<exclude name="**/domain/**"/> |
169 |
<exclude name="**/ejb/**"/> |
170 |
<exclude name="**/soap/**"/> |
171 |
</fileset>
|
172 |
</jar>
|
173 |
</target>
|
174 |
|
175 |
<target name="package-webdav" depends="compile" description="Package up the webdav code as a jar"> |
176 |
<jar destfile="${build.dir}/webdav.jar"> |
177 |
<fileset dir="bin"> |
178 |
<include name="**/webdav/**" /> |
179 |
</fileset>
|
180 |
</jar>
|
181 |
</target>
|
182 |
|
183 |
<target name="package-ejb" depends="compile" description="Package up the EJB classes"> |
184 |
<jar destfile="${build.dir}/ejbs.jar"> |
185 |
<zipfileset dir="${basedir}/persistence" /> |
186 |
<zipfileset dir="${build.dir}"> |
187 |
<include name="**/configuration/**" /> |
188 |
<include name="**/exceptions/**" /> |
189 |
<include name="**/domain/**" /> |
190 |
<include name="**/ejb/**" /> |
191 |
<include name="**/soap/**" /> |
192 |
<exclude name="**/*Test.class"/> |
193 |
</zipfileset>
|
194 |
</jar>
|
195 |
</target>
|
196 |
|
197 |
<target name="check-gwt-compile" depends="compile"> |
198 |
<uptodate property="compilation-not-needed"> |
199 |
<srcfiles dir="${src.dir}" excludes="**/server/**"/> |
200 |
<mergemapper to="${build.dir}/www/gr.ebs.gss.GSS.nocache.js"/> |
201 |
</uptodate>
|
202 |
</target>
|
203 |
|
204 |
<target name="gwt-compile" depends="check-gwt-compile" unless="compilation-not-needed" description="Compile client code to JavaScript"> |
205 |
<!-- The following 3 conditions are for GWT 1.x -->
|
206 |
<condition property="gwt-dev-lib" value="${gwt.path}/gwt-dev-linux.jar"> |
207 |
<available file="${gwt.path}/gwt-dev-linux.jar"/> |
208 |
</condition>
|
209 |
<condition property="gwt-dev-lib" value="${gwt.path}/gwt-dev-mac.jar"> |
210 |
<available file="${gwt.path}/gwt-dev-mac.jar" /> |
211 |
</condition>
|
212 |
<condition property="gwt-dev-lib" value="${gwt.path}/gwt-dev-windows.jar"> |
213 |
<available file="${gwt.path}/gwt-dev-windows.jar" /> |
214 |
</condition>
|
215 |
<!-- This condition is for GWT 2.x -->
|
216 |
<condition property="gwt-dev-lib" value="${gwt.path}/gwt-dev.jar"> |
217 |
<available file="${gwt.path}/gwt-dev.jar" /> |
218 |
</condition>
|
219 |
<java classname="com.google.gwt.dev.GWTCompiler" failonerror="true" fork="true"> |
220 |
<!--arg value="-style"/>
|
221 |
<arg value="DETAILED"/-->
|
222 |
<arg value="-out"/> |
223 |
<arg value="${gwt.www.dir}"/> |
224 |
<arg value="${gwt.module}"/> |
225 |
<jvmarg value="-Xmx256m"/> |
226 |
<jvmarg value="-Xss512k"/> |
227 |
<classpath>
|
228 |
<pathelement location="dist/test.jar"/> |
229 |
<pathelement path="${gwt-dev-lib}"/> |
230 |
<path refid="project.class.path" /> |
231 |
<pathelement path="${src.dir}" /> |
232 |
</classpath>
|
233 |
</java>
|
234 |
<mkdir dir="${build.dir}/www"/> |
235 |
<copy todir="${build.dir}/www"> |
236 |
<fileset dir="${gwt.www.dir}/${gwt.module}" excludes="**/${gwt.module.class}.html"> |
237 |
</fileset>
|
238 |
</copy>
|
239 |
<copy file="${gwt.www.dir}/${gwt.module}/${gwt.module.class}.html" tofile="${build.dir}/www/index.html" /> |
240 |
</target>
|
241 |
|
242 |
<target name="package-war" depends="gwt-compile, package-code" description="Package up the web part as a war"> |
243 |
<jar destfile="${build.dir}/${dist.war}"> |
244 |
<zipfileset dir="${war.dir}" /> |
245 |
<zipfileset dir="${build.dir}/www" /> |
246 |
<zipfileset dir="${build.dir}" prefix="WEB-INF/lib"> |
247 |
<include name="${ant.project.name}.jar" /> |
248 |
</zipfileset>
|
249 |
<zipfileset dir="${gwt.path}" prefix="WEB-INF/lib"> |
250 |
<include name="gwt-servlet.jar" /> |
251 |
</zipfileset>
|
252 |
</jar>
|
253 |
</target>
|
254 |
|
255 |
<target name="package-webdav-war" depends="package-webdav" description="Package up the WebDAV part as a war"> |
256 |
<jar destfile="${build.dir}/${webdav.war}"> |
257 |
<zipfileset dir="${webdav.war.dir}" /> |
258 |
<zipfileset dir="${build.dir}" prefix="WEB-INF/lib"> |
259 |
<include name="webdav.jar" /> |
260 |
</zipfileset>
|
261 |
</jar>
|
262 |
</target>
|
263 |
|
264 |
<target name="package-mbeans" depends="compile"> |
265 |
<jar jarfile="${build.dir}/${mbeans.dist.file}" basedir="${build.dir}"> |
266 |
<include name="**/mbeans/**"/> |
267 |
<metainf dir="${mbeans.meta-inf.dir}"/> |
268 |
</jar>
|
269 |
</target>
|
270 |
|
271 |
<target name="package-ear" depends="package-war, package-webdav-war, package-ejb, package-mbeans" description="Package up the project as an ear"> |
272 |
<jar destfile="${build.dir}/${dist.ear}"> |
273 |
<zipfileset dir="${ear.dir}" /> |
274 |
<zipfileset dir="${build.dir}"> |
275 |
<include name="ejbs.jar" /> |
276 |
<include name="${dist.war}" /> |
277 |
<include name="${webdav.war}" /> |
278 |
<include name="${mbeans.dist.file}"/> |
279 |
</zipfileset>
|
280 |
</jar>
|
281 |
</target>
|
282 |
|
283 |
<target name="deploy" depends="package-ear" description="Deploy the project to the server"> |
284 |
<copy todir="${jboss.deploy.dir}" file="${build.dir}/${dist.ear}"/> |
285 |
</target>
|
286 |
|
287 |
<target name="deploy-production" depends="package-ear" description="Deploy the project to the production server"> |
288 |
<copy todir="${jboss.prod.deploy.dir}" file="${build.dir}/${dist.ear}"/> |
289 |
</target>
|
290 |
|
291 |
<target name="redeploy" depends="package-ear" description="Redeploy the project to the server"> |
292 |
<copy todir="${jboss.deploy.dir}" file="${build.dir}/${dist.ear}" overwrite="yes"/> |
293 |
</target>
|
294 |
|
295 |
<target name="undeploy" description="Undeploy the project from the server"> |
296 |
<delete file="${jboss.deploy.dir}/${dist.ear}"/> |
297 |
</target>
|
298 |
|
299 |
<target name="clean" description="Delete the contents of the bin and www directories"> |
300 |
<delete dir="${build.dir}" /> |
301 |
<delete dir="${gwt.www.dir}" /> |
302 |
</target>
|
303 |
|
304 |
<target name="test" description="Performs unit tests on the project" depends="compile"> |
305 |
<available
|
306 |
property="junit.present" |
307 |
classname="org.apache.tools.ant.taskdefs.optional.junit.JUnitTask" |
308 |
classpathref="project.class.path"/> |
309 |
<fail unless="junit.present"> |
310 |
################################################################## |
311 |
JUnit not found. |
312 |
Please make sure junit.jar is in ANT_HOME/lib, or made available |
313 |
to Ant using other mechanisms like -lib or CLASSPATH. |
314 |
################################################################## |
315 |
</fail>
|
316 |
|
317 |
<junit printsummary="withOutAndErr" fork="yes" haltonfailure="yes"> |
318 |
<classpath refid="project.class.path"/> |
319 |
<formatter type="plain"/> |
320 |
<batchtest todir="${test.build.dir}"> |
321 |
<fileset dir="${test.build.classes.dir}"> |
322 |
<include name="**/*Test.class"/> |
323 |
</fileset>
|
324 |
</batchtest>
|
325 |
|
326 |
</junit>
|
327 |
</target>
|
328 |
|
329 |
</project>
|