luis@17
|
1 <project name="EchoWebApp" default="build-war" basedir=".">
|
luis@1
|
2 <description>
|
luis@1
|
3 Simple build file for the EchoLocation WebApp.
|
luis@1
|
4 </description>
|
luis@1
|
5
|
luis@1
|
6 <!-- set global properties for this build -->
|
luis@8
|
7 <property name="matlab-src" location="webapp/WEB-INF/mcode/human-echolocation"/>
|
luis@4
|
8 <property name="matlab-build" location="scratch"/>
|
luis@4
|
9 <property name="lib" location="webapp/WEB-INF/lib"/>
|
luis@8
|
10 <property name="src" location="webapp/WEB-INF/src"/>
|
luis@8
|
11 <property name="classes" location="webapp/WEB-INF/classes"/>
|
luis@12
|
12 <property name="web.dir" location="webapp"/>
|
luis@12
|
13 <property name="war.file" location="echoapp.war"/>
|
luis@1
|
14
|
luis@6
|
15 <uptodate property="matlabCompile.notRequired" targetfile="${matlab-build}/isvr.jar" >
|
luis@7
|
16 <srcfiles dir= "${matlab-src}" includes="*.m"/>
|
luis@7
|
17 <srcfiles dir= "${matlab-src}/private" includes="*.m"/>
|
luis@6
|
18 </uptodate>
|
luis@6
|
19
|
luis@12
|
20 <uptodate property="warBuild.notRequired" targetfile="${war.file}" >
|
luis@12
|
21 <srcfiles dir= "${classes}" includes="*.class"/>
|
luis@18
|
22 <srcfiles dir= "${src}" includes="*.java" />
|
luis@12
|
23 <srcfiles dir= "${web.dir}" includes="*.jsp"/>
|
luis@17
|
24 <srcfiles dir= "${web.dir}" includes="*.css"/>
|
luis@17
|
25 <srcfiles dir= "${web.dir}" includes="*.xml" />
|
luis@17
|
26 <srcfiles dir= "${web.dir}/script" includes="*.js" />
|
luis@18
|
27 <srcfiles dir= "${web.dir}/script" includes="*.js" />
|
luis@12
|
28 </uptodate>
|
luis@12
|
29
|
luis@1
|
30 <target name="init">
|
luis@1
|
31 <!-- Create the time stamp -->
|
luis@1
|
32 <tstamp/>
|
luis@1
|
33 <!-- Create the build directory structure used by compile -->
|
luis@4
|
34 <mkdir dir="${matlab-build}"/>
|
luis@1
|
35 </target>
|
luis@1
|
36
|
luis@6
|
37 <target name="compile-matlab" depends="init" unless="matlabCompile.notRequired"
|
luis@1
|
38 description="compile the MATLAB source" >
|
luis@4
|
39
|
luis@1
|
40 <exec executable="/Applications/MATLAB_R2013b.app/bin/mcc">
|
luis@1
|
41 <!-- Will create the java package with the HumanEcho class -->
|
luis@4
|
42 <arg line='-W "java:uk.ac.soton.isvr,HumanEcho" -d ${matlab-build} -T "link:lib" -v "class{HumanEcho:${matlab-src}/simulateBinauralSignals.m}"'/>
|
luis@1
|
43 </exec>
|
luis@4
|
44
|
luis@4
|
45 <!-- Copy the generated jar to the lib folder -->
|
luis@4
|
46 <copy file="${matlab-build}/isvr.jar" tofile="${lib}/isvr.jar" overwrite="true" />
|
luis@1
|
47 </target>
|
luis@1
|
48
|
luis@10
|
49 <target name="build" depends="compile-matlab">
|
luis@16
|
50 <javac srcdir="${src}" destdir="${classes}" classpath="servlet-api.jar:${lib}/javabuilder.jar:${lib}/isvr.jar:${lib}/log4j-1.2.17.jar" includeantruntime="false"/>
|
luis@8
|
51 </target>
|
luis@8
|
52
|
luis@12
|
53 <target name="build-war" depends="build"
|
luis@12
|
54 description="generate the WAR file" unless="warBuild.notRequired">
|
luis@12
|
55 <war destfile="${war.file}" webxml="${web.dir}/WEB-INF/web.xml">
|
luis@12
|
56 <fileset dir="${web.dir}">
|
luis@12
|
57 <exclude name="${web.dir}/WEB-INF/web.xml" />
|
luis@12
|
58 </fileset>
|
luis@12
|
59 </war>
|
luis@1
|
60 </target>
|
luis@1
|
61
|
luis@12
|
62 <target name="clean" description="clean up" >
|
luis@1
|
63 <!-- Delete the ${build} and ${dist} directory trees -->
|
luis@1
|
64 <delete dir="${build}"/>
|
luis@1
|
65 </target>
|
luis@8
|
66 </project>
|