]> matita.cs.unibo.it Git - helm.git/blob - helm/uwobo/build.xml
Initial revision
[helm.git] / helm / uwobo / build.xml
1 <?xml version="1.0"?>
2
3 <project name="uwobo" default="build" basedir=".">
4
5         <property name="Name" value="Uwobo"/>
6         <property name="name" value="uwobo"/>
7         <property name="version" value="1.2.1"/>
8         <property name="serialization_dir" value=""/>
9
10         <property file=".${name}.properties" />
11         <property file="${user.home}/.${name}.properties" />
12
13         <property name="packages" value="it.unibo.cs.helm.uwobo.*" />
14
15         <property name="helm.home" value="." />
16         <property name="src.dir" value="src" />
17         <property name="docs.dir" value="docs" />
18         <property name="lib.dir" value="lib" />
19         <property name="build.dir" value="build" />
20         <property name="dist.dir" value="dist" />
21         <property name="deploy.dir" value="deploy/webapps/helm"/>
22         <property name="tomcat.dir" value="/projects/helm/shared/libraries/tomcat/"/>
23  
24         <property file=".${name}.properties" />
25         <property file="${user.home}/.${name}.properties" />
26
27         <path id="compile.classpath">
28                 <fileset dir="${lib.dir}">
29                         <include name="*.jar"/>
30                         <include name="*.zip"/>
31                         <exclude name="${name}*.jar"/>
32                 </fileset>
33                 <pathelement location="${build.dir}"/>
34         </path>
35
36         <path id="runtime_server.classpath">
37                 <fileset dir="${lib.dir}">
38                         <include name="*.jar"/>
39                         <include name="*.zip"/>
40                         <exclude name="${name}_client.jar"/>
41                 </fileset>
42         </path>
43
44         <path id="runtime_client.classpath">
45                 <fileset dir="${lib.dir}">
46                         <include name="*.jar"/>
47                         <include name="*.zip"/>
48                         <exclude name="${name}_server.jar"/>
49                 </fileset>
50         </path>
51
52         <target name="prepare">
53                 <mkdir dir="${build.dir}" />
54                 <tstamp />
55         </target>
56
57         <target name="compile" depends="prepare">
58                 <javac srcdir="${src.dir}" destdir="${build.dir}" debug="on" deprecation="off" >
59                         <include name="**/*.java" />
60                         <classpath refid="compile.classpath"/>
61                 </javac>
62
63                 <filter token="PACKAGE" value="${Name}" />
64                 <filter token="VERSION" value="${version}" />
65                 <filter token="DATE" value="${TODAY}" />
66                 <filter token="TIME" value="${TSTAMP}" />
67                 <filter token="SERIALIZATION_DIR" value="${serialization_dir}" />
68                 <copy todir="${build.dir}" overwrite="true" filtering="on">
69                         <fileset dir="${src.dir}">
70                                 <include name="**/properties.txt" />
71                         </fileset>
72                 </copy>
73         </target>
74
75         <target name="build" depends="compile">
76                 <war warfile="${lib.dir}/helm.war" webxml="web.xml">
77                         <lib dir="${lib.dir}">
78                                 <exclude name="servlet.jar"/>
79                                 <exclude name="${name}*.jar"/>
80                                 <exclude name="*.war"/>
81                         </lib>
82                         <classes dir="${build.dir}"/>
83                 </war>
84         </target>
85
86         <target name="install" depends="build">
87                 <delete dir="${tomcat.dir}/webapps/helm" />
88                 <copy todir="${tomcat.dir}/webapps" file="${lib.dir}/helm.war" />
89         </target>
90
91         <target name="compile_final" depends="clean, prepare">
92                 <javac srcdir="${src.dir}" destdir="${build.dir}" debug="off" deprecation="on" optimize="on">
93                         <include name="**/*.java" />
94                         <classpath refid="compile.classpath"/>
95                 </javac>
96
97                 <filter token="PACKAGE" value="${Name}" />
98                 <filter token="VERSION" value="${version}" />
99                 <filter token="DATE" value="${TODAY}" />
100                 <filter token="TIME" value="${TSTAMP}" />
101                 <copy todir="${build.dir}" overwrite="true" filtering="on">
102                         <fileset dir="${src.dir}">
103                                 <include name="**/properties.txt" />
104                         </fileset>
105                 </copy>
106         </target>
107
108         <target name="build_final" depends="compile_final">
109                 <war warfile="${lib.dir}/helm.war" webxml="web.xml">
110                         <lib dir="${lib.dir}">
111                                 <exclude name="servlet.jar"/>
112                                 <exclude name="${name}*.jar"/>
113                                 <exclude name="*.war"/>
114                         </lib>
115                         <classes dir="${build.dir}"/>
116                 </war>
117         </target>
118
119         <target name="dist" depends="build_final">
120                 <mkdir dir="${dist.dir}" />
121                 <mkdir dir="${dist.dir}/ant" />
122                 <chmod file="${dist.dir}/ant" perm="ugo+x" type="dir"/>
123                 <mkdir dir="${dist.dir}/lib" />
124                 <chmod file="${dist.dir}/lib" perm="ugo+x" type="dir"/>
125                 <mkdir dir="${dist.dir}/docs" />
126                 <chmod file="${dist.dir}/docs" perm="ugo+x" type="dir"/>
127                 <mkdir dir="${dist.dir}/resources" />
128                 <chmod file="${dist.dir}/resources" perm="ugo+x" type="dir"/>
129                 <mkdir dir="${dist.dir}/src" />
130                 <chmod file="${dist.dir}/src" perm="ugo+x" type="dir"/>
131
132                 <copy todir="${dist.dir}/ant" >
133                         <fileset dir="ant" />
134                 </copy>
135                 <copy todir="${dist.dir}/lib" >
136                         <fileset dir="${lib.dir}" />
137                 </copy>
138                 <copy todir="${dist.dir}/docs" >
139                         <fileset dir="${docs.dir}" />
140                 </copy>
141                 <!-- CSC: next line needed only if resources is empty -->
142                 <mkdir dir="resources"/>
143                 <copy todir="${dist.dir}/resources" >
144                         <fileset dir="resources" />
145                 </copy>
146                 <copy todir="${dist.dir}/src" >
147                         <fileset dir="${src.dir}" />
148                 </copy>
149
150                 <copy todir="${dist.dir}" file="antRun" />
151                 <chmod file="${dist.dir}/antRun" perm="ugo+rx"/>
152                 <copy todir="${dist.dir}" file="antRun.bat" />
153                 <copy todir="${dist.dir}" file="build.xml" />
154                 <copy todir="${dist.dir}" file="web.xml" />
155         </target>
156
157         <target name="dist-zip" depends="dist">
158                 <mkdir dir="backup"/>
159                 <zip zipfile="backup/${Name}-${version}.zip" basedir="${dist.dir}" includes="**" />
160         </target>
161
162         <target name="dist-unzip">
163                 <unzip src="backup/${Name}.zip" dest="."/>
164         </target>
165
166         <target name="dist-tgz" depends="dist">
167                 <mkdir dir="backup"/>
168                 <move todir="${name}">
169                         <fileset dir="${dist.dir}"/>
170                 </move>
171                 <tar tarfile="backup/${Name}-${version}.tar" basedir="." includes="${name}/**"/>
172                 <move todir="${dist.dir}">
173                         <fileset dir="${name}"/>
174                 </move>
175                 <gzip zipfile="backup/${Name}-${version}.tar.gz" src="backup/${Name}-${version}.tar"/>
176         </target>
177
178         <target name="clean">
179                 <delete dir="${build.dir}" />    
180                 <delete dir="${dist.dir}" />    
181         </target>
182 </project>