ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/projects/cms/source/conient/build.xml
Revision: 1.2
Committed: Thu Jun 14 17:04:38 2001 UTC (23 years, 6 months ago) by ajm
Content type: text/xml
Branch: MAIN
Changes since 1.1: +2 -2 lines
Log Message:
small modifications.
removed packageutil reference in the usage
changed the lib downloads to point to the external website

File Contents

# Content
1 <!-- build file for i-scream CMS Conient client -->
2 <!-- $Id: build.xml,v 1.1 2001/06/14 15:38:15 ajm4 Exp $ -->
3
4 <project name="iscream-conient" default="usage">
5
6 <!--
7 =====================================================
8 Initialisation & Configuration
9 =====================================================
10 -->
11
12 <property name="SOURCEROOT" value="${basedir}"/>
13 <property name="CONFIGFILE" value="build.config"/>
14
15 <target name="config">
16 <echo message="Reading build configuration"/>
17 <property file="${CONFIGFILE}"/>
18 </target>
19
20 <!--
21 =====================================================
22 Usage
23 =====================================================
24 -->
25
26 <target name="usage">
27 <echo>
28
29 These are the targets supported by this ANT build script:
30
31 fetch - fetch all the JAR library files
32
33 build - compile all source code
34 package - generate JAR package and distributions
35
36 cvsbuild - build from cvs tag
37 use -Drev=TAG switch to specify cvs tag
38
39 javadoc - generate javadoc API
40 install - install server
41 use -Dprefix=/path/ switch to specify dest
42 run - run Conient
43
44 clean - clean all generated files
45 distclean - remove 'fetched' libraries + clean
46
47 Recommend to run the following target order:
48
49 fetch package javadoc install
50 </echo>
51 </target>
52
53 <target name="help">
54 <antcall target="usage"/>
55 </target>
56
57 <!--
58 =====================================================
59 Fetch required libraries (not in dependency tree)
60 =====================================================
61 -->
62
63 <!-- this uses static names, which is messy -->
64 <!-- distclean target has same problem -->
65 <target name="fetch" depends="config">
66 <get
67 src="${LIBURL}/crimson.jar"
68 dest="${LIBDIR}/crimson.jar"
69 verbose="true" usetimestamp="true"
70 />
71 <get
72 src="${LIBURL}/jaxp.jar"
73 dest="${LIBDIR}/jaxp.jar"
74 verbose="true" usetimestamp="true"
75 />
76 <get
77 src="${LIBURL}/iscream-util.jar"
78 dest="${LIBDIR}/iscream-util.jar"
79 verbose="true" usetimestamp="true"
80 />
81 <!-- also get jacorb.properties? -->
82 </target>
83
84
85 <!--
86 =====================================================
87 Source code compilation
88 =====================================================
89 -->
90
91 <target name="build" depends="config">
92 <javac
93 srcdir="${SOURCEROOT}"
94 destdir="${BUILDDIR}"
95 classpath="${JCCLASSPATH}"
96 includes="uk/**/*.java"
97 debug="${JCDEBUG}"
98 optimize="${JCOPTIM}"
99 deprecation="${JCDEPRE}"
100 />
101 </target>
102
103 <!--
104 =====================================================
105 Package creation
106 =====================================================
107 -->
108
109 <target name="makejar" depends="build">
110 <echo file="${BUILDDIR}/MANIFEST_TMP"
111 >Manifest-Version: 1.0
112 Created-By: www.i-scream.org.uk
113 Main-Class: ${MFMAINCLASS}
114 Class-Path: ${MFCLPATH}
115 </echo>
116 <jar
117 jarfile="${BUILDDIR}/${CONIENTJAR}"
118 basedir="${BUILDDIR}"
119 includes="uk/**/*.class"
120 manifest="${BUILDDIR}/MANIFEST_TMP"
121 />
122 <delete file="${BUILDDIR}/MANIFEST_TMP"/>
123 </target>
124
125 <target name="maketardist" depends="makejar">
126 <tar
127 longfile="fail"
128 basedir="${BUILDDIR}"
129 tarfile="${BUILDDIR}/${TARFILE}"
130 includes="${CONIENTJAR}, run.sh, lib/**, etc/**, README"
131 />
132 <gzip src="${BUILDDIR}/${TARFILE}" zipfile="${BUILDDIR}/${TARGZFILE}"/>
133 <delete file="${BUILDDIR}/${TARFILE}"/>
134 </target>
135
136 <target name="makezipdist" depends="makejar">
137 <zip
138 basedir="${BUILDDIR}"
139 zipfile="${BUILDDIR}/${ZIPFILE}"
140 includes="${CONIENTJAR}, run.bat, lib/**, etc/**, README"
141 />
142 </target>
143
144 <target name="package" depends="maketardist, makezipdist"/>
145
146 <!--
147 =====================================================
148 Cleaning
149 =====================================================
150 -->
151
152 <target name="clean" depends="config">
153 <delete dir="${BUILDDIR}/${ROOTPKG}"/>
154 <delete dir="${JDOCDIR}"/>
155 <delete dir="${CVSBUILDTEMP}"/>
156 <delete>
157 <fileset dir="${BUILDDIR}">
158 <include name="${CONIENTJAR}"/>
159 <include name="${ARCNAME}*${TAREXT}"/>
160 <include name="${ARCNAME}*${TARGZEXT}"/>
161 <include name="${ARCNAME}*${ZIPEXT}"/>
162 </fileset>
163 </delete>
164 </target>
165
166 <target name="distclean" depends="clean">
167 <!-- this is messy, we should only delete specific jars -->
168 <delete>
169 <fileset dir="${LIBDIR}" includes="*.jar"/>
170 </delete>
171 </target>
172
173 <!--
174 =====================================================
175 Running
176 =====================================================
177 -->
178
179 <!-- is this really the best way to do this? no... -->
180 <target name="run" depends="config">
181 <java classname="${MFMAINCLASS}" dir="${BUILDDIR}" fork="yes">
182 <classpath path="${BUILDDIR}/${CONIENTJAR}"/>
183 </java>
184 </target>
185
186 <!--
187 =====================================================
188 Javadoc
189 =====================================================
190 -->
191
192 <target name="javadoc" depends="config">
193 <mkdir dir="${JDOCDIR}"/>
194 <!-- link in here requires a live net link! -->
195 <javadoc
196 packagenames="${JDOCPKGS}"
197 destdir="${JDOCDIR}"
198 classpath="${JCCLASSPATH}"
199 author="true"
200 version="true"
201 private="true"
202 use="true"
203 windowtitle="${JDOCTITLE}"
204 header="${JDOCHEADER}"
205 bottom="${JDOCBOTTOM}"
206 link="${JDOCJAPI}"
207 >
208 <sourcepath>
209 <pathelement path="${SOURCEROOT}"/>
210 </sourcepath>
211 </javadoc>
212 </target>
213
214
215 <!--
216 =====================================================
217 Install
218 =====================================================
219 -->
220
221 <target name="install" depends="config, makejar">
222 <mkdir dir="${INSTALLDEST}"/>
223 <mkdir dir="${INSTALLDEST}/etc"/>
224 <mkdir dir="${INSTALLDEST}/lib"/>
225 <copy file="${BUILDDIR}/${CONIENTJAR}" todir="${INSTALLDEST}"/>
226 <copy file="${BUILDDIR}/run.sh" todir="${INSTALLDEST}"/>
227 <copy file="${BUILDDIR}/run.bat" todir="${INSTALLDEST}"/>
228 <copy todir="${INSTALLDEST}/lib" >
229 <fileset dir="${LIBDIR}">
230 <include name="**/*.jar"/>
231 <exclude name="**/CVS/*"/>
232 </fileset>
233 </copy>
234 <copy todir="${INSTALLDEST}/etc" >
235 <fileset dir="${BUILDDIR}/etc">
236 <include name="**/*"/>
237 <exclude name="**/CVS/*"/>
238 </fileset>
239 </copy>
240 <copy file="${BUILDDIR}/README" todir="${INSTALLDEST}"/>
241 </target>
242
243 <!--
244 =====================================================
245 CVS Build
246 =====================================================
247 -->
248
249 <target name="cvsbuild" depends="config">
250 <mkdir dir="${CVSBUILDTEMP}"/>
251 <cvs
252 cvsRoot="${CVSROOT}"
253 command="export -d ${CVSBUILDTEMP}"
254 tag="${REVISION}"
255 package="${CVSMODULE}"
256 />
257 <!-- it would be IDEAL to use the ant target here.
258 BUT, it would need to use it's OWN properties.
259 exec is a poor substitute.
260 no idea about windows compatibility. -->
261 <exec executable="ant" dir="${CVSBUILDTEMP}">
262 <arg value="fetch"/>
263 </exec>
264 <exec executable="ant" dir="${CVSBUILDTEMP}">
265 <arg value="package"/>
266 </exec>
267 <copy file="${CVSBUILDTEMP}/build/${TARGZFILE}"
268 tofile="${BUILDDIR}/${ARCNAME}-${REVISION}${TARGZEXT}"/>
269 <copy file="${CVSBUILDTEMP}/build/${ZIPFILE}"
270 tofile="${BUILDDIR}/${ARCNAME}-${REVISION}${ZIPEXT}"/>
271 <!-- should we be overwriting any old util jar here? -->
272 </target>
273
274 </project>