ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/projects/cms/source/server/build.xml
Revision: 1.12.2.1
Committed: Mon Feb 4 00:14:13 2002 UTC (22 years, 9 months ago) by tdb
Content type: text/xml
Branch: SERVER_PIRCBOT
Changes since 1.12: +6 -1 lines
Log Message:
Integration of PircBot into i-scream as a replacement for the internal IRC
code that was put together in a hurry. PircBot makes the code much neater,
and ensures that the IRC interactivity is nicely seperated from the main
i-scream code.

PircBot is maintained by Paul, an i-scream developer also, at
http://www.jibble.org.

Changes so far are mostly to move the existing features to the new
structure provided by PircBot. It is still very much in development, and
is very messy :)

File Contents

# User Rev Content
1 tdb 1.10 <!-- build file for i-scream CMS server -->
2 tdb 1.12.2.1 <!-- $Id: build.xml,v 1.12 2002/02/02 19:40:38 tdb Exp $ -->
3 tdb 1.9
4 tdb 1.5 <project name="iscream-server" default="usage">
5 tdb 1.1
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 tdb 1.5 Usage
23 tdb 1.1 =====================================================
24     -->
25    
26 tdb 1.5 <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 tdb 1.8
33 tdb 1.5 idl - generate java source from IDL
34     build - compile all source code
35     package - generate JAR package and distributions
36     packageutil - generate UTIL JAR package
37 tdb 1.8
38     cvsbuild - build from cvs tag
39     use -Drev=TAG switch to specify cvs tag
40    
41 tdb 1.5 javadoc - generate javadoc API
42 tdb 1.8 install - install server
43     use -Dprefix=/path/ switch to specify dest
44     run - run the server
45    
46 tdb 1.5 clean - clean all generated files
47     distclean - remove 'fetched' libraries + clean
48 tdb 1.9
49     Recommend to run the following target order:
50    
51     fetch packageutil package javadoc install
52 tdb 1.5 </echo>
53 tdb 1.2 </target>
54    
55 tdb 1.5 <target name="help">
56     <antcall target="usage"/>
57 tdb 1.4 </target>
58    
59 tdb 1.2 <!--
60     =====================================================
61     Fetch required libraries (not in dependency tree)
62     =====================================================
63     -->
64    
65     <!-- this uses static names, which is messy -->
66 tdb 1.9 <!-- distclean target has same problem -->
67 tdb 1.5 <target name="fetch" depends="config">
68 tdb 1.2 <get
69 tdb 1.3 src="${LIBURL}/crimson.jar"
70 tdb 1.2 dest="${LIBDIR}/crimson.jar"
71     verbose="true" usetimestamp="true"
72     />
73     <get
74 tdb 1.3 src="${LIBURL}/idl.jar"
75 tdb 1.2 dest="${LIBDIR}/idl.jar"
76     verbose="true" usetimestamp="true"
77     />
78     <get
79 tdb 1.3 src="${LIBURL}/jacorb.jar"
80 tdb 1.2 dest="${LIBDIR}/jacorb.jar"
81     verbose="true" usetimestamp="true"
82     />
83     <get
84 tdb 1.3 src="${LIBURL}/jaxp.jar"
85 tdb 1.2 dest="${LIBDIR}/jaxp.jar"
86     verbose="true" usetimestamp="true"
87     />
88     <get
89 tdb 1.12 src="${LIBURL}/mm.mysql-2.0.11-bin.jar"
90     dest="${LIBDIR}/mm.mysql-2.0.11-bin.jar"
91 tdb 1.12.2.1 verbose="true" usetimestamp="true"
92     />
93     <get
94     src="${LIBURL}/pircbot.jar"
95     dest="${LIBDIR}/pircbot.jar"
96 tdb 1.2 verbose="true" usetimestamp="true"
97     />
98     <!-- also get jacorb.properties? -->
99     </target>
100    
101 tdb 1.1 <!--
102     =====================================================
103     IDL Generation
104     =====================================================
105     -->
106    
107     <!-- generate java code from idl files -->
108 tdb 1.5 <target name="idl" depends="config">
109 tdb 1.1 <echo message="Generating Java source from IDL"/>
110     <java classname="${IDLPARSER}">
111 tdb 1.11 <arg line="-sloppy_names -d ${IDLDIR} ${IDLFILE}"/>
112 tdb 1.1 <classpath path="${IDLPARSERJAR}"/>
113     </java>
114     </target>
115    
116     <!--
117     =====================================================
118     Source code compilation (including idl-generated)
119     =====================================================
120     -->
121    
122 tdb 1.5 <target name="buildidl" depends="idl">
123 tdb 1.1 <javac
124     srcdir="${IDLDIR}"
125     destdir="${BUILDDIR}"
126     classpath="${JCCLASSPATH}"
127     includes="uk/**/*.java"
128     debug="${JCDEBUG}"
129     optimize="${JCOPTIM}"
130     deprecation="${JCDEPRE}"
131     />
132     </target>
133    
134 tdb 1.5 <target name="build" depends="buildidl">
135 tdb 1.1 <javac
136     srcdir="${SOURCEROOT}"
137     destdir="${BUILDDIR}"
138     classpath="${JCCLASSPATH}"
139     includes="uk/**/*.java"
140     debug="${JCDEBUG}"
141     optimize="${JCOPTIM}"
142     deprecation="${JCDEPRE}"
143     />
144     </target>
145    
146     <!--
147     =====================================================
148     Package creation
149     =====================================================
150     -->
151    
152 tdb 1.5 <target name="makejar" depends="build">
153 tdb 1.1 <echo file="${BUILDDIR}/MANIFEST_TMP"
154     >Manifest-Version: 1.0
155     Created-By: www.i-scream.org.uk
156     Main-Class: ${MFMAINCLASS}
157     Class-Path: ${MFCLPATH}
158     </echo>
159     <jar
160     jarfile="${BUILDDIR}/${SERVERJAR}"
161     basedir="${BUILDDIR}"
162     includes="uk/**/*.class"
163     manifest="${BUILDDIR}/MANIFEST_TMP"
164     />
165     <delete file="${BUILDDIR}/MANIFEST_TMP"/>
166     </target>
167    
168     <target name="maketardist" depends="makejar">
169     <tar
170     longfile="fail"
171     basedir="${BUILDDIR}"
172     tarfile="${BUILDDIR}/${TARFILE}"
173     includes="${SERVERJAR}, run.sh, lib/**, etc/**, README"
174     />
175     <gzip src="${BUILDDIR}/${TARFILE}" zipfile="${BUILDDIR}/${TARGZFILE}"/>
176     <delete file="${BUILDDIR}/${TARFILE}"/>
177     </target>
178    
179     <target name="makezipdist" depends="makejar">
180     <zip
181     basedir="${BUILDDIR}"
182     zipfile="${BUILDDIR}/${ZIPFILE}"
183     includes="${SERVERJAR}, run.bat, lib/**, etc/**, README"
184     />
185     </target>
186    
187 tdb 1.5 <target name="package" depends="maketardist, makezipdist"/>
188 tdb 1.1
189     <!--
190     =====================================================
191     Cleaning
192     =====================================================
193     -->
194    
195 tdb 1.5 <target name="clean" depends="config">
196 tdb 1.1 <delete dir="${IDLDIR}/${ROOTPKG}"/>
197     <delete dir="${BUILDDIR}/${ROOTPKG}"/>
198 tdb 1.4 <delete dir="${JDOCDIR}"/>
199 tdb 1.8 <delete dir="${CVSBUILDTEMP}"/>
200     <delete>
201     <fileset dir="${BUILDDIR}">
202     <include name="${SERVERJAR}"/>
203     <include name="${UTILJAR}"/>
204     <include name="${ARCNAME}*${TAREXT}"/>
205     <include name="${ARCNAME}*${TARGZEXT}"/>
206     <include name="${ARCNAME}*${ZIPEXT}"/>
207     </fileset>
208     </delete>
209 tdb 1.2 </target>
210    
211 tdb 1.5 <target name="distclean" depends="clean">
212 tdb 1.2 <!-- this is messy, we should only delete specific jars -->
213     <delete>
214     <fileset dir="${LIBDIR}" includes="*.jar"/>
215     </delete>
216     </target>
217    
218     <!--
219     =====================================================
220 tdb 1.5 Running
221 tdb 1.2 =====================================================
222     -->
223    
224 tdb 1.4 <!-- is this really the best way to do this? no... -->
225 tdb 1.5 <target name="run" depends="config">
226 tdb 1.2 <java classname="${MFMAINCLASS}" dir="${BUILDDIR}" fork="yes">
227     <arg line="-f ${RUNFILTERNAME}"/>
228     <classpath path="${BUILDDIR}/${SERVERJAR}"/>
229     </java>
230 tdb 1.4 </target>
231    
232     <!--
233     =====================================================
234 tdb 1.5 Javadoc
235 tdb 1.4 =====================================================
236     -->
237    
238 tdb 1.5 <target name="javadoc" depends="config, idl">
239 tdb 1.4 <mkdir dir="${JDOCDIR}"/>
240     <!-- link in here requires a live net link! -->
241     <javadoc
242     packagenames="${JDOCPKGS}"
243     destdir="${JDOCDIR}"
244     classpath="${JCCLASSPATH}"
245     author="true"
246     version="true"
247     private="true"
248     use="true"
249     windowtitle="${JDOCTITLE}"
250     header="${JDOCHEADER}"
251     bottom="${JDOCBOTTOM}"
252     link="${JDOCJAPI}"
253     >
254     <!-- need to do idl generated source too -->
255     <sourcepath>
256     <pathelement path="${SOURCEROOT}"/>
257     <pathelement path="${IDLDIR}"/>
258     </sourcepath>
259     </javadoc>
260 tdb 1.5 </target>
261    
262     <!--
263     =====================================================
264     Util Package
265     =====================================================
266     -->
267    
268     <!-- MUST clean here to ensure util package is tidy -->
269     <target name="buildutil" depends="config, clean">
270     <javac
271     srcdir="${SOURCEROOT}"
272     destdir="${BUILDDIR}"
273     classpath="${JCCLASSPATH}"
274     includes="${UTILSRC}"
275     debug="${JCDEBUG}"
276     optimize="${JCOPTIM}"
277     deprecation="${JCDEPRE}"
278     />
279     </target>
280    
281     <target name="packageutil" depends="buildutil">
282     <jar
283     jarfile="${BUILDDIR}/${UTILJAR}"
284     basedir="${BUILDDIR}"
285     includes="uk/**/*.class"
286     />
287 tdb 1.7 </target>
288    
289     <!--
290     =====================================================
291     Install
292     =====================================================
293     -->
294    
295     <target name="install" depends="config, makejar">
296     <mkdir dir="${INSTALLDEST}"/>
297     <mkdir dir="${INSTALLDEST}/etc"/>
298     <mkdir dir="${INSTALLDEST}/lib"/>
299     <copy file="${BUILDDIR}/${SERVERJAR}" todir="${INSTALLDEST}"/>
300     <copy file="${BUILDDIR}/run.sh" todir="${INSTALLDEST}"/>
301     <copy file="${BUILDDIR}/run.bat" todir="${INSTALLDEST}"/>
302     <copy todir="${INSTALLDEST}/lib" >
303     <fileset dir="${LIBDIR}">
304     <include name="**/*.jar"/>
305     <exclude name="**/CVS/*"/>
306     </fileset>
307     </copy>
308     <copy todir="${INSTALLDEST}/etc" >
309     <fileset dir="${BUILDDIR}/etc">
310     <include name="**/*"/>
311     <exclude name="**/CVS/*"/>
312     </fileset>
313     </copy>
314     <copy file="${BUILDDIR}/README" todir="${INSTALLDEST}"/>
315 tdb 1.8 </target>
316    
317     <!--
318     =====================================================
319     CVS Build
320     =====================================================
321     -->
322    
323     <target name="cvsbuild" depends="config">
324     <mkdir dir="${CVSBUILDTEMP}"/>
325     <cvs
326     cvsRoot="${CVSROOT}"
327     command="export -d ${CVSBUILDTEMP}"
328     tag="${REVISION}"
329     package="${CVSMODULE}"
330     />
331     <!-- it would be IDEAL to use the ant target here.
332     BUT, it would need to use it's OWN properties.
333     exec is a poor substitute.
334     no idea about windows compatibility. -->
335     <exec executable="ant" dir="${CVSBUILDTEMP}">
336     <arg value="fetch"/>
337     </exec>
338     <exec executable="ant" dir="${CVSBUILDTEMP}">
339     <arg value="packageutil"/>
340     </exec>
341     <exec executable="ant" dir="${CVSBUILDTEMP}">
342     <arg value="package"/>
343     </exec>
344     <copy file="${CVSBUILDTEMP}/build/${TARGZFILE}"
345     tofile="${BUILDDIR}/${ARCNAME}-${REVISION}${TARGZEXT}"/>
346     <copy file="${CVSBUILDTEMP}/build/${ZIPFILE}"
347     tofile="${BUILDDIR}/${ARCNAME}-${REVISION}${ZIPEXT}"/>
348     <!-- should we be overwriting any old util jar here? -->
349     <copy file="${CVSBUILDTEMP}/build/${UTILJAR}" todir="${BUILDDIR}"/>
350 tdb 1.1 </target>
351    
352     </project>