root / gss / build.xml @ d2c63e7e
History | View | Annotate | Download (13.5 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.5.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.5.6.jar"/> |
99 |
</path>
|
100 |
|
101 |
<target name="install" description="Installs the configuration files of the application server"> |
102 |
<copy todir="${jboss.bin.dir}" overwrite="true" failonerror="false"> |
103 |
<fileset dir="${jboss.project}/bin"/> |
104 |
</copy>
|
105 |
<copy todir="${jboss.bin.dir}" overwrite="true" failonerror="false"> |
106 |
<fileset dir="${jboss-spec.bin.dir}" /> |
107 |
</copy>
|
108 |
<copy todir="${jboss.conf.dir}" overwrite="true" failonerror="false"> |
109 |
<fileset dir="${jboss.project}/conf"/> |
110 |
</copy>
|
111 |
<copy todir="${jboss.conf.dir}" overwrite="true" failonerror="false"> |
112 |
<fileset dir="${jboss-spec.conf.dir}"/> |
113 |
</copy>
|
114 |
<copy todir="${jboss.run_conf.lib.dir}" overwrite="true" failonerror="false"> |
115 |
<fileset dir="${jboss.project}/lib"/> |
116 |
</copy>
|
117 |
<copy todir="${jboss.run_conf.lib.dir}" overwrite="true" failonerror="false"> |
118 |
<fileset dir="${jboss-spec.lib.dir}" /> |
119 |
</copy>
|
120 |
<copy todir="${jboss.deploy.dir}" overwrite="true" failonerror="false"> |
121 |
<fileset dir="${jboss.project}/deploy"/> |
122 |
</copy>
|
123 |
<copy todir="${jboss.deploy.dir}" overwrite="true" failonerror="false"> |
124 |
<fileset dir="${jboss-spec.deploy.dir}" /> |
125 |
</copy>
|
126 |
</target>
|
127 |
|
128 |
<target name="install-production" description="Installs the configuration files for the production deployment of the application server"> |
129 |
<copy todir="${jboss.prod.bin.dir}" overwrite="true" failonerror="false"> |
130 |
<fileset dir="${jboss.project}/bin"/> |
131 |
</copy>
|
132 |
<copy todir="${jboss.prod.bin.dir}" overwrite="true" failonerror="false"> |
133 |
<fileset dir="${jboss-spec.prod.bin.dir}" /> |
134 |
</copy>
|
135 |
<copy todir="${jboss.prod.conf.dir}" overwrite="true" failonerror="false"> |
136 |
<fileset dir="${jboss.project}/conf"/> |
137 |
</copy>
|
138 |
<copy todir="${jboss.prod.conf.dir}" overwrite="true" failonerror="false"> |
139 |
<fileset dir="${jboss-spec.prod.conf.dir}"/> |
140 |
</copy>
|
141 |
<copy todir="${jboss.prod.run_conf.lib.dir}" overwrite="true" failonerror="false"> |
142 |
<fileset dir="${jboss.project}/lib"/> |
143 |
</copy>
|
144 |
<copy todir="${jboss.prod.run_conf.lib.dir}" overwrite="true" failonerror="false"> |
145 |
<fileset dir="${jboss-spec.prod.lib.dir}" /> |
146 |
</copy>
|
147 |
<copy todir="${jboss.prod.deploy.dir}" overwrite="true" failonerror="false"> |
148 |
<fileset dir="${jboss.project}/deploy"/> |
149 |
</copy>
|
150 |
<copy todir="${jboss.prod.deploy.dir}" overwrite="true" failonerror="false"> |
151 |
<fileset dir="${jboss-spec.prod.deploy.dir}" /> |
152 |
</copy>
|
153 |
</target>
|
154 |
|
155 |
<target name="compile" description="Compile src to bin"> |
156 |
<mkdir dir="bin" /> |
157 |
<javac srcdir="src:test" destdir="bin" debug="on" debuglevel="lines,vars,source" source="1.6"> |
158 |
<classpath refid="project.class.path" /> |
159 |
</javac>
|
160 |
</target>
|
161 |
|
162 |
<target name="package-code" depends="compile" description="Package up the project code as a jar"> |
163 |
<jar destfile="${build.dir}/${ant.project.name}.jar"> |
164 |
<fileset dir="bin"> |
165 |
<include name="org/json/**" /> |
166 |
<include name="**/server/**" /> |
167 |
<exclude name="**/domain/**"/> |
168 |
<exclude name="**/ejb/**"/> |
169 |
<exclude name="**/soap/**"/> |
170 |
</fileset>
|
171 |
</jar>
|
172 |
</target>
|
173 |
|
174 |
<target name="package-webdav" depends="compile" description="Package up the webdav code as a jar"> |
175 |
<jar destfile="${build.dir}/webdav.jar"> |
176 |
<fileset dir="bin"> |
177 |
<include name="**/webdav/**" /> |
178 |
</fileset>
|
179 |
</jar>
|
180 |
</target>
|
181 |
|
182 |
<target name="package-ejb" depends="compile" description="Package up the EJB classes"> |
183 |
<jar destfile="${build.dir}/ejbs.jar"> |
184 |
<zipfileset dir="${basedir}/persistence" /> |
185 |
<zipfileset dir="${build.dir}"> |
186 |
<include name="**/configuration/**" /> |
187 |
<include name="**/exceptions/**" /> |
188 |
<include name="**/domain/**" /> |
189 |
<include name="**/ejb/**" /> |
190 |
<include name="**/soap/**" /> |
191 |
</zipfileset>
|
192 |
</jar>
|
193 |
</target>
|
194 |
|
195 |
<target name="check-gwt-compile" depends="compile"> |
196 |
<uptodate property="compilation-not-needed"> |
197 |
<srcfiles dir="${src.dir}" excludes="**/server/**"/> |
198 |
<mergemapper to="${build.dir}/www/clear.cache.gif"/> |
199 |
</uptodate>
|
200 |
</target>
|
201 |
|
202 |
<target name="gwt-compile" depends="check-gwt-compile" unless="compilation-not-needed" description="Compile client code to JavaScript"> |
203 |
<condition property="gwt-dev-lib" value="${gwt.path}/gwt-dev-linux.jar"> |
204 |
<available file="${gwt.path}/gwt-dev-linux.jar"/> |
205 |
</condition>
|
206 |
<condition property="gwt-dev-lib" value="${gwt.path}/gwt-dev-mac.jar"> |
207 |
<available file="${gwt.path}/gwt-dev-mac.jar" /> |
208 |
</condition>
|
209 |
<condition property="gwt-dev-lib" value="${gwt.path}/gwt-dev-windows.jar"> |
210 |
<available file="${gwt.path}/gwt-dev-windows.jar" /> |
211 |
</condition>
|
212 |
<java classname="com.google.gwt.dev.GWTCompiler" failonerror="true" fork="true"> |
213 |
<arg value="-out"/> |
214 |
<arg value="${gwt.www.dir}"/> |
215 |
<arg value="${gwt.module}"/> |
216 |
<jvmarg value="-Xmx196m"/> |
217 |
<classpath>
|
218 |
<pathelement location="dist/test.jar"/> |
219 |
<pathelement path="${gwt-dev-lib}"/> |
220 |
<path refid="project.class.path" /> |
221 |
<pathelement path="${src.dir}" /> |
222 |
</classpath>
|
223 |
</java>
|
224 |
<mkdir dir="${build.dir}/www"/> |
225 |
<copy todir="${build.dir}/www"> |
226 |
<fileset dir="${gwt.www.dir}/${gwt.module}" excludes="**/${gwt.module.class}.html"> |
227 |
</fileset>
|
228 |
</copy>
|
229 |
<copy file="${gwt.www.dir}/${gwt.module}/${gwt.module.class}.html" tofile="${build.dir}/www/index.html" /> |
230 |
</target>
|
231 |
|
232 |
<target name="package-war" depends="gwt-compile, package-code" description="Package up the web part as a war"> |
233 |
<jar destfile="${build.dir}/${dist.war}"> |
234 |
<zipfileset dir="${war.dir}" /> |
235 |
<zipfileset dir="${build.dir}/www" /> |
236 |
<zipfileset dir="${build.dir}" prefix="WEB-INF/lib"> |
237 |
<include name="${ant.project.name}.jar" /> |
238 |
</zipfileset>
|
239 |
<zipfileset dir="${gwt.path}" prefix="WEB-INF/lib"> |
240 |
<include name="gwt-servlet.jar" /> |
241 |
</zipfileset>
|
242 |
</jar>
|
243 |
</target>
|
244 |
|
245 |
<target name="package-webdav-war" depends="package-webdav" description="Package up the WebDAV part as a war"> |
246 |
<jar destfile="${build.dir}/${webdav.war}"> |
247 |
<zipfileset dir="${webdav.war.dir}" /> |
248 |
<zipfileset dir="${build.dir}" prefix="WEB-INF/lib"> |
249 |
<include name="webdav.jar" /> |
250 |
</zipfileset>
|
251 |
</jar>
|
252 |
</target>
|
253 |
|
254 |
<target name="package-mbeans" depends="compile"> |
255 |
<jar jarfile="${build.dir}/${mbeans.dist.file}" basedir="${build.dir}"> |
256 |
<include name="**/mbeans/**"/> |
257 |
<metainf dir="${mbeans.meta-inf.dir}"/> |
258 |
</jar>
|
259 |
</target>
|
260 |
|
261 |
<target name="package-ear" depends="package-war, package-webdav-war, package-ejb, package-mbeans" description="Package up the project as an ear"> |
262 |
<jar destfile="${build.dir}/${dist.ear}"> |
263 |
<zipfileset dir="${ear.dir}" /> |
264 |
<zipfileset dir="${build.dir}"> |
265 |
<include name="ejbs.jar" /> |
266 |
<include name="${dist.war}" /> |
267 |
<include name="${webdav.war}" /> |
268 |
<include name="${mbeans.dist.file}"/> |
269 |
</zipfileset>
|
270 |
</jar>
|
271 |
</target>
|
272 |
|
273 |
<target name="deploy" depends="package-ear" description="Deploy the project to the server"> |
274 |
<copy todir="${jboss.deploy.dir}" file="${build.dir}/${dist.ear}"/> |
275 |
</target>
|
276 |
|
277 |
<target name="deploy-production" depends="package-ear" description="Deploy the project to the production server"> |
278 |
<copy todir="${jboss.prod.deploy.dir}" file="${build.dir}/${dist.ear}"/> |
279 |
</target>
|
280 |
|
281 |
<target name="redeploy" depends="package-ear" description="Redeploy the project to the server"> |
282 |
<copy todir="${jboss.deploy.dir}" file="${build.dir}/${dist.ear}" overwrite="yes"/> |
283 |
</target>
|
284 |
|
285 |
<target name="undeploy" description="Undeploy the project from the server"> |
286 |
<delete file="${jboss.deploy.dir}/${dist.ear}"/> |
287 |
</target>
|
288 |
|
289 |
<target name="clean" description="Delete the contents of the bin and www directories"> |
290 |
<delete dir="${build.dir}" /> |
291 |
<delete dir="${gwt.www.dir}" /> |
292 |
</target>
|
293 |
|
294 |
<target name="test" description="Performs unit tests on the project" depends="compile"> |
295 |
<available
|
296 |
property="junit.present" |
297 |
classname="org.apache.tools.ant.taskdefs.optional.junit.JUnitTask" |
298 |
classpathref="project.class.path"/> |
299 |
<fail unless="junit.present"> |
300 |
################################################################## |
301 |
JUnit not found. |
302 |
Please make sure junit.jar is in ANT_HOME/lib, or made available |
303 |
to Ant using other mechanisms like -lib or CLASSPATH. |
304 |
################################################################## |
305 |
</fail>
|
306 |
|
307 |
<junit printsummary="withOutAndErr" fork="yes" haltonfailure="yes"> |
308 |
<classpath refid="project.class.path"/> |
309 |
<formatter type="plain"/> |
310 |
<batchtest todir="${test.build.dir}"> |
311 |
<fileset dir="${test.build.classes.dir}"> |
312 |
<include name="**/**.Test"/> |
313 |
</fileset>
|
314 |
</batchtest>
|
315 |
|
316 |
</junit>
|
317 |
</target>
|
318 |
|
319 |
</project>
|