source: trunk/abcl/build.xml @ 12430

Last change on this file since 12430 was 12430, checked in by Mark Evenson, 12 years ago

Lisp compilation no longer writes build to temporary file.

The way to not confuse ABCL under Windows that pathnames starting in a
drive letter are not Lisp packages is solved by using the
'inputstring' attribute to the <java> task.

  • Property svn:eol-style set to LF
File size: 24.8 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<project xmlns="antlib:org.apache.tools.ant"
3   name="abcl-master" default="abcl.wrapper" basedir=".">
4    <description>Compiling, testing, and packaging Armed Bear Common Lisp</description>
5
6    <target name="abcl" depends="abcl.wrapper"/>
7 
8    <target name="help">
9      <echo>
10Main Ant targets:
11
12 abcl.wrapper
13   -- [default] create executable wrapper for ABCL.
14 abcl.compile 
15   -- compile ABCL to ${build.classes.dir}.
16 abcl.jar     
17   -- create packaged ${abcl.jar.path}.
18 abcl.source.zip abcl.source.tar
19   -- create source distributions in ${dist.dir}.
20 abcl.clean
21   -- remove ABCL intermediate files
22      </echo>
23
24      <echo>
25For help on the automatic tests available, use the Ant target 'help.test'.
26      </echo>
27    </target>
28
29    <!-- Behavior of the build system can be customized via setting
30         properties in the 'build.properties' file. -->
31    <property file="build.properties"/>
32
33    <property name="build.dir" 
34        value="${basedir}/build"/>
35    <property name="build.classes.dir" 
36        value="${build.dir}/classes"/>
37    <property name="src.dir" 
38        value="${basedir}/src"/>
39    <property name="dist.dir" 
40        value="${basedir}/dist"/>
41    <property name="abcl.jar.path"
42        value="${dist.dir}/abcl.jar"/>
43    <property name="abcl.ext.dir"
44        value="${basedir}/ext"/>
45
46    <fail message="Please build using Ant 1.7.1 or higher.">
47        <condition>
48            <not>
49                <antversion atleast="1.7.1"/>
50            </not>
51        </condition>
52    </fail>
53
54    <!-- Checks if JSR-223 support is available - thanks to Mark Evenson -->
55    <available property="abcl.jsr-223.p"
56         classname="javax.script.ScriptEngine"/>
57
58    <patternset id="abcl.source.java">
59      <include name="org/armedbear/lisp/*.java"/>
60      <include name="org/armedbear/lisp/util/*.java"/>
61      <include name="org/armedbear/lisp/java/**/*.java"/>
62      <include name="org/armedbear/lisp/scripting/*.java" if="abcl.jsr-223.p"/>
63      <include name="org/armedbear/lisp/scripting/util/*.java" if="abcl.jsr-223.p"/>
64      <include name="org/armedbear/Main.java"/>
65    </patternset>
66
67    <patternset id="abcl.source.lisp">
68      <include name="org/armedbear/lisp/*.lisp"/>
69      <include name="org/armedbear/lisp/java/**/*.lisp"/>
70      <include name="org/armedbear/lisp/tests/*.lisp"/>
71      <exclude name="org/armedbear/lisp/j.lisp"/>
72      <include name="org/armedbear/lisp/scripting/lisp/*.lisp" if="abcl.jsr-223.p"/>
73    </patternset>
74
75    <!-- Lisp files required at runtime -->
76    <patternset id="abcl.source.lisp.dist">
77      <include name="org/armedbear/lisp/boot.lisp"/>
78      <include name="org/armedbear/lisp/scripting/lisp/*.lisp" if="abcl.jsr-223.p"/>
79      <include name="**/*.lisp" if="abcl.compile.lisp.skip"/>
80    </patternset>
81
82    <patternset id="abcl.objects">
83      <include name="org/armedbear/lisp/**/*.class"/>
84      <include name="org/armedbear/lisp/**/*.cls"/> 
85      <include name="org/armedbear/lisp/**/*.abcl"/>
86      <include name="org/armedbear/lisp/scripting/*.class" if="abcl.jsr-223.p"/>
87      <include name="org/armedbear/lisp/scripting/util/*.class" if="abcl.jsr-223.p"/>
88      <patternset refid="abcl.source.lisp.dist"/>
89    </patternset>
90   
91    <path id="abcl.classpath.dist">
92      <pathelement location="${abcl.jar.path}"/>
93    </path>
94   
95    <path id="abcl.classpath.build">
96      <pathelement location="${build.classes.dir}"/>
97    </path>
98
99    <target name="abcl.compile" depends="abcl.clean.maybe,abcl.compile.lisp">
100      <echo>Compiled ABCL with Java version: ${java.version}</echo>
101    </target>
102   
103    <target name="abcl.clean.maybe" unless="abcl.build.incremental">
104      <echo>Cleaning all intermediate compilation artifacts.</echo>
105      <echo>Setting 'abcl.build.incremental' enables incremental compilation.</echo>
106      <antcall target="abcl.clean"/>
107    </target>
108     
109
110    <target name="abcl.init">
111      <tstamp>
112  <format property="build" pattern="EEE MMM dd yyyy HH:mm:ss zzz"/>
113      </tstamp>
114
115      <tstamp>
116  <format property="build.stamp" pattern="yyyymmdd-HHmm"/>
117      </tstamp>
118
119      <property name="abcl.test.log.file"
120    value="abcl-test-${build.stamp}.log"/>
121
122      <property name="java.path"
123    value="${java.home}/bin/java"/>
124
125      <!-- Deprecated. Two main types of build environents: 'unix' or 'windows'. -->
126      <condition property="unix"> 
127  <or>
128    <os family="unix"/>
129    <os family="mac"/>
130  </or>
131      </condition>
132      <condition property="windows"> 
133  <os family="windows"/>
134      </condition>
135
136      <!-- Deprecated. -->
137      <available file="${src.dir}org/armedbear/lisp/Interpreter.java" 
138     property="abcl.lisp.p"/>
139
140      <echo>java.version: ${java.version}</echo>
141      <condition property="abcl.java.version.p">
142  <or>
143    <matches string="${java.version}" pattern="1\.5"/>
144    <matches string="${java.version}" pattern="1\.6\.0_1[0-9]"/>
145  </or> 
146      </condition>
147
148      <!-- Set from commandline via -D or in 'build.properties' -->
149      <property name="build.version" value="abcl.svn"/>
150      <echo>Implementation-Source: ${version.src}</echo>
151
152    </target>
153   
154    <target name="abcl.java.warning" 
155      depends="abcl.init"
156      unless="abcl.java.version.p">
157      <echo>WARNING: Use of Java version ${java.version} not recommended.</echo>
158    </target>
159 
160    <target name="abcl.jsr-223.notice"
161      depends="abcl.init"
162      unless="abcl.jsr-223.p">
163      <echo>
164  Notice: JSR-223 support won't be built since it is not
165          supported, neither natively by your JVM nor by
166    libraries in the CLASSPATH.
167      </echo>
168    </target>
169
170    <target name="abcl.compile.java" 
171      depends="abcl.init,abcl.java.warning,abcl.jsr-223.notice">
172      <mkdir dir="${build.dir}"/>
173      <mkdir dir="${build.classes.dir}"/>
174      <javac destdir="${build.classes.dir}"
175       debug="true"
176       target="1.5"
177       failonerror="true">
178  <src path="${src.dir}"/>
179  <patternset refid="abcl.source.java"/>
180      </javac>
181      <echo message="${build}" 
182      file="${build.classes.dir}/org/armedbear/lisp/build"/>
183    </target>
184
185    <target name="abcl.copy.lisp">
186      <copy todir="${build.classes.dir}" preservelastmodified="yes">
187  <fileset dir="${src.dir}">
188          <patternset refid="abcl.source.lisp.dist"/>
189  </fileset>
190      </copy>
191    </target>
192
193    <!-- Adjust the patternset for ABCL source to use the much faster
194         Ant 'uptodate' task to check if we need to compile the system
195         fasls.  Highly inter-dependent with the behavior specified in
196         'compile-system.lisp', i.e. files not listed in
197         there should NOT occur here. -->
198    <patternset id="abcl.source.lisp.fasls">
199      <patternset refid="abcl.source.lisp"/>
200      <exclude name="org/armedbear/lisp/scripting/**/*.lisp"/>
201      <exclude name="org/armedbear/lisp/boot.lisp"/>
202      <exclude name="org/armedbear/lisp/emacs.lisp"/>
203      <exclude name="org/armedbear/lisp/runtime-class.lisp"/>
204      <exclude name="org/armedbear/lisp/run-benchmarks.lisp"/>
205    </patternset>
206
207    <target name="abcl.fasls.uptodate">
208      <uptodate property="abcl.fasls.uptodate.p" value="true">
209  <srcfiles dir="${src.dir}">
210    <patternset refid="abcl.source.lisp.fasls"/>
211  </srcfiles>
212  <mapper type="glob" from="*.lisp" to="${build.classes.dir}/*.abcl"/>
213      </uptodate>
214    </target>
215
216    <path id="abcl.home.dir.path">
217        <path location="${src.dir}/org/armedbear/lisp/"/>
218    </path>         
219    <pathconvert property="abcl.home.dir" refid="abcl.home.dir.path"/>
220
221    <path id="abcl.lisp.output.path"
222          location="${build.classes.dir}/org/armedbear/lisp/"/>
223    <pathconvert dirsep="/" property="abcl.lisp.output" refid="abcl.lisp.output.path"/>
224   
225    <target name="abcl.compile.lisp" 
226      depends="abcl.copy.lisp,abcl.compile.java,abcl.fasls.uptodate"
227      unless="abcl.fasls.uptodate.p">
228      <java classpath="${build.classes.dir}" 
229      fork="true"
230      failonerror="true"
231      inputstring="(compile-system :zip nil :quit t :output-path &quot;${abcl.lisp.output}/&quot;)'"
232      classname="org.armedbear.lisp.Main">
233        <jvmarg value="-Dabcl.home=${abcl.home.dir}${file.separator}"/>
234  <arg value="--noinit"/>
235      </java>
236    </target>
237
238    <property name="abcl.build.path"
239        value="${build.classes.dir}/org/armedbear/lisp/build"/>
240    <target name="abcl.stamp" depends="abcl.compile,abcl.stamp.version,abcl.stamp.hostname">
241      <mkdir dir="${abcl.build.path}/.."/>
242      <echo message="${build}" file="${abcl.build.path}"/>   
243    </target>
244
245    <property name="abcl.home.dir"
246              value="${src.dir}/org/armedbear/lisp/"/>
247    <property name="abcl.version.path"
248        value="${build.classes.dir}/org/armedbear/lisp/version"/>
249    <target name="abcl.stamp.version" depends="abcl.compile.java"  >
250      <java fork="true"
251      classpath="${build.classes.dir}"
252      outputproperty="abcl.version"
253      classname="org.armedbear.lisp.Version"
254            logerror="yes"/> <!-- Don't catch stderr output -->
255
256      <echo>ABCL version: ${abcl.version}</echo>
257      <mkdir dir="${abcl.version.path}/.."/>
258      <echo message="${abcl.version}" file="${abcl.version.path}"/> 
259    </target>
260
261    <target name="abcl.stamp.hostname" if="unix">
262      <exec executable="hostname" outputproperty="abcl.hostname"/>
263      <echo>abcl.hostname: ${abcl.hostname}</echo>
264    </target>
265
266    <target name="abcl.jar.uptodate" depends="abcl.compile">
267      <uptodate property="abcl.jar.uptodate.p" targetfile="${abcl.jar.path}">
268        <srcfiles dir="${build.classes.dir}">
269          <patternset refid="abcl.objects"/>
270        </srcfiles>
271      </uptodate>
272    </target>
273
274    <target name="abcl.jar" depends="abcl.stamp,abcl.jar.uptodate"
275      unless="abcl.jar.uptodate.p">
276      <mkdir dir="${dist.dir}"/>
277      <loadfile property="abcl.version"
278      srcFile="${abcl.version.path}"/>
279      <jar destfile="${abcl.jar.path}"
280     compress="true"
281     basedir="${build.classes.dir}">
282  <patternset refid="abcl.objects"/>
283  <manifest>
284    <attribute name="Main-Class" value="org.armedbear.lisp.Main"/>
285    <section name="org/armedbear/lisp">
286      <attribute name="Implementation-Title" 
287           value="ABCL"/>
288      <attribute name="Implementation-Version" 
289           value="${abcl.version}"/>
290      <attribute name="Implementation-Build" 
291           value="${build}"/>
292      <attribute name="Implementation-Source" 
293           value="${version.src}"/>
294    </section>
295  </manifest>
296  <metainf dir="${src.dir}/META-INF"> 
297    <exclude name="services/javax.script.ScriptEngineFactory"
298       unless="abcl.jsr-223.p"/>
299        </metainf>
300      </jar>
301    </target>
302   
303    <target name="abcl.wrapper" 
304      depends="abcl.jar,abcl.wrapper.unix,abcl.wrapper.windows">
305      <description>
306  Creates in-place exectuable shell wrapper in '${abcl.wrapper.file}'
307      </description>
308      <!-- Set from commandline or in 'build.properties' -->
309      <property name="additional.jars" value=""/>
310      <path id="abcl.runtime.classpath">
311  <pathelement location="${abcl.jar.path}"/>
312  <pathelement path="${additional.jars}"/>
313      </path>
314      <!-- set via '-Djava.options=JAVA_OPTIONS' or in 'build.properties -->
315      <property name="java.options" value=""/>
316
317      <copy file="${abcl.wrapper.in.file}" toFile="${abcl.wrapper.file}" overwrite="yes">
318  <filterset>
319    <filter token="JAVA" 
320      value="${java.path}"/>
321    <filter token="ABCL_JAVA_OPTIONS" 
322      value="${java.options}"/>
323    <filter token="ABCL_CLASSPATH"
324      value="${toString:abcl.runtime.classpath}"/>
325  </filterset>
326      </copy>
327      <chmod file="${abcl.wrapper.file}" perm="a+x"/>
328
329      <echo>Created executable ABCL wrapper in '${abcl.wrapper.file}'</echo>
330      <echo>N.B. This wrapper requires '${abcl.jar.path}' not be moved.</echo>
331    </target>
332
333    <target name="abcl.wrapper.unix" if="unix">
334      <property name="abcl.wrapper.file" value="abcl"/>
335      <property name="abcl.wrapper.in.file" value="abcl.in"/>
336    </target>
337
338    <target name="abcl.wrapper.windows" if="windows">
339      <property name="abcl.wrapper.file" value="abcl.bat"/>
340      <property name="abcl.wrapper.in.file" value="abcl.bat.in"/>
341    </target>
342
343    <target name="abcl.debug.jpda" depends="abcl.jar">
344      <description>Invoke ABCL with JPDA listener on port 6789</description>
345      <java fork="true"
346      classpathref="abcl.classpath.dist"
347      classname="org.armedbear.lisp.Main">
348  <jvmarg 
349      value="-agentlib:jdwp=transport=dt_socket,address=6789,server=y"/>
350      </java>
351      <echo>JPDA listening on localhost:6789</echo>
352    </target>
353
354    <target name="abcl.run" depends="abcl.jar">
355      <java fork="true"
356      classpathref="abcl.classpath.dist"
357      classname="org.armedbear.lisp.Main">
358      </java>
359    </target>
360
361    <target name="abcl.clean">
362      <delete dir="${build.dir}"/>
363      <delete file="${abcl.jar.path}"/>
364      <delete file="abcl"/>
365      <delete file="abcl.bat"/>
366    </target>
367
368    <target name="abcl.dist" depends="abcl.jar">
369      <copy file="${abcl.jar.path}"
370      toFile="${dist.dir}/abcl-${abcl.version}.jar"/>
371    </target>
372
373    <target name="abcl.distclean" depends="abcl.clean">
374      <delete dir="${dist.dir}"/>
375      <delete file="abcl"/>
376      <delete file="abcl.bat"/>
377    </target>
378
379    <target name="TAGS">
380      <apply executable="etags" parallel="true" verbose="true">
381  <arg value="--regex=|[ \t]+//[ \t]+###[ \t]+\([^ \t]+\)|\1|"/>
382  <fileset dir="${src.dir}">
383    <patternset refid="abcl.source.java"/>
384    <patternset refid="abcl.source.lisp"/>
385  </fileset>
386      </apply>
387    </target>
388
389    <patternset id="abcl.dist.misc"
390    description="Additional includes in the source distributions relative to basedir">
391      <include name="build.xml"/>
392      <include name="build.properties.in"/>
393      <include name="COPYING"/>
394      <include name="README"/>
395      <include name="CHANGES"/>
396      <include name="abcl.in"/>
397      <include name="abcl.bat.in"/>
398     
399      <!-- The remainder of these files are used by the Lisp hosted
400           build in 'build-abcl.lisp' but not used by Ant, so include
401           them in the source distribution. -->
402      <include name="make-jar.in"/>
403      <include name="make-jar.bat.in"/>
404
405      <include name="build-abcl.lisp"/>
406      <include name="customizations.lisp.in"/>
407
408    </patternset>
409
410    <patternset 
411        id="abcl.source.misc"
412        description="Additional includes in the source distribution relative to source root">
413      <include name="org/armedbear/lisp/LICENSE"/>
414      <include name="manifest-abcl"/>
415      <include name="META-INF/services/javax.script.ScriptEngineFactory"/>
416    </patternset>
417
418    <target name="abcl.source.prepare" depends="abcl.stamp.version">
419      <property name="abcl.build.src.dir"
420    value="${build.dir}/abcl-src-${abcl.version}"/>
421      <mkdir dir="${abcl.build.src.dir}/src"/>
422      <copy todir="${abcl.build.src.dir}/src"
423            preservelastmodified="true">
424        <fileset dir="${src.dir}"
425                 id="abcl.source.src">
426            <patternset refid="abcl.source.java"/>
427            <patternset refid="abcl.source.lisp"/>
428            <patternset refid="abcl.source.misc"/>
429        </fileset>
430      </copy>
431      <copy todir="${abcl.build.src.dir}"
432            preservelastmodified="true">
433        <fileset dir="${basedir}">
434            <patternset refid="abcl.dist.misc"/>
435        </fileset>
436      </copy>
437    </target>
438
439    <!--  Files in source distribution that always get LF EOL (aka
440         'unix') -->   
441    <patternset id="abcl.dist.lf">
442      <include name="abcl.in"/>
443    </patternset>
444
445    <!--  Files in source distribution that always get CRLF EOL (aka
446         'dos') -->   
447    <patternset id="abcl.dist.crlf">
448      <include name="abcl.bat.in"/>
449    </patternset>
450
451    <target name="abcl.source.tar" depends="abcl.source.prepare">
452      <fixcrlf srcdir="${abcl.build.src.dir}"
453               preservelastmodified="true"
454               eol="lf">
455      </fixcrlf>
456
457      <fixcrlf srcdir="${abcl.build.src.dir}"
458               preservelastmodified="true"
459               eol="crlf">
460          <patternset refid="abcl.dist.crlf"/>
461      </fixcrlf>
462
463      <fixcrlf srcdir="${abcl.build.src.dir}"
464               preservelastmodified="true"
465               eol="lf">
466          <patternset refid="abcl.dist.lf"/>
467      </fixcrlf>
468
469      <mkdir dir="${dist.dir}"/>
470      <tar destfile="${dist.dir}/abcl-src-${abcl.version}.tar.gz"
471     compression="gzip">
472  <tarfileset dir="${build.dir}">
473    <include name="abcl-src-${abcl.version}/**"/>
474  </tarfileset>
475      </tar>
476    </target>
477
478    <target name="abcl.source.zip" depends="abcl.source.prepare">
479      <fixcrlf srcdir="${abcl.build.src.dir}"
480               preservelastmodified="true"
481               eol="crlf">
482      </fixcrlf>
483
484      <fixcrlf srcdir="${abcl.build.src.dir}"
485               preservelastmodified="true"
486               eol="crlf">
487          <patternset refid="abcl.dist.crlf"/>
488      </fixcrlf>
489
490      <fixcrlf srcdir="${abcl.build.src.dir}"
491               preservelastmodified="true"
492               eol="lf">
493          <patternset refid="abcl.dist.lf"/>
494      </fixcrlf>
495
496      <mkdir dir="${dist.dir}"/>
497      <zip destfile="${dist.dir}/abcl-src-${abcl.version}.zip"
498     compress="true">
499  <zipfileset dir="${abcl.build.src.dir}" prefix="abcl-src-${abcl.version}"/>
500      </zip>
501    </target>
502   
503    <target name="abcl.binary.prepare" depends="abcl.jar,abcl.stamp.version">
504      <property name="abcl.build.binary.dir"
505                value="${build.dir}/abcl-bin-${abcl.version}"/>
506      <mkdir dir="${abcl.build.binary.dir}"/>
507      <copy todir="${abcl.build.binary.dir}"
508            preservelastmodified="true">
509        <fileset dir="${basedir}/dist">
510          <patternset>
511            <include name="abcl.jar"/>
512          </patternset>
513        </fileset>
514        <fileset dir="${basedir}">
515          <patternset>
516            <include name="README"/>
517            <include name="CHANGES"/>
518          </patternset>
519        </fileset>
520      </copy>
521    </target>
522
523    <target name="abcl.binary.tar" depends="abcl.binary.prepare">
524      <tar destfile="${dist.dir}/abcl-bin-${abcl.version}.tar.gz"
525           compression="gzip">
526        <tarfileset dir="${build.dir}">
527          <include name="abcl-bin-${abcl.version}/**"/>
528          </tarfileset>
529      </tar>
530    </target>
531
532    <target name="abcl.binary.zip" depends="abcl.binary.prepare">
533      <zip destfile="${dist.dir}/abcl-bin-${abcl.version}.zip"
534           compress="true">
535        <zipfileset dir="${abcl.build.binary.dir}" prefix="abcl-bin-${abcl.version}"/>
536      </zip>
537    </target>
538
539    <target name="help.test">
540      <echo>
541The following Ant targets run various test suites:
542 
543  abcl.test
544    --  Run all available tests.
545  abcl.test.java
546    --  Run the ABCL junit Java tests under ${basedir}/test/src
547  abcl.test.lisp
548    --  Run the 'test.ansi.compiled', 'test.abcl', 'test.cl-bench' targets
549  test.ansi.compiled
550    --  Run the compiled version of the ANSI test suite
551  test.abcl
552    --  Run the Lisp RT tests collected in ${basedir}/test/lisp/abcl
553  test.cl-bench
554    --  Run the cl-bench test suite.
555
556The ANSI tests require that the [ansi-tests][1] be manually installed in
557${basedir}/../ansi-tests.
558
559[1]: svn://common-lisp.net/project/ansi-test/svn/trunk/ansi-tests
560
561The CL-BENCH test require that [cl-bench][2] be maunally installed in
562${basedir}/../cl-bench
563
564[2]: http://www.chez.com/emarsden/downloads/cl-bench.tar.gz
565      </echo>
566    </target>
567
568    <property name="abcl.test.classes.dir"
569        value="${build.dir}/classes-test"/>
570
571    <property name="abcl.test.src.dir"
572        value="${basedir}/test/src"/>
573
574    <patternset id="abcl.test.source.java">
575      <!-- For now, we list tests explicitly, because we have to
576           enumerate them later to the JUnit test runner. -->
577      <include name="org/armedbear/lisp/*.java"/>
578    </patternset>
579
580    <property name="junit.path"
581        value="${abcl.ext.dir}/junit-4.8.1.jar"/>
582
583
584    <path id="abcl.test.compile.classpath">
585      <pathelement location="${junit.path}"/>
586      <pathelement location="${build.classes.dir}"/>
587    </path>
588
589    <target name="abcl.test.pre-compile" depends="abcl.ext"/>
590
591    <target name="abcl.ext.p">
592      <!--XXX generalize over enumeration of all contributions to
593           abcl.ext if we get more of them.  -->
594      <available file="${junit.path}" property="abcl.ext.p"/>
595    </target>
596    <target name="abcl.ext" depends="abcl.ext.p" unless="abcl.ext.p">
597
598      <mkdir dir="${abcl.ext.dir}"/>
599      <get 
600          src="http://cloud.github.com/downloads/KentBeck/junit/junit-4.8.1.jar"
601          usetimestamp="true"
602          dest="${junit.path}"/>
603    </target>
604 
605    <target name="abcl.test.compile" 
606      depends="abcl.test.pre-compile">
607      <mkdir dir="${abcl.test.classes.dir}"/>
608      <javac destdir="${abcl.test.classes.dir}"
609       classpathref="abcl.test.compile.classpath"
610       debug="true"
611       target="1.5">
612  <src path="${abcl.test.src.dir}"/>
613  <patternset refid="abcl.test.source.java"/>
614      </javac>
615    </target>
616
617    <path id="abcl.test.run.classpath">
618      <path refid="abcl.test.compile.classpath"/>
619      <pathelement location="${abcl.test.classes.dir}"/>
620    </path>
621
622    <target name="abcl.test" 
623      depends="abcl.test.java,abcl.test.lisp"/>
624 
625    <target name="abcl.test.java" depends="abcl.test.compile">
626      <java fork="true"
627      classpathref="abcl.test.run.classpath"
628      classname="org.junit.runner.JUnitCore">
629  <arg value="org.armedbear.lisp.FastStringBufferTest"/>
630        <arg value="org.armedbear.lisp.PathnameTest"/>
631        <arg value="org.armedbear.lisp.StreamTest"/>
632      </java>
633    </target>
634
635    <target name="abcl.test.lisp" 
636      depends="test.ansi.compiled,test.abcl,test.cl-bench"/>
637
638    <target name="test.ansi.interpreted" depends="abcl.jar">
639      <echo>Recording test output in ${abcl.test.log.file}.</echo>
640      <record name="${abcl.test.log.file}" emacsmode="true" action="start" append="yes"/>
641      <java fork="true" dir="${basedir}"
642      classpathref="abcl.classpath.dist"
643      classname="org.armedbear.lisp.Main">
644  <arg value="--noinit"/> 
645  <arg value="--eval"/><arg value="(require (quote asdf))"/>
646  <arg value="--eval"/><arg value="(asdf:operate (quote asdf:load-op) :abcl)"/>
647  <arg value="--eval"/><arg value="(asdf:operate (quote asdf:test-op) :ansi-interpreted)"/>
648        <arg value="--eval"/><arg value="(ext:exit)"/>
649      </java>
650      <record name="${abcl.test.log.file}" emacsmode="true" action="stop"/>
651      <echo>Finished recording test output in ${abcl.test.log.file}.</echo>
652    </target>
653
654    <target name="test.ansi.compiled" depends="abcl.jar">
655      <echo>Recording test output in ${abcl.test.log.file}.</echo>
656      <record name="${abcl.test.log.file}" emacsmode="true" action="start" append="yes"/>
657      <java fork="true" dir="${basedir}"
658      classpathref="abcl.classpath.dist"
659      classname="org.armedbear.lisp.Main">
660  <arg value="--noinit"/> 
661  <arg value="--eval"/><arg value="(require (quote asdf))"/>
662  <arg value="--eval"/><arg value="(asdf:operate (quote asdf:load-op) :abcl)"/>
663  <arg value="--eval"/><arg value="(asdf:operate (quote asdf:test-op) :ansi-compiled)"/>
664        <arg value="--eval"/><arg value="(ext:exit)"/>
665      </java>
666      <record name="${abcl.test.log.file}" emacsmode="true" action="stop"/>
667      <echo>Finished recording test output in ${abcl.test.log.file}.</echo>
668    </target>
669
670    <target name="test.abcl" depends="abcl.jar">
671      <echo>Recording test output in ${abcl.test.log.file}.</echo>
672      <record name="${abcl.test.log.file}" emacsmode="true" action="start" append="yes"/>
673      <java fork="true" dir="${basedir}"
674      classpathref="abcl.classpath.dist"
675      classname="org.armedbear.lisp.Main">
676  <arg value="--noinit"/> 
677  <arg value="--eval"/><arg value="(require (quote asdf))"/>
678  <arg value="--eval"/><arg value="(asdf:operate (quote asdf:load-op) :abcl)"/>
679  <arg value="--eval"/><arg value="(asdf:operate (quote asdf:test-op) :abcl-test-lisp)"/>
680        <arg value="--eval"/><arg value="(ext:exit)"/>
681      </java>
682      <record name="${abcl.test.log.file}" emacsmode="true" action="stop"/>
683      <echo>Finished recording test output in ${abcl.test.log.file}.</echo>
684    </target>
685
686    <target name="test.cl-bench" depends="abcl.jar">
687      <echo>Recording test output in ${abcl.test.log.file}.</echo>
688      <record name="${abcl.test.log.file}" emacsmode="true" action="start" append="yes"/>
689      <java fork="true" dir="${basedir}"
690      classpathref="abcl.classpath.dist"
691      classname="org.armedbear.lisp.Main">
692  <arg value="--noinit"/> 
693  <arg value="--eval"/><arg value="(require (quote asdf))"/>
694  <arg value="--eval"/><arg value="(asdf:operate (quote asdf:load-op) :abcl)"/>
695  <arg value="--eval"/><arg value="(asdf:operate (quote asdf:test-op) :cl-bench)"/>
696        <arg value="--eval"/><arg value="(ext:exit)"/>
697      </java>
698      <record name="${abcl.test.log.file}" emacsmode="true" action="stop"/>
699      <echo>Finished recording test output in ${abcl.test.log.file}.</echo>
700    </target>
701   
702    <target name="abcl.release" 
703            depends="abcl.binary.tar,abcl.source.tar,abcl.binary.zip,abcl.source.zip">
704      <copy file="${abcl.jar.path}"
705            tofile="${dist.dir}/abcl-${abcl.version}.jar"/>
706    </target>
707
708    <import file="netbeans-build.xml" optional="true"/> 
709<!--    <import file="j-build.xml" optional="true"/>  -->
710    <import file="not.org-build.xml" optional="true"/> 
711</project>
712
713
714
715
Note: See TracBrowser for help on using the repository browser.