2 <project name="bob" default="usage" basedir=".">
\r
5 <!-- <property name="build.sysclasspath" value="last" />
\r
7 <property name="ant.build.javac.target" value="1.5" />
\r
11 <path id="bob.classpath" >
\r
13 <fileset dir="${java.home}/lib" >
\r
14 <include name="*.jar"/>
\r
16 <pathelement path="templates/" />
\r
17 <pathelement path="build/bootstrap" />
\r
18 <pathelement path="build/src" />
\r
19 <pathelement path="build/gen" />
\r
20 <pathelement path="build/test" />
\r
21 <pathelement path="templates/" />
\r
22 <pathelement path="test/xml/" />
\r
23 <pathelement path="lib/" />
\r
24 <pathelement path="." />
\r
25 <fileset dir="lib/">
\r
26 <include name="*.jar" />
\r
27 <include name="*.properties" />
\r
33 <path id="run.classpath" >
\r
36 <pathelement path="build/bob.jar" />
\r
37 <pathelement path="bob.jar" />
\r
39 <pathelement path="templates" />
\r
40 <pathelement path="build/src" />
\r
41 <pathelement path="build/gen" />
\r
42 <pathelement path="lib" />
\r
44 <include name="*.jar" />
\r
45 <include name="*.properties" />
\r
47 <fileset dir="${java.home}/lib" >
\r
48 <include name="*.jar"/>
\r
53 <target name="usage">
\r
55 <echo message="BOBJava build targets..."/>
\r
58 <echo message="init"/>
\r
59 <echo message="clean"/>
\r
62 <echo message="bootstrap-src"/>
\r
63 <echo message="bootstrap-gen"/>
\r
64 <echo message="bootstrap-compile"/>
\r
67 <echo message="compile-src"/>
\r
68 <echo message="compile-tests"/>
\r
69 <echo message="compile-all"/>
\r
70 <echo message="compile-gen"/>
\r
73 <echo message="release"/>
\r
74 <echo message="run-gen"/>
\r
75 <echo message="run-cc"/>
\r
76 <echo message="run-docs"/>
\r
77 <echo message="run-gendocs"/>
\r
78 <echo message="run-tests"/>
\r
79 <echo message="run-test"/>
\r
83 <!-- =============================== -->
\r
84 <!-- TASK DEFINITIONS -->
\r
85 <!-- =============================== -->
\r
86 <taskdef name="if" classpathref="bob.classpath" classname="ise.antelope.tasks.IfTask"/>
\r
87 <taskdef name="sablecc" classpathref="bob.classpath" classname="org.sablecc.ant.taskdef.Sablecc"/>
\r
90 <!-- =============================== -->
\r
91 <!-- INITIALIZE THE BUILD PROCESS -->
\r
92 <!-- =============================== -->
\r
93 <target name="init" >
\r
94 <loadproperties srcFile="build.properties" />
\r
99 <!-- =============================== -->
\r
100 <!-- CLEAN OUT THE BUILD FILES -->
\r
101 <!-- =============================== -->
\r
102 <target name="clean">
\r
103 <delete dir="build" />
\r
104 <delete dir="gen" />
\r
105 <delete dir="bootstrap" />
\r
109 <!-- =============================== -->
\r
110 <!-- COMPILE targets -->
\r
111 <!-- =============================== -->
\r
112 <target name="compile-all" depends="init,compile-src,compile-tests"/>
\r
115 <!-- <target name="bootstrap-src" depends="bootstrap-gen">
\r
117 <echo message="BOOTSTRAPPING SOURCE..."/>
\r
118 <mkdir dir="${dir.build}/src"/>
\r
119 <javac srcdir="${dir.src}"
\r
120 destdir="${dir.build}/src"
\r
121 classpathref="bob.classpath"
\r
124 <!- <exclude name="com/interrupt/bob/core/**"/>
\r
131 <target name="bootstrap-gen" depends="init">
\r
134 <echo message="BOOTSTRAP COMPILING 'Main'..."/>
\r
135 <mkdir dir="${dir.build}/src"/>
\r
136 <javac srcdir="${dir.src}"
\r
137 destdir="${dir.build}/src"
\r
138 classpathref="bob.classpath"
\r
144 <echo message="" />
\r
145 <echo message="" />
\r
146 <echo message="BOOTSTRAP GENERATING 'Bob' Core..."/>
\r
147 <java classname="com.interrupt.bob.Main" classpathref="bob.classpath" fork="yes" >
\r
149 <arg line="-gen ${dir.bootstrap} -base . -end .xml -def ${bootstrap.files} -sys ${bootstrap.files}" />
\r
154 <target name="bootstrap-compile" depends="bootstrap-gen">
\r
156 <echo message="COMPILING BOOTSTRAP SOURCE"/>
\r
157 <mkdir dir="${dir.build}/bootstrap" />
\r
158 <javac srcdir="${dir.bootstrap}" destdir="${dir.build}/bootstrap" debug="true"
\r
159 classpathref="bob.classpath" fork="yes" deprecation="on" nowarn="on" />
\r
164 <target name="compile-src" depends="bootstrap-compile">
\r
166 <echo message="COMPILING JAVA SOURCE"/>
\r
167 <!--<mkdir dir="${dir.build}/src"/>
\r
169 <javac srcdir="${dir.src}/" destdir="${dir.build}/src" debug="true"
\r
170 classpathref="bob.classpath" fork="yes" deprecation="on" nowarn="on" />
\r
175 <target name="compile-tests" depends="init,compile-src,compile-gen">
\r
177 <echo message="COMPILING JAVA TESTS"/>
\r
178 <mkdir dir="${dir.build}/test"/>
\r
179 <javac srcdir="${dir.test.src}" destdir="${dir.build}/test"
\r
180 classpathref="bob.classpath" fork="yes" deprecation="on" nowarn="on" />
\r
184 <target name="compile-gen" depends="init, run-gen, run-cc">
\r
186 <echo message="COMPILING GEN SOURCE"/>
\r
187 <mkdir dir="${dir.build}/gen"/>
\r
188 <javac srcdir="gen" destdir="${dir.build}/gen"
\r
189 classpathref="bob.classpath" fork="yes" deprecation="on" nowarn="on" />
\r
190 <copy todir="${dir.build}/gen">
\r
191 <fileset dir="gen" includes="**/*.dat"/>
\r
197 <!-- =============================== -->
\r
199 <!-- =============================== -->
\r
200 <target name="release" depends="compile-gen, compile-src" >
\r
201 <jar destfile="${dir.build}/bob.jar" includes="velocity.properties">
\r
203 <fileset dir="${dir.build}/gen">
\r
204 <include name="com/interrupt/bob/core/**/*.class"/>
\r
205 <include name="com/interrupt/bob/handler/**/*.class"/>
\r
208 <fileset dir="${dir.build}/src"/>
\r
209 <fileset file="lib/velocity.properties" />
\r
210 <fileset dir="templates/" />
\r
215 <!-- =============================== -->
\r
216 <!-- RUN TARGETS -->
\r
217 <!-- =============================== -->
\r
218 <target name="predicate-run" >
\r
220 <available file="gen/" property="genExists" />
\r
221 <if name="genExists">
\r
223 <mkdir dir="gen" />
\r
228 <target name="run-cc" depends="init, predicate-run">
\r
230 <available file="gen/com/interrupt/cc/xpath" property="ccExists" />
\r
231 <if name="ccExists">
\r
233 <sablecc src="cc" outputdirectory="gen" includes="*.sablecc" />
\r
238 <target name="run-gen" depends="init, predicate-run" >
\r
240 <available file="gen/com/interrupt/bob" property="bobExists" />
\r
241 <if name="bobExists">
\r
243 <java classname="com.interrupt.bob.Main" classpathref="bob.classpath" fork="yes" >
\r
244 <arg line="-gen ${gen.dir} -base . -end .xml -def ${all.files} -sys ${all.files}" />
\r
250 <target name="run-docs" depends="compile-gen" >
\r
252 <javadoc destdir="doc/api"
\r
253 windowtitle="BOB API"
\r
254 sourcepath="src/:gen/"
\r
255 classpathref="bob.classpath" >
\r
257 <package name="com.interrupt.bob" />
\r
258 <package name="com.interrupt.bob.base" />
\r
259 <package name="com.interrupt.bob.generator" />
\r
260 <package name="com.interrupt.bob.handler" />
\r
261 <package name="com.interrupt.bob.processor" />
\r
262 <package name="com.interrupt.bob.util" />
\r
263 <package name="com.interrupt.callback" />
\r
267 <target name="run-gendocs" depends="run-gen" >
\r
269 <javadoc destdir="${gen.dir}/doc"
\r
270 windowtitle="Generated API"
\r
271 packagenames="${gen.packages}"
\r
272 sourcepath="${gen.dir}"
\r
273 classpathref="bob.classpath" >
\r
278 <target name="run-tests" depends="compile-tests" >
\r
280 <echo message="RUNNING UNIT TESTS in directory: ${dir.test.src}"/>
\r
281 <java classname="junit.textui.TestRunner" classpathref="bob.classpath" fork="yes" >
\r
282 <arg line="-Dbob.base=. -Dbob.end=.xml -Dbob.def=${all.files}" />
\r
283 <arg value="com.interrupt.bob.AllTests" />
\r
287 <target name="run-test" depends="compile-tests" >
\r
289 <echo message="RUNNING a single UNIT TEST in directory: ${dir.test.src}"/>
\r
290 <java classname="junit.textui.TestRunner" classpathref="bob.classpath" fork="yes" >
\r
291 <arg line="-Dbob.base=. -Dbob.end=.xml -Dbob.def=${all.files}" />
\r
292 <arg value="com.interrupt.bob.TestBob" />
\r
296 <target name='run-class' depends="init" >
\r
298 <java classname="com.interrupt.bob.base.Bob" classpathref="bob.classpath" fork="yes" >
\r
299 <arg line="-Dbob.base=. -Dbob.end=.xml -Dbob.def=${all.files}" />
\r