i18n-feature based on kellans proposal implemented. the resource-bundles are located...
[mir.git] / build.xml
1 <project name="Mir" default="compile" basedir=".">
2
3
4 <!-- Property Definitions
5      app.name          Base name of this application, used to
6                        construct filenames and directories.
7
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.
12
13      dist.home         The name of the base directory in which
14                        distribution files are created.
15
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".
20
21      dist.war          The name of the Web ARchive (WAR) file
22                        containing our deployable application.
23                        This filename should end with ".war".
24
25      javadoc.home      The name of the base directory in which
26                        the JavaDoc documentation for this application
27                        is generated.
28
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.
33 -->
34
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"/>
41
42
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.
48 -->
49
50   <target name="prepare">
51     <mkdir  dir="${deploy.home}"/>
52     <copy todir="${deploy.home}">
53       <fileset dir="web"/>
54     </copy>
55     <mkdir  dir="${deploy.home}/templates"/>
56     <copy todir="${deploy.home}/templates">
57       <fileset dir="templates"/>
58     </copy>
59     <mkdir  dir="${deploy.home}/src"/>
60     <copy todir="${deploy.home}/src">
61       <fileset dir="source"/>
62     </copy>
63
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">
69       <fileset dir="lib">
70         <exclude name="ant.jar"/>
71         <exclude name="xerces.jar"/>
72       </fileset>
73     </copy>
74     <copy todir="${deploy.home}/WEB-INF/classes">
75       <fileset dir="bundles"/>
76     </copy>
77     <mkdir  dir="${javadoc.home}"/>
78     <mkdir  dir="${deploy.home}/log"/>
79
80   </target>
81
82
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.
86 -->
87
88
89   <target name="clean">
90     <delete dir="${deploy.home}"/>
91   </target>
92
93
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
99      class file.
100
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
104      behavior at runtime.
105
106      The "compile" task depends on the "prepare" task, so the deployment
107      home directory structure will be created if needed the first time.
108 -->
109
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"/>
116     </copy>
117     <copy   todir="${deploy.home}/WEB-INF/classes">
118       <fileset dir="source" includes="**/*.xml"/>
119     </copy>
120     <copy   todir="${deploy.home}">
121       <fileset dir="source" includes="**/content-types.properties"/>
122     </copy>
123   </target>
124
125
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.
132 -->
133
134   <target name="javadoc" depends="prepare">
135     <javadoc packagenames="mir.*, mircoders.*"
136              sourcefiles="source/${app.name}.java,source/Open${app.name}.java"
137              sourcepath="source"
138              destdir="${javadoc.home}"/>
139   </target>
140
141
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.
145 -->
146
147   <target name="all" depends="clean,prepare,compile,javadoc"/>
148
149
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
154      that separately.
155 -->
156   <target name="dist" depends="prepare,compile">
157     <jar jarfile="mirbase.jar"
158          includes="mir/**"
159          basedir="../Mir/WEB-INF/classes"/>
160     <jar jarfile="${dist.src}"
161          basedir="./source"/>
162     <jar jarfile="${dist.war}"
163          basedir="${deploy.home}"/>
164   </target>
165
166 </project>