1 <project name="Mir" default="compile" basedir=".">
4 <!-- Property Definitions
5 app.name Base name of this application, used to
6 construct filenames and directories.
8 deploy.home The name of the directory into which the
9 deployment hierarchy will be created.
10 Normally, this will be the name of a
11 subdirectory under $TOMCAT_HOME/webapps.
13 dist.home The name of the base directory in which
14 distribution files are created.
16 dist.src The name of the distribution JAR file
17 containing the application source code,
18 to be stored in the "dist.home" directory.
19 This filename should end with ".jar".
21 dist.war The name of the Web ARchive (WAR) file
22 containing our deployable application.
23 This filename should end with ".war".
25 javadoc.home The name of the base directory in which
26 the JavaDoc documentation for this application
29 tomcat.home The name of the base directory in which
30 Tomcat has been installed. This value is
31 normally set automatically from the value
32 of the TOMCAT_HOME environment variable.
35 <property name="app.name" value="Mir"/>
36 <property name="deploy.home" value="../${app.name}"/>
37 <property name="dist.home" value="${deploy.home}"/>
38 <property name="dist.src" value="${app.name}.jar"/>
39 <property name="dist.war" value="${app.name}.war"/>
40 <property name="javadoc.home" value="${deploy.home}/javadoc"/>
43 <!-- The "prepare" target is used to construct the deployment home
44 directory structure (if necessary), and to copy in static files
45 as required. In the example below, Ant is instructed to create
46 the deployment directory, copy the contents of the "web/" source
47 hierarchy, and set up the WEB-INF subdirectory appropriately.
50 <target name="prepare">
51 <mkdir dir="${deploy.home}"/>
52 <copy todir="${deploy.home}">
55 <mkdir dir="${deploy.home}/templates"/>
56 <copy todir="${deploy.home}/templates">
57 <fileset dir="templates"/>
59 <mkdir dir="${deploy.home}/src"/>
60 <copy todir="${deploy.home}/src">
61 <fileset dir="source"/>
64 <mkdir dir="${deploy.home}/WEB-INF"/>
65 <copy file="etc/web.xml" tofile="${deploy.home}/WEB-INF/web.xml"/>
66 <mkdir dir="${deploy.home}/WEB-INF/classes"/>
67 <mkdir dir="${deploy.home}/WEB-INF/lib"/>
68 <copy todir="${deploy.home}/WEB-INF/lib">
70 <exclude name="ant.jar"/>
71 <exclude name="xerces.jar"/>
74 <copy todir="${deploy.home}/WEB-INF/classes">
75 <fileset dir="bundles"/>
77 <mkdir dir="${javadoc.home}"/>
78 <mkdir dir="${deploy.home}/log"/>
83 <!-- The "clean" target removes the deployment home directory structure,
84 so that the next time the "compile" target is requested, it will need
85 to compile everything from scratch.
90 <delete dir="${deploy.home}"/>
94 <!-- The "compile" target is used to compile (or recompile) the Java classes
95 that make up this web application. The recommended source code directory
96 structure makes this very easy because the <javac> task automatically
97 works its way down a source code hierarchy and compiles any class that
98 has not yet been compiled, or where the source file is newer than the
101 Feel free to adjust the compilation option parameters (debug,
102 optimize, and deprecation) to suit your requirements. It is also
103 possible to base them on properties, so that you can adjust this
106 The "compile" task depends on the "prepare" task, so the deployment
107 home directory structure will be created if needed the first time.
110 <target name="compile" depends="prepare">
111 <javac srcdir="source" destdir="${deploy.home}/WEB-INF/classes"
112 classpath="${deploy.home}/WEB-INF/classes"
113 debug="on" optimize="off" deprecation="on"/>
114 <copy todir="${deploy.home}/WEB-INF/classes">
115 <fileset dir="source" includes="**/*.properties"/>
117 <copy todir="${deploy.home}/WEB-INF/classes">
118 <fileset dir="source" includes="**/*.xml"/>
120 <copy todir="${deploy.home}">
121 <fileset dir="source" includes="**/content-types.properties"/>
126 <!-- The "javadoc" target is used to create the Javadoc API documentation
127 for the Java classes in this web application. It is assumed that
128 this documentation is included in the deployed application, so the
129 example below generates the Javadoc HTML files in a subdirectory under
130 the deployment home directory. Feel free to customize the options for
131 the JavaDoc task, after consulting the Ant documentation.
134 <target name="javadoc" depends="prepare">
135 <javadoc packagenames="mir.*, mircoders.*"
136 sourcefiles="source/${app.name}.java,source/Open${app.name}.java"
138 destdir="${javadoc.home}"/>
142 <!-- The "all" target rebuilds everything by executing the "clean"
143 target first, which forces the "compile" target to compile all
144 source code instead of just the files that have been changed.
147 <target name="all" depends="clean,prepare,compile,javadoc"/>
150 <!-- The "dist" target builds the distribution Web ARchive (WAR) file
151 for this application, suitable for distribution to sites that wish
152 to install your application. It also creates a JAR file containing
153 the source code for this application, if you wish to distribute
156 <target name="dist" depends="prepare,compile">
157 <jar jarfile="mirbase.jar"
159 basedir="../Mir/WEB-INF/classes"/>
160 <jar jarfile="${dist.src}"
162 <jar jarfile="${dist.war}"
163 basedir="${deploy.home}"/>