ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/projects/cms/source/server/build.xml
Revision: 1.2
Committed: Mon May 14 02:43:23 2001 UTC (23 years, 7 months ago) by tdb
Content type: text/xml
Branch: MAIN
Changes since 1.1: +70 -2 lines
Log Message:
Some more additions. Not entirely happy with either really. I'd like to be able
to specify the "library list" in the config file, and then use this in both the
distclean and fetch. Also need to drop the "shortcut" targets. Finally, the run
target works, but is far from satisfactory - much better to run manually.

File Contents

# User Rev Content
1 tdb 1.1 <!-- build file for server -->
2     <project name="iscream-server" default="package">
3    
4     <!--
5     TODO:
6     build/jar util package
7     install target
8     cvs version build (including cleanup)
9     javadoc
10     sql table generation
11     -->
12    
13     <!--
14     =====================================================
15     Initialisation & Configuration
16     =====================================================
17     -->
18    
19     <property name="SOURCEROOT" value="${basedir}"/>
20     <property name="CONFIGFILE" value="build.config"/>
21    
22     <target name="config">
23     <echo message="Reading build configuration"/>
24     <property file="${CONFIGFILE}"/>
25     </target>
26    
27     <!--
28     =====================================================
29     Main targets (shortcuts essentially)
30     =====================================================
31     -->
32    
33 tdb 1.2 <target name="fetch">
34     <antcall target="getlibs"/>
35     </target>
36    
37 tdb 1.1 <target name="idl">
38     <antcall target="genidl"/>
39     </target>
40    
41     <target name="build">
42     <antcall target="compile"/>
43     </target>
44    
45     <target name="package">
46     <antcall target="makedist"/>
47     </target>
48    
49 tdb 1.2 <target name="run">
50     <antcall target="runserver"/>
51     </target>
52    
53 tdb 1.1 <target name="clean">
54     <antcall target="cleanup"/>
55     </target>
56    
57 tdb 1.2 <target name="distclean">
58     <antcall target="fullcleanup"/>
59     </target>
60    
61     <!--
62     =====================================================
63     Fetch required libraries (not in dependency tree)
64     =====================================================
65     -->
66    
67     <!-- this uses static names, which is messy -->
68     <!-- fullcleanup target has same problem -->
69     <target name="getlibs" depends="config">
70     <get
71     src="http://killigrew.ukc.ac.uk/crimson.jar"
72     dest="${LIBDIR}/crimson.jar"
73     verbose="true" usetimestamp="true"
74     />
75     <get
76     src="http://killigrew.ukc.ac.uk/idl.jar"
77     dest="${LIBDIR}/idl.jar"
78     verbose="true" usetimestamp="true"
79     />
80     <get
81     src="http://killigrew.ukc.ac.uk/jacorb.jar"
82     dest="${LIBDIR}/jacorb.jar"
83     verbose="true" usetimestamp="true"
84     />
85     <get
86     src="http://killigrew.ukc.ac.uk/jaxp.jar"
87     dest="${LIBDIR}/jaxp.jar"
88     verbose="true" usetimestamp="true"
89     />
90     <get
91     src="http://killigrew.ukc.ac.uk/mm.mysql-2.0.4-bin.jar"
92     dest="${LIBDIR}/mm.mysql-2.0.4-bin.jar"
93     verbose="true" usetimestamp="true"
94     />
95     <!-- also get jacorb.properties? -->
96     </target>
97    
98 tdb 1.1 <!--
99     =====================================================
100     IDL Generation
101     =====================================================
102     -->
103    
104     <!-- generate java code from idl files -->
105     <target name="genidl" depends="config">
106     <echo message="Generating Java source from IDL"/>
107     <java classname="${IDLPARSER}">
108     <arg line="-d ${IDLDIR} ${IDLFILE}"/>
109     <classpath path="${IDLPARSERJAR}"/>
110     </java>
111     </target>
112    
113     <!--
114     =====================================================
115     Source code compilation (including idl-generated)
116     =====================================================
117     -->
118    
119     <target name="compileidl" depends="genidl">
120     <javac
121     srcdir="${IDLDIR}"
122     destdir="${BUILDDIR}"
123     classpath="${JCCLASSPATH}"
124     includes="uk/**/*.java"
125     debug="${JCDEBUG}"
126     optimize="${JCOPTIM}"
127     deprecation="${JCDEPRE}"
128     />
129     </target>
130    
131     <target name="compile" depends="compileidl">
132     <javac
133     srcdir="${SOURCEROOT}"
134     destdir="${BUILDDIR}"
135     classpath="${JCCLASSPATH}"
136     includes="uk/**/*.java"
137     debug="${JCDEBUG}"
138     optimize="${JCOPTIM}"
139     deprecation="${JCDEPRE}"
140     />
141     </target>
142    
143     <!--
144     =====================================================
145     Package creation
146     =====================================================
147     -->
148    
149     <target name="makejar" depends="compile">
150     <echo file="${BUILDDIR}/MANIFEST_TMP"
151     >Manifest-Version: 1.0
152     Created-By: www.i-scream.org.uk
153     Main-Class: ${MFMAINCLASS}
154     Class-Path: ${MFCLPATH}
155     </echo>
156     <jar
157     jarfile="${BUILDDIR}/${SERVERJAR}"
158     basedir="${BUILDDIR}"
159     includes="uk/**/*.class"
160     manifest="${BUILDDIR}/MANIFEST_TMP"
161     />
162     <delete file="${BUILDDIR}/MANIFEST_TMP"/>
163     </target>
164    
165     <target name="maketardist" depends="makejar">
166     <tar
167     longfile="fail"
168     basedir="${BUILDDIR}"
169     tarfile="${BUILDDIR}/${TARFILE}"
170     includes="${SERVERJAR}, run.sh, lib/**, etc/**, README"
171     />
172     <gzip src="${BUILDDIR}/${TARFILE}" zipfile="${BUILDDIR}/${TARGZFILE}"/>
173     <delete file="${BUILDDIR}/${TARFILE}"/>
174     </target>
175    
176     <target name="makezipdist" depends="makejar">
177     <zip
178     basedir="${BUILDDIR}"
179     zipfile="${BUILDDIR}/${ZIPFILE}"
180     includes="${SERVERJAR}, run.bat, lib/**, etc/**, README"
181     />
182     </target>
183    
184     <target name="makedist" depends="maketardist, makezipdist"/>
185    
186     <!--
187     =====================================================
188     Cleaning
189     =====================================================
190     -->
191    
192     <target name="cleanup" depends="config">
193     <delete dir="${IDLDIR}/${ROOTPKG}"/>
194     <delete dir="${BUILDDIR}/${ROOTPKG}"/>
195     <delete file="${BUILDDIR}/${SERVERJAR}"/>
196     <delete file="${BUILDDIR}/${TARFILE}"/>
197     <delete file="${BUILDDIR}/${TARGZFILE}"/>
198     <delete file="${BUILDDIR}/${ZIPFILE}"/>
199 tdb 1.2 </target>
200    
201     <target name="fullcleanup" depends="cleanup">
202     <!-- this is messy, we should only delete specific jars -->
203     <delete>
204     <fileset dir="${LIBDIR}" includes="*.jar"/>
205     </delete>
206     </target>
207    
208     <!--
209     =====================================================
210     Running (not in dependency tree)
211     =====================================================
212     -->
213    
214     <!-- is this really the best way to do this? -->
215     <target name="runserver" depends="config">
216     <java classname="${MFMAINCLASS}" dir="${BUILDDIR}" fork="yes">
217     <arg line="-f ${RUNFILTERNAME}"/>
218     <classpath path="${BUILDDIR}/${SERVERJAR}"/>
219     </java>
220 tdb 1.1 </target>
221    
222     </project>