source: tags/1.6.1/build.xml

Last change on this file was 15259, checked in by Mark Evenson, 4 years ago

build: support abcl.properties creation openjdk{6,7,8,11,13,14}

Additionally add test for openjdk14 to the Travis-CI build.

Improve script for creating build properties, which may be invoked
like:

bash ci/create-abcl-properties.bash openjdk8

Currently this script has baked-in "knowledge" of options for various
platforms for now, but will eventually directly transcribe from the
"facts" in <file:abcl.rdf>.

  • * *

Update RDF

  • Property svn:eol-style set to LF
File size: 44.9 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,abcl-contrib.jar"/>
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 'abcl.properties' file. -->
31    <property file="abcl.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-aio.jar.path"
44              value="${dist.dir}/abcl-aio.jar"/>
45    <property name="abcl.ext.dir"
46              value="${basedir}/ext"/>
47
48    <property name="abcl.runtime.jar.path"
49              value="${abcl.jar.path}"/>
50
51    <!-- TODO verify me -->
52    <fail message="Please build using Ant 1.7.1 or higher.">
53        <condition>
54            <not>
55                <antversion atleast="1.7.1"/>
56            </not>
57        </condition>
58    </fail>
59
60    <!-- Deprecated.  Checks if JSR-223 support is available.  Should always be true.  Unused.  D -->
61    <available property="abcl.jsr-223.p"
62               classname="javax.script.ScriptEngine"/>
63
64    <patternset id="abcl.source.java">
65      <include name="org/armedbear/lisp/*.java"/>
66      <include name="org/armedbear/lisp/util/*.java"/>
67      <include name="org/armedbear/lisp/protocol/*.java"/>
68      <include name="org/armedbear/lisp/java/**/*.java"/>
69      <include name="org/armedbear/lisp/scripting/*.java" />
70      <include name="org/armedbear/lisp/scripting/util/*.java" />
71      <include name="org/armedbear/Main.java"/>
72      <include name="org/abcl/**/*.java"/>
73    </patternset>
74
75    <patternset id="abcl.source.lisp">
76      <include name="org/armedbear/lisp/*.lisp"/>
77      <include name="org/armedbear/lisp/java/**/*.lisp"/>
78      <include name="org/armedbear/lisp/tests/*.lisp"/>
79      <exclude name="org/armedbear/lisp/j.lisp"/>
80      <include name="org/armedbear/lisp/scripting/lisp/*.lisp"/>
81    </patternset>
82   
83    <!-- Lisp files required at runtime -->
84    <patternset id="abcl.source.lisp.dist">
85      <include name="org/armedbear/lisp/boot.lisp"/>
86      <include name="org/armedbear/lisp/scripting/lisp/*.lisp" />
87      <include if="abcl.compile.lisp.skip"
88               name="**/*.lisp" />
89    </patternset>
90
91    <patternset id="abcl.objects">
92      <!-- "system.lisp" is dynamically created by COMPILE-fSYSTEM -->
93      <include name="org/armedbear/lisp/system.lisp"/> 
94      <include name="org/armedbear/lisp/**/*.class"/>
95      <include name="org/armedbear/lisp/**/*.cls"/> 
96      <include name="org/armedbear/lisp/**/*.abcl"/>
97      <include name="org/abcl/util/*.class"/>
98      <include name="org/armedbear/lisp/version"/>
99      <include name="org/armedbear/lisp/scripting/*.class"/>
100      <include name="org/armedbear/lisp/scripting/util/*.class"/>
101      <patternset refid="abcl.source.lisp.dist"/>
102      <include name="abcl.rdf"/>
103      <include name="abcl.asd"/>
104      <include name="README"/>
105      <include name="build.xml"/>
106      <include name="abcl.properties.in"/>
107      <include name="abcl.in"/>
108      <include name="abcl.bat.in"/>
109    </patternset>
110   
111    <path id="abcl.classpath.dist">
112      <pathelement location="${abcl.jar.path}"/>
113    </path>
114   
115    <path id="abcl.classpath.build">
116      <pathelement location="${build.classes.dir}"/>
117    </path>
118
119    <target name="abcl.compile" depends="abcl.clean.maybe,abcl.compile.lisp">
120      <echo>Compiled ABCL with Java version: ${java.version}</echo>
121    </target>
122
123    <target name="abcl.clean.maybe" unless="abcl.build.incremental">
124      <echo>Cleaning all intermediate compilation artifacts.</echo>
125      <echo>Setting 'abcl.build.incremental' enables incremental compilation.</echo>
126      <antcall target="abcl.clean"/>
127    </target>
128
129    <target name="abcl.init">
130      <tstamp>
131        <format property="build" pattern="EEE MMM dd yyyy HH:mm:ss zzz"/>
132      </tstamp>
133
134      <tstamp>
135        <format property="build.stamp" pattern="yyyymmdd-HHmm"/>
136      </tstamp>
137
138      <property name="abcl.test.log.file"
139                value="abcl-test-${build.stamp}.log"/>
140
141      <property name="java.path"
142                value="${java.home}/bin/java"/>
143
144      <!-- Deprecated. Two main types of build environents: 'unix' or 'windows'. -->
145      <condition property="unix"> 
146        <or>
147          <os family="unix"/>
148          <os family="mac"/>
149        </or>
150      </condition>
151      <condition property="windows"> 
152        <os family="windows"/>
153      </condition>
154
155      <!-- Deprecated. -->
156      <available file="${src.dir}org/armedbear/lisp/Interpreter.java" 
157                 property="abcl.lisp.p"/>
158
159      <echo>java.version: ${java.version}</echo>
160      <condition property="abcl.java.version.p">
161        <!-- Unsupported as of abcl-1.5.0 due to lack of open jdk
162          <matches string="${java.version}"
163                   pattern="1\.5"/>
164          -->
165          <or>
166          <!-- Don't use 1.6.0_09 or earlier. -->
167          <matches string="${java.version}" 
168                   pattern="1\.6\.0_[1-9][0-9]"/>
169          <!-- 1.7.0_04 works much better. -->
170          <matches string="${java.version}" 
171                   pattern="1\.7\.0_(0[4-9])|([1-9][0-9])"/>
172          <matches string="${java.version}" 
173                   pattern="1\.8\.0"/>
174        </or> 
175      </condition>
176
177    </target>
178   
179    <target name="abcl.java.warning" 
180            depends="abcl.init"
181            unless="abcl.java.version.p">
182      <echo>WARNING: Use of Java version ${java.version} not recommended.</echo>
183    </target>
184
185    <!-- Deprecated.  JSR-223 is always present -->
186    <target name="abcl.jsr-223.notice"
187            depends="abcl.init"
188            unless="abcl.jsr-223.p">
189      <echo>
190        Notice: JSR-223 support won't be built since it is not
191                supported, neither natively by your JVM nor by
192                libraries in the CLASSPATH.
193      </echo>
194    </target>
195
196    <!-- For compiling beyond openjdk11, one needs to increment these values in <file:abcl.properties> -->
197    <property name="abcl.javac.target"
198              value="1.6"/>
199    <property name="abcl.javac.source"
200              value="1.6"/>
201
202    <target name="abcl.compile.java" 
203            depends="abcl.init,abcl.java.warning">
204      <mkdir dir="${build.dir}"/>
205      <mkdir dir="${build.classes.dir}"/>
206      <javac destdir="${build.classes.dir}"
207             debug="true"
208             target="${abcl.javac.target}"
209             source="${abcl.javac.source}"
210             includeantruntime="false"
211             encoding="UTF-8"
212             failonerror="true">
213        <src path="${src.dir}"/>
214        <patternset refid="abcl.source.java"/>
215      </javac>
216    </target>
217
218    <!-- Additional artifacts to stage relative to Ant ${basedir} -->
219    <patternset id="abcl.stage">
220      <include name="README"/>
221      <include name="COPYING"/>
222      <include name="abcl.rdf"/>
223      <include name="abcl.asd"/> 
224      <include name="build.xml"/>
225      <include name="abcl.properties.in"/> <!--TODO: massage into abcl.properties at build-time -->
226      <include name="abcl.in"/>
227      <include name="abcl.bat.in"/>
228      <include name="etc/ant/*.xml"/>
229    </patternset>
230
231    <target name="abcl.stage"
232      depends="abcl.copy.lisp">
233      <copy todir="${build.classes.dir}" preservelastmodified="yes"
234            verbose="true">
235  <fileset dir="${basedir}/">
236    <patternset refid="abcl.stage"/>
237  </fileset>
238      </copy>
239    </target>
240   
241    <target name="abcl.copy.lisp">
242      <copy todir="${build.classes.dir}" preservelastmodified="yes">
243        <fileset dir="${src.dir}">
244          <patternset refid="abcl.source.lisp.dist"/>
245        </fileset>
246      </copy>
247    </target>
248
249    <!-- Adjust the patternset for ABCL source to use the much faster
250         Ant 'uptodate' task to check if we need to compile the system
251         fasls.  Highly inter-dependent with the behavior specified in
252         'compile-system.lisp', i.e. files not listed in
253         there should NOT occur here. -->
254    <patternset id="abcl.source.lisp.fasls">
255      <patternset refid="abcl.source.lisp"/>
256      <exclude name="org/armedbear/lisp/scripting/**/*.lisp"/>
257      <exclude name="org/armedbear/lisp/boot.lisp"/>
258      <exclude name="org/armedbear/lisp/emacs.lisp"/>
259      <exclude name="org/armedbear/lisp/run-benchmarks.lisp"/>
260    </patternset>
261
262    <target name="abcl.fasls.uptodate">
263      <uptodate property="abcl.fasls.uptodate.p" value="true">
264        <srcfiles dir="${src.dir}">
265          <patternset refid="abcl.source.lisp.fasls"/>
266        </srcfiles>
267        <mapper type="glob" from="*.lisp" to="${build.classes.dir}/*.abcl"/>
268      </uptodate>
269    </target>
270
271    <path id="abcl.home.dir.path">
272        <path location="${src.dir}/org/armedbear/lisp/"/>
273    </path>         
274    <pathconvert property="abcl.home.dir" refid="abcl.home.dir.path"/>
275
276    <path id="abcl.lisp.output.path"
277          location="${build.classes.dir}/org/armedbear/lisp/"/>
278    <pathconvert dirsep="/" property="abcl.lisp.output" refid="abcl.lisp.output.path"/>
279
280    <property name="system.lisp.file" 
281              value="${build.classes.dir}/org/armedbear/lisp/system.lisp"/>
282
283    <target name="abcl.compile.lisp" 
284            depends="abcl.stage,abcl.compile.java,abcl.system.update.maybe,abcl.fasls.uptodate"
285            unless="abcl.fasls.uptodate.p">
286      <abcl.compile.lisp/>
287    </target>
288
289    <macrodef name="abcl.compile.lisp">
290      <element name="additional.jvmarg" optional="true"/>
291      <sequential>
292        <echo>
293Compiling Lisp system
294from ${abcl.home.dir}
295 to  ${abcl.lisp.output}</echo>
296 
297     <!-- Not good if ${abcl.home.dir} == ${abcl.lisp.output} -->
298     <delete>
299       <fileset dir="${abcl.home.dir}" includes="**/*.abcl **/*.cls **/*._"/>
300     </delete>
301     <java classpath="${build.classes.dir}" 
302            fork="true"
303            failonerror="true"
304            inputstring="(handler-case (compile-system :zip nil :quit t :output-path &quot;${abcl.lisp.output}/&quot;) (t (x) (progn (format t &quot;~A: ~A~%&quot; (type-of x) x) (exit :status -1))))"
305            classname="org.armedbear.lisp.Main">
306        <jvmarg value="-Dabcl.home=${abcl.home.dir}${file.separator}"/>
307        <jvmarg value="-Dabcl.autoload.verbose=Y"/>
308        <additional.jvmarg/>
309        <arg value="--noinit"/>
310        <arg value="--nosystem"/>
311        <arg value="--eval"/>
312        <arg value="(setf *load-verbose* t)"/>
313      </java>
314      <concat destfile="${system.lisp.file}" append="true">
315        <fileset file="${abcl.startup.file}"/>
316      </concat>
317        </sequential>
318    </macrodef>
319
320    <property name="abcl.compile.lisp.debug.jvmarg"
321              value="-agentlib:jdwp=transport=dt_socket,server=y,address=6789,suspend=y"/>
322    <target name="abcl.compile.lisp.debug" 
323            depends="abcl.stage,abcl.compile.java,abcl.system.update.maybe,abcl.fasls.uptodate"
324            unless="abcl.fasls.uptodate.p">
325      <echo>Debugging with jvmarg ${abcl.compile.lisp.debug.jvmarg}</echo>
326      <abcl.compile.lisp> 
327          <additional.jvmarg>
328            <jvmarg value="${abcl.compile.lisp.debug.jvmarg}"/>
329          </additional.jvmarg>
330      </abcl.compile.lisp>
331    </target>
332
333    <property name="abcl.build.path"
334              value="${build.classes.dir}/org/armedbear/lisp/build"/>
335    <target name="abcl.stamp" 
336            depends="abcl.compile,abcl.stamp.version,abcl.stamp.hostname">
337      <mkdir dir="${abcl.build.path}/.."/>
338      <loadfile property="abcl.version"
339                srcFile="${abcl.version.path}"/>
340      <echo message="${build}" file="${abcl.build.path}"/>   
341    </target>
342
343
344    <!-- Environment variables may be accessed as ${env.NAME} -->
345    <property environment="env"/>
346
347    <!-- Can we derive an SVN version from the current build tree? -->
348    <condition property="abcl.version.svn.p">
349      <and>
350        <available
351            file="${basedir}/.svn"
352            type="dir"/>
353        <or>
354            <available
355                file="svnversion.exe"
356                filepath="${env.Path}"/>
357            <available
358                file="svnversion.exe"
359                filepath="${env.PATH}"/>
360             <available
361                file="svnversion"
362                filepath="${env.Path}"/>
363            <available
364                file="svnversion"
365                filepath="${env.PATH}"/>
366        </or>
367      </and>
368    </condition>
369
370    <target name="abcl.version.src" depends="abcl.version.src.3"/>
371
372    <target name="abcl.version.src.0" if="windows">
373      <exec
374          executable="svnversion.exe"
375          outputproperty="abcl.version.svn.raw"
376          failifexecutionfails="false"
377          searchpath="true" />
378    </target>
379
380    <target name="abcl.version.src.1" depends="abcl.version.src.0">
381      <exec 
382          executable="svnversion"
383          outputproperty="abcl.version.svn.raw"
384          failifexecutionfails="false"
385          searchpath="true" />
386    </target>
387
388    <target name="abcl.version.src.2" 
389            depends="abcl.version.src.1"
390            if="abcl.version.svn.p">
391
392      <!-- Transform all occurances of ":" ==> "-" in the version string -->
393      <tempfile property="version-tmp.path"/>
394      <echo message="${abcl.version.svn.raw}"
395            file="${version-tmp.path}"/>
396      <replace file="${version-tmp.path}"
397               token=":" value="-"/>
398      <loadfile property="abcl.version.svn" srcFile="${version-tmp.path}"/>
399      <delete file="${version-tmp.path}"/>
400
401      <echo>abcl.version.svn: ${abcl.version.svn}</echo>
402      <property name="abcl.version.src"
403                value="svn-${abcl.version.svn}"/>
404    </target>
405
406    <target name="abcl.version.src.3"
407            depends="abcl.version.src.2"
408            unless="abcl.version.svn.p">
409      <property name="abcl.version.src"
410                value=""/>
411    </target>
412
413    <property name="abcl.home.dir"
414              value="${src.dir}/org/armedbear/lisp/"/>
415    <property name="abcl.version.path"
416              value="${build.classes.dir}/org/armedbear/lisp/version"/>
417
418    <target name="abcl.clean.version">
419      <delete file="${abcl.version.path}"/>
420    </target>
421
422    <target name="abcl.stamp.version.uptodate">
423      <uptodate property="abcl.stamp.version.uptodate.p" 
424                targetfile="${abcl.version.path}"
425                srcfile="${build.classes.dir}/org/armedbear/lisp/Version.class"/>
426    </target>
427
428    <target name="abcl.stamp.version" 
429            depends="abcl.version.src,abcl.stamp.version.1,abcl.stamp.version.2"
430            unless="abcl.stamp.version.uptodate.p">
431      <mkdir dir="${abcl.version.path}/.."/>
432      <echo>ABCL implementation version: ${abcl.implementation.version}</echo>
433      <echo file="${abcl.version.path}">${abcl.implementation.version}</echo>
434    </target>
435   
436    <target name="abcl.stamp.version.generate" 
437            depends="abcl.compile.java"
438            unless="abcl.stamp.version.uptodate.p">
439      <java fork="true"
440            classpath="${build.classes.dir}"
441            outputproperty="abcl.version"
442            classname="org.armedbear.lisp.Version"
443            logerror="yes"/> <!-- Don't catch stderr output -->
444    </target>
445
446    <target name="abcl.stamp.version.0" 
447            depends="abcl.stamp.version.uptodate,abcl.stamp.version.generate">
448    </target>
449
450    <target name="abcl.stamp.version.1"
451            depends="abcl.stamp.version.0"
452            unless="abcl.version.svn.p">
453      <property name="abcl.implementation.version"
454                value="${abcl.version}"/>
455    </target>
456
457    <target name="abcl.stamp.version.2" 
458            depends="abcl.stamp.version.0"
459            if="abcl.version.svn.p">
460      <property name="abcl.implementation.version"
461                value="${abcl.version}-${abcl.version.src}"/>
462    </target>
463
464    <target name="abcl.stamp.hostname" if="unix">
465      <exec executable="hostname" outputproperty="abcl.hostname"/>
466      <echo>abcl.hostname: ${abcl.hostname}</echo>
467    </target>
468
469    <target name="abcl.system.uptodate">
470      <condition property="abcl.system.needs-update.p">
471        <and>
472          <available file="${system.lisp.file}"/>
473          <available file="${abcl.startup.file}"/>
474          <uptodate
475                srcfile="${system.lisp.file}"
476                targetfile="${abcl.startup.file}"/>
477        </and>
478      </condition>
479    </target>
480   
481    <target name="abcl.system.update.maybe" depends="abcl.system.uptodate" 
482            if="abcl.system.needs-update.p">
483      <touch file="${src.dir}/org/armedbear/lisp/compile-system.lisp"/>
484    </target>
485
486    <target name="abcl.jar.uptodate" depends="abcl.compile,abcl.stamp">
487      <uptodate property="abcl.jar.uptodate.p" targetfile="${abcl.jar.path}">
488        <srcfiles dir="${build.classes.dir}">
489          <patternset refid="abcl.objects"/>
490        </srcfiles>
491      </uptodate>
492    </target>
493
494    <target name="abcl.jar" depends="abcl.jar.uptodate,abcl-contrib.jar"
495            unless="abcl.jar.uptodate.p">
496      <mkdir dir="${dist.dir}"/>
497      <jar destfile="${abcl.jar.path}"
498           compress="true"
499           update="true"
500           basedir="${build.classes.dir}">
501        <patternset refid="abcl.objects"/>
502        <manifest>
503          <attribute name="Main-Class" value="org.armedbear.lisp.Main"/>
504          <section name="org/armedbear/lisp">
505            <attribute name="Implementation-Title" 
506                       value="ABCL"/>
507            <attribute name="Implementation-Version" 
508                       value="${abcl.implementation.version}"/>
509            <attribute name="Implementation-Build" 
510                       value="${build}"/>
511          </section>
512        </manifest>
513        <metainf dir="${src.dir}/META-INF"> 
514        </metainf>
515      </jar>
516    </target>
517
518    <target name="abcl-aio.jar" depends="abcl.compile,abcl.stamp">
519      <mkdir dir="${dist.dir}"/>
520      <jar destfile="${abcl-aio.jar.path}"
521           compress="true"
522           update="true"
523           basedir="${build.classes.dir}">
524  <fileset dir="${src.dir}">
525          <patternset refid="abcl.objects"/>
526    <patternset refid="abcl.source.java"/>
527    <patternset refid="abcl.source.lisp"/>
528  </fileset>
529  <fileset dir="${basedir}">
530    <patternset refid="abcl.contrib.source"/>
531  </fileset>
532        <!-- According to <http://docs.oracle.com/javase/8/docs/technotes/guides/jar/jar.html>
533             any attributes not specified are ignored, so we are free to make up new attributes if necessary.  For now we just overload Implementation-Title and Implementation-Version.
534            -->
535        <manifest>
536          <attribute name="Main-Class" value="org.armedbear.lisp.Main"/>
537          <section name="org/armedbear/lisp">
538            <attribute name="Implementation-Title" 
539                       value="ABCL"/>
540            <attribute name="Implementation-Version" 
541                       value="${abcl.implementation.version}"/>
542            <attribute name="Implementation-Build" 
543                       value="${build}"/>
544          </section>
545          <section name="contrib">
546            <attribute name="Implementation-Title" 
547                       value="org.abcl-contrib"/>
548            <!-- FIXME: declare separate abcl-contrib version? -->
549            <attribute name="Implementation-Version" 
550                       value="${abcl.implementation.version}"/>
551          </section>
552          <section name="tools">
553            <attribute name="Implementation-Title" 
554                       value="org.abcl-tools"/>
555          </section>
556          <section name="src">
557            <attribute name="Implementation-Title" 
558                       value="org.abcl-source"/>
559            <attribute name="Implementation-Version" 
560                       value="${abcl.implementation.version}"/>
561          </section>
562        </manifest>
563        <metainf dir="${src.dir}/META-INF"> 
564        </metainf>
565      </jar>
566    </target>
567
568   
569    <target name="abcl.wrapper" 
570            depends="abcl.jar,abcl.contrib,abcl.wrapper.unix,abcl.wrapper.windows">
571      <description>
572        Creates in-place executable shell wrapper in
573        '${abcl.wrapper.file}'
574      </description>
575      <!-- Set from commandline or in 'build.properties' -->
576      <property name="additional.jars" value=""/>
577      <path id="abcl.runtime.classpath">
578        <pathelement location="${abcl.runtime.jar.path}"/>
579        <pathelement path="${additional.jars}"/>
580      </path>
581      <!-- set via '-Djava.options=JAVA_OPTIONS' or in 'build.properties -->
582      <property name="java.options" value=""/>
583
584      <copy file="${abcl.wrapper.in.file}" toFile="${abcl.wrapper.file}" overwrite="yes">
585        <filterset>
586          <filter token="JAVA" 
587                  value="${java.path}"/>
588          <filter token="ABCL_JAVA_OPTIONS" 
589                  value="${java.options}"/>
590          <filter token="ABCL_CLASSPATH"
591                  value="${toString:abcl.runtime.classpath}"/>
592        </filterset>
593      </copy>
594      <chmod file="${abcl.wrapper.file}" perm="a+x"/>
595
596      <echo>Created executable ABCL wrapper in '${abcl.wrapper.file}'</echo>
597      <echo>N.B. This wrapper requires '${abcl.jar.path}' not be moved.</echo>
598    </target>
599
600    <target name="abcl.wrapper.unix" if="unix">
601      <property name="abcl.wrapper.file" value="abcl"/>
602      <property name="abcl.wrapper.in.file" value="abcl.in"/>
603    </target>
604
605    <target name="abcl.wrapper.windows" if="windows">
606      <property name="abcl.wrapper.file" value="abcl.bat"/>
607      <property name="abcl.wrapper.in.file" value="abcl.bat.in"/>
608    </target>
609
610    <patternset id="abcl.contrib.source">
611          <include name="**/*.asd"/>
612          <include name="**/*.lisp"/>
613          <include name="**/README.markdown"/>
614    </patternset>
615
616    <patternset id="abcl.contrib.docs">
617          <include name="**/README.markdown"/>
618    </patternset>
619
620    <property name="abcl-contrib.jar"
621              value="${dist.dir}/abcl-contrib.jar"/>
622    <condition property="abcl.contrib.uptodate.p">
623      <uptodate targetfile="${abcl-contrib.jar}">
624        <srcfiles dir="contrib">
625          <patternset refid="abcl.contrib.source"/>
626        </srcfiles>
627      </uptodate>
628    </condition>
629
630    <target name="abcl-contrib.jar" depends="abcl.contrib"/>
631    <target name="abcl.contrib" unless="abcl.contrib.uptodate.p">
632      <jar destfile="${abcl-contrib.jar}"
633           compress="true"
634           basedir="contrib">
635        <patternset refid="abcl.contrib.source"/>
636      </jar>
637      <echo>
638Packaged contribs in ${abcl-contrib.jar}. To use contribs, ensure that
639this file is in the same directory as 'abcl.jar', and then
640
641  CL-USER> (require 'abcl-contrib)
642
643will place all the contribs in the ASDF registry.
644
645To load a contrib, something like
646
647  CL-USER> (require 'jss)
648
649will compile (if necessary) and load JSS.
650</echo>
651    </target>
652
653    <target name="abcl.contrib.javadoc.jar">
654      <mkdir dir="${dist.dir}"/>
655      <jar destfile="${dist.dir}/abcl-contrib-javadoc.jar" basedir="contrib">
656        <patternset refid="abcl.contrib.docs" />
657      </jar>
658    </target>
659
660    <target name="abcl.contrib.source.jar">
661      <mkdir dir="${dist.dir}"/>
662      <jar destfile="${dist.dir}/abcl-contrib-sources.jar" basedir="contrib">
663        <patternset refid="abcl.contrib.source" />
664      </jar>
665    </target>
666
667    <target name="abcl.debug.jpda" depends="abcl.jar">
668      <description>Invoke ABCL with JPDA listener on port 6789</description>
669      <java fork="true"
670            classpathref="abcl.classpath.dist"
671            classname="org.armedbear.lisp.Main">
672        <jvmarg 
673            value="-agentlib:jdwp=transport=dt_socket,address=6789,server=y"/>
674      </java>
675      <echo>JPDA listening on localhost:6789</echo>
676    </target>
677
678    <target name="abcl.build.debug.jpda" depends="abcl.compile.java">
679      <description>Invoke ABCL with JPDA listener on port 6789</description>
680      <java fork="true"
681            classpathref="abcl.classpath.build"
682            classname="org.armedbear.lisp.Main">
683        <jvmarg
684            value="-agentlib:jdwp=transport=dt_socket,address=6789,server=y"/>
685        <jvmarg value="-Dabcl.home=${abcl.home.dir}${file.separator}"/>
686      </java>
687      <echo>JPDA listening on localhost:6789</echo>
688    </target>
689
690    <target name="abcl.run" depends="abcl.jar">
691      <java fork="true"
692            classpathref="abcl.classpath.dist"
693            classname="org.armedbear.lisp.Main">
694      </java>
695    </target>
696
697    <target name="abcl.clean">
698      <delete dir="${build.dir}"/>
699      <delete file="${abcl.jar.path}"/>
700      <delete file="abcl"/>
701      <delete file="abcl.bat"/>
702    </target>
703
704    <property name="slime.fasls" 
705              value="${user.home}/.slime/"/>
706    <property name="quicklisp.common-lisp.fasls"
707              value="${user.home}/.cache/common-lisp/"/>
708    <target name="abcl.clean.application.fasls">
709      <echo>Deleting ABCL SLIME fasls under ${slime.fasls}</echo>
710      <delete>
711        <fileset dir="${slime.fasls}" includes="**/*.abcl"/>
712      </delete>
713      <echo>Deleting ABCL Quicklisp fasls under ${quicklisp.common-lisp.fasls}</echo>
714      <delete>
715        <fileset dir="${quicklisp.common-lisp.fasls}" includes="**/*.abcl"/>
716      </delete>
717    </target>
718
719    <target name="abcl.dist" depends="abcl.jar">
720      <copy file="${abcl.jar.path}"
721            toFile="${dist.dir}/abcl-${abcl.version}.jar"/>
722    </target>
723
724    <target name="abcl.distclean" depends="abcl.clean">
725      <delete dir="${dist.dir}"/>
726      <delete file="abcl"/>
727      <delete file="abcl.bat"/>
728    </target>
729
730    <condition property="etags.executable"
731               value="etags"
732               else="c:/cygwin64/bin/ctags.exe">
733      <not>
734        <os family="windows"/>
735      </not>
736    </condition>
737     
738    <target name="TAGS">
739      <delete file="TAGS"/>
740      <apply executable="${etags.executable}" parallel="true" verbose="true" maxparallel="300">
741        <arg value="--append"/>
742        <arg value="--regex=|[ \t]+//[ \t]+###[ \t]+\([^ \t]+\)|\1|"/>
743        <arg value='--regex=|[ \t]*@DocString([ \n\r\t]*name=\"\([^\"]*\)|\1|m'/>
744        <fileset dir="${src.dir}">
745          <patternset refid="abcl.source.java"/>
746          <patternset refid="abcl.source.lisp"/>
747        </fileset>
748      </apply>
749    </target>
750
751    <patternset id="abcl.dist.misc"
752                description="Additional includes in the source distributions relative to basedir">
753      <include name="abcl.rdf"/>
754      <include name="build.xml"/>
755      <include name="abcl.properties.in"/>
756      <include name="COPYING"/>
757      <include name="README"/>
758      <include name="CHANGES"/>
759      <include name="abcl.in"/>
760      <include name="abcl.bat.in"/>
761
762      <include name="abcl.asd"/>
763     
764      <include name="examples/**"/>
765
766      <include name="contrib/**"/>
767     
768      <include name="test/**"/>
769
770      <include name="build-from-lisp.bash"/>
771     
772      <include name="build-abcl.lisp"/>
773      <include name="customizations.lisp.in"/>
774
775      <include name="etc/ant/*.xml"/>
776
777      <include name="doc/**/*"/>
778
779      <!-- FIXME:  currently necessary to build from our source archives -->
780      <include name="nbproject/**/*"/>
781    </patternset>
782
783    <!-- TODO merge with artifacts from 'abcl.stage' -->
784    <patternset 
785        id="abcl.source.misc"
786        description="Additional includes in the source distribution relative to source root">
787      <include name="org/armedbear/lisp/LICENSE"/>
788      <include name="manifest-abcl"/>
789      <include name="META-INF/services/javax.script.ScriptEngineFactory"/>
790    </patternset>
791
792    <target name="abcl.source.prepare" depends="abcl.stamp">
793      <property name="abcl.build.src.dir"
794                value="${build.dir}/abcl-src-${abcl.version}"/>
795      <mkdir dir="${abcl.build.src.dir}/src"/>
796      <copy todir="${abcl.build.src.dir}/src"
797            preservelastmodified="true">
798        <fileset dir="${src.dir}"
799                 id="abcl.source.src">
800            <patternset refid="abcl.source.java"/>
801            <patternset refid="abcl.source.lisp"/>
802            <patternset refid="abcl.source.misc"/>
803        </fileset>
804      </copy>
805      <copy todir="${abcl.build.src.dir}"
806            preservelastmodified="true">
807        <fileset dir="${basedir}">
808            <patternset refid="abcl.dist.misc"/>
809        </fileset>
810      </copy>
811    </target>
812
813    <!--  Files in source distribution that always get LF EOL (aka
814         'unix') -->   
815    <patternset id="abcl.dist.lf">
816      <include name="abcl.in"/>
817    </patternset>
818
819    <!--  Files in source distribution that always get CRLF EOL (aka
820         'dos') -->   
821    <patternset id="abcl.dist.crlf">
822      <include name="abcl.bat.in"/>
823    </patternset>
824
825    <target name="abcl.source.unix" depends="abcl.source.prepare">
826      <fixcrlf srcdir="${abcl.build.src.dir}"
827               preservelastmodified="true"
828               eol="lf">
829      </fixcrlf>
830
831      <fixcrlf srcdir="${abcl.build.src.dir}"
832               preservelastmodified="true"
833               eol="crlf">
834          <patternset refid="abcl.dist.crlf"/>
835      </fixcrlf>
836
837      <fixcrlf srcdir="${abcl.build.src.dir}"
838               preservelastmodified="true"
839               eol="lf">
840          <patternset refid="abcl.dist.lf"/>
841      </fixcrlf>
842    </target>
843
844    <target name="abcl.source.tar" depends="abcl.source.unix">
845      <mkdir dir="${dist.dir}"/>
846      <tar destfile="${dist.dir}/abcl-src-${abcl.version}.tar.gz"
847           compression="gzip">
848        <tarfileset dir="${build.dir}">
849          <include name="abcl-src-${abcl.version}/**"/>
850        </tarfileset>
851      </tar>
852    </target>
853
854    <target name="abcl.source.windows" depends="abcl.source.prepare">
855      <fixcrlf srcdir="${abcl.build.src.dir}"
856               preservelastmodified="true"
857               eol="crlf">
858      </fixcrlf>
859
860      <fixcrlf srcdir="${abcl.build.src.dir}"
861               preservelastmodified="true"
862               eol="crlf">
863          <patternset refid="abcl.dist.crlf"/>
864      </fixcrlf>
865
866      <fixcrlf srcdir="${abcl.build.src.dir}"
867               preservelastmodified="true"
868               eol="lf">
869          <patternset refid="abcl.dist.lf"/>
870      </fixcrlf>
871    </target>
872
873    <target name="abcl.source.zip" depends="abcl.stamp,abcl.source.windows">
874      <mkdir dir="${dist.dir}"/>
875      <zip destfile="${dist.dir}/abcl-src-${abcl.version}.zip"
876           compress="true">
877        <zipfileset dir="${abcl.build.src.dir}" prefix="abcl-src-${abcl.version}"/>
878      </zip>
879    </target>
880
881    <target name="abcl.source.jar" depends="abcl.stamp,abcl.source.unix">
882      <mkdir dir="${dist.dir}"/>
883      <jar destfile="${dist.dir}/abcl-${abcl.version}-sources.jar">
884        <metainf dir="${abcl.build.src.dir}">
885          <include name="COPYING"/>
886        </metainf>
887        <fileset dir="${abcl.build.src.dir}/src">
888          <include name="**/*.java"/>
889          <include name="**/*.lisp"/>
890        </fileset>
891      </jar>
892    </target>
893
894    <property name="abcl.javadoc.dir" value="${build.dir}/javadoc"/>
895
896    <target name="abcl.javadoc" depends="abcl.stamp">
897      <mkdir dir="${abcl.javadoc.dir}"/>
898      <javadoc destdir="${abcl.javadoc.dir}"
899               sourcepath="${src.dir}"/>
900    </target>
901   
902    <target name="abcl.javadoc.jar" depends="abcl.stamp.version,abcl.javadoc">
903      <mkdir dir="${dist.dir}"/>
904      <jar destfile="${dist.dir}/abcl-${abcl.version}-javadoc.jar">
905        <fileset dir="${abcl.javadoc.dir}"/>
906      </jar>
907    </target>
908
909    <target name="abcl.binary.prepare" depends="abcl.jar,abcl.contrib,abcl.documentation,abcl.stamp.version">
910      <property name="abcl.build.binary.dir"
911                value="${build.dir}/abcl-bin-${abcl.version}"/>
912      <mkdir dir="${abcl.build.binary.dir}"/>
913      <copy todir="${abcl.build.binary.dir}"
914            preservelastmodified="true">
915        <fileset dir="${basedir}/dist">
916          <patternset>
917            <include name="abcl.jar"/>
918            <include name="abcl-contrib.jar"/>
919            <include name="*.pdf"/>
920          </patternset>
921        </fileset>
922        <fileset dir="${basedir}">
923          <patternset>
924            <include name="README"/>
925            <include name="CHANGES"/>
926          </patternset>
927        </fileset>
928      </copy>
929    </target>
930
931    <target name="abcl.binary.tar" depends="abcl.binary.prepare">
932      <tar destfile="${dist.dir}/abcl-bin-${abcl.version}.tar.gz"
933           compression="gzip">
934        <tarfileset dir="${build.dir}">
935          <include name="abcl-bin-${abcl.version}/**"/>
936          </tarfileset>
937      </tar>
938    </target>
939
940    <target name="abcl.binary.zip" depends="abcl.binary.prepare">
941      <zip destfile="${dist.dir}/abcl-bin-${abcl.version}.zip"
942           compress="true">
943        <zipfileset dir="${abcl.build.binary.dir}" prefix="abcl-bin-${abcl.version}"/>
944      </zip>
945    </target>
946
947    <target name="help.test">
948      <echo>
949The following Ant targets run various test suites:
950 
951  abcl.test
952    --  Run all available tests.
953  abcl.test.java
954    --  Run the ABCL junit Java tests under ${basedir}/test/src/
955  abcl.test.lisp
956    --  Run the 'test.ansi.compiled', 'test.abcl', 'test.cl-bench' targets
957  test.ansi.compiled
958    --  Run the compiled version of the ANSI test suite
959  test.abcl
960    --  Run the Lisp RT tests collected in ${basedir}/test/lisp/abcl/
961  test.cl-bench
962    --  Run the cl-bench test suite.
963
964The ANSI tests require that the [ansi-tests][1] be manually installed in
965${basedir}/../ansi-tests.
966
967[1]: git+https://gitlab.common-lisp.net/ansi-test/ansi-test.git
968
969The CL-BENCH tests require that [cl-bench][2] be manually installed in
970${basedir}/../cl-bench
971
972[2]: http://www.chez.com/emarsden/downloads/cl-bench.tar.gz
973      </echo>
974    </target>
975
976    <property name="abcl.test.classes.dir"
977              value="${build.dir}/classes-test"/>
978
979    <property name="abcl.test.src.dir"
980              value="${basedir}/test/src"/>
981
982    <patternset id="abcl.test.source.java">
983      <include name="org/armedbear/lisp/**/*.java"/>
984    </patternset>
985
986    <property name="junit.path"
987              value="${abcl.ext.dir}/junit-4.8.1.jar"/>
988    <property name="maven.dist.name"
989              value="apache-maven-3.3.9-bin.zip"/>
990    <property name="maven.dist.uri"
991              value="http://www-eu.apache.org/dist/maven/maven-3/3.3.9/binaries/${maven.dist.name}"/>
992    <property name="maven.local.path"
993              value="${abcl.ext.dir}/${maven.dist.name}"/>
994
995    <path id="abcl.test.compile.classpath">
996      <pathelement location="${junit.path}"/>
997      <pathelement location="${build.classes.dir}"/>
998    </path>
999
1000    <target name="abcl.test.pre-compile" depends="abcl.ext"/>
1001
1002    <target name="abcl.ext.p">
1003      <!--XXX generalize over enumeration of all contributions to
1004          abcl.ext if we get more of them.  -->
1005      <condition property="abcl.ext.p">
1006        <and>
1007          <available file="${junit.path}"/>
1008          <available file="${maven.local.path}"/>
1009        </and>
1010      </condition>
1011    </target>
1012
1013    <target name="abcl.ext" depends="abcl.ext.p" unless="abcl.ext.p">
1014      <mkdir dir="${abcl.ext.dir}"/>
1015      <get 
1016          src="http://cloud.github.com/downloads/KentBeck/junit/junit-4.8.1.jar"
1017          usetimestamp="true"
1018          dest="${junit.path}"/>
1019      <get 
1020          src="${maven.dist.uri}"
1021          usetimestamp="true"
1022          dest="${maven.local.path}"/>
1023    </target>
1024
1025    <target name="abcl.ext.maven" depends="abcl.ext">
1026      <echo>Installing Maven for ABCL from ${maven.dist.uri}.</echo>
1027      <unzip src="${maven.local.path}"
1028             dest="${abcl.ext.dir}">
1029      </unzip>
1030    </target>
1031       
1032    <target name="abcl.test.compile" 
1033            depends="abcl.test.pre-compile">
1034      <mkdir dir="${abcl.test.classes.dir}"/>
1035      <javac destdir="${abcl.test.classes.dir}"
1036             classpathref="abcl.test.compile.classpath"
1037             debug="true"
1038             target="1.5">
1039        <src path="${abcl.test.src.dir}"/>
1040        <patternset refid="abcl.test.source.java"/>
1041      </javac>
1042    </target>
1043
1044    <path id="abcl.test.run.classpath">
1045      <path refid="abcl.test.compile.classpath"/>
1046      <pathelement location="${abcl.test.classes.dir}"/>
1047    </path>
1048
1049    <target name="abcl.test" 
1050            depends="abcl.test.java,abcl.test.lisp"/>
1051       
1052    <target name="abcl.test.java" depends="abcl.test.compile">
1053      <java fork="true"
1054            classpathref="abcl.test.run.classpath"
1055            classname="org.junit.runner.JUnitCore">
1056        <arg value="org.armedbear.lisp.PathnameTest"/>
1057        <arg value="org.armedbear.lisp.StreamTest"/>
1058        <arg value="org.armedbear.lisp.SeekableStringWriterTest"/>
1059        <arg value="org.armedbear.lisp.UtilitiesTest"/>
1060    <!-- currently hangs(!) the running process
1061        <arg value="org.armedbear.lisp.util.HttpHeadTest"/>
1062    -->
1063      </java>
1064    </target>
1065
1066    <target name="abcl.test.lisp" 
1067            depends="test.ansi.compiled,test.abcl,test.cl-bench"/>
1068
1069    <target name="test.ansi.interpreted" depends="abcl.jar">
1070      <echo>Recording test output in ${abcl.test.log.file}.</echo>
1071      <record name="${abcl.test.log.file}" emacsmode="true" action="start" append="yes"/>
1072      <java fork="true" dir="${basedir}"
1073            classpathref="abcl.classpath.dist"
1074            classname="org.armedbear.lisp.Main">
1075        <arg value="--noinit"/> 
1076        <arg value="--eval"/><arg value="(require (quote asdf))"/>
1077        <arg value="--eval"/>
1078          <arg value="(asdf:initialize-source-registry `(:source-registry (:directory ,*default-pathname-defaults*) :inherit-configuration)))"/>
1079        <arg value="--eval"/><arg value="(asdf:test-system :abcl/test/ansi/interpreted)"/>
1080        <arg value="--eval"/><arg value="(ext:exit)"/>
1081      </java>
1082      <record name="${abcl.test.log.file}" emacsmode="true" action="stop"/>
1083      <echo>Finished recording test output in ${abcl.test.log.file}.</echo>
1084    </target>
1085
1086    <target name="test.ansi.compiled" depends="abcl.jar">
1087      <echo>Recording test output in ${abcl.test.log.file}.</echo>
1088      <record name="${abcl.test.log.file}" emacsmode="true" action="start" append="yes"/>
1089      <java fork="true" dir="${basedir}"
1090            classpathref="abcl.classpath.dist"
1091            classname="org.armedbear.lisp.Main">
1092        <!-- Run in 64bit mode-->
1093        <jvmarg value="-d64"/> 
1094
1095        <!-- Enable JVM assertions -->
1096        <jvmarg value="-ea"/> 
1097       
1098        <!-- (Possibly) unload classes when reference count reaches zero -->
1099        <jvmarg value="-XX:+CMSClassUnloadingEnabled"/> 
1100
1101        <!-- Increase the size of the space used to store JVM class metadata. -->
1102        <jvmarg value="-XX:MaxPermSize=768m"/> 
1103
1104        <arg value="--noinit"/> 
1105        <arg value="--eval"/><arg value="(require (quote asdf))"/>
1106        <arg value="--eval"/>
1107          <arg value="(asdf:initialize-source-registry `(:source-registry (:directory ,*default-pathname-defaults*) :inherit-configuration)))"/>
1108        <arg value="--eval"/><arg value="(asdf:test-system :abcl/test/ansi/compiled)"/>
1109        <arg value="--eval"/><arg value="(ext:exit)"/>
1110      </java>
1111      <record name="${abcl.test.log.file}" emacsmode="true" action="stop"/>
1112      <echo>Finished recording test output in ${abcl.test.log.file}.</echo>
1113    </target>
1114
1115    <target name="test.abcl" depends="abcl.jar">
1116      <echo>Recording test output in ${abcl.test.log.file}.</echo>
1117      <record name="${abcl.test.log.file}" emacsmode="true" action="start" append="yes"/>
1118      <java fork="true" dir="${basedir}"
1119            classpathref="abcl.classpath.dist"
1120            classname="org.armedbear.lisp.Main">
1121        <arg value="--noinit"/> 
1122        <arg value="--eval"/><arg value="(require (quote asdf))"/>
1123        <arg value="--eval"/>
1124          <arg value="(asdf:initialize-source-registry `(:source-registry (:directory ,*default-pathname-defaults*) :inherit-configuration)))"/>
1125        <arg value="--eval"/><arg value="(asdf:test-system :abcl)"/>
1126        <arg value="--eval"/><arg value="(ext:exit)"/>
1127      </java>
1128      <record name="${abcl.test.log.file}" emacsmode="true" action="stop"/>
1129      <echo>Finished recording test output in ${abcl.test.log.file}.</echo>
1130    </target>
1131
1132    <target name="test.cl-bench" depends="abcl.jar">
1133      <echo>Recording test output in ${abcl.test.log.file}.</echo>
1134      <record name="${abcl.test.log.file}" emacsmode="true" action="start" append="yes"/>
1135      <java fork="true" dir="${basedir}"
1136            classpathref="abcl.classpath.dist"
1137            classname="org.armedbear.lisp.Main">
1138        <arg value="--noinit"/> 
1139        <arg value="--eval"/><arg value="(require (quote asdf))"/>
1140        <arg value="--eval"/>
1141          <arg value="(asdf:initialize-source-registry `(:source-registry (:directory ,*default-pathname-defaults*) :inherit-configuration))"/>
1142        <arg value="--eval"/><arg value="(asdf:test-system :abcl/test/cl-bench)"/>
1143        <arg value="--eval"/><arg value="(ext:exit)"/>
1144      </java>
1145      <record name="${abcl.test.log.file}" emacsmode="true" action="stop"/>
1146      <echo>Finished recording test output in ${abcl.test.log.file}.</echo>
1147    </target>
1148
1149
1150<target name="abcl.diagnostic" 
1151        description="Emit diagnostics describing available hosting JVM properties."
1152        depends="abcl.build.diagnostic"/>
1153<!--
1154
1155urn:org.abcl.build.ant.targets.diagnostic
1156
1157"Possible JVM values from"
1158
1159http://docs.oracle.com/javase/6/docs/api/java/lang/System.html#getProperties
1160
1161.
1162
1163
1164java.version  Java Runtime Environment version
1165java.vendor   Java Runtime Environment vendor
1166java.vendor.url   Java vendor URL
1167java.home   Java installation directory
1168java.vm.specification.version   Java Virtual Machine specification version
1169java.vm.specification.vendor  Java Virtual Machine specification vendor
1170java.vm.specification.name  Java Virtual Machine specification name
1171java.vm.version   Java Virtual Machine implementation version
1172java.vm.vendor  Java Virtual Machine implementation vendor
1173java.vm.name  Java Virtual Machine implementation name
1174java.specification.version  Java Runtime Environment specification version
1175java.specification.vendor   Java Runtime Environment specification vendor
1176java.specification.name   Java Runtime Environment specification name
1177java.class.version  Java class format version number
1178java.class.path   Java class path
1179java.library.path   List of paths to search when loading libraries
1180java.io.tmpdir  Default temp file path
1181java.compiler   Name of JIT compiler to use
1182java.ext.dirs   Path of extension directory or directories
1183os.name   Operating system name
1184os.arch   Operating system architecture
1185os.version  Operating system version
1186file.separator  File separator ("/" on UNIX)
1187path.separator  Path separator (":" on UNIX)
1188line.separator  Line separator ("\n" on UNIX)
1189user.name   User's account name
1190user.home   User's home directory
1191user.dir
1192
1193-->
1194
1195<target name="abcl.build.diagnostic" description="Emit diagnostics describing available hosting JVM properties.">
1196  <echo>
1197JVM System Properties
1198=====================
1199:java.version    ${java.version}
1200:java.vendor     ${java.vendor}
1201:java.vm.vendor  ${java.vm.vendor}
1202:java.vm.name    ${java.vm.name}
1203
1204:os.name         ${os.name}
1205:os.arch         ${os.arch}
1206:os.version      ${os.version}
1207 
1208:java.specification.version
1209                 ${java.specification.version}
1210:java.vm.specification.version
1211                 ${java.vm.specification.version}
1212  </echo>
1213
1214  <echoproperties/>
1215</target>
1216
1217    <target name="abcl.release" 
1218            depends="abcl.clean,abcl.binary.tar,abcl.source.tar,abcl.binary.zip,abcl.source.zip">
1219      <copy file="${abcl.jar.path}"
1220            tofile="${dist.dir}/abcl-${abcl.version}.jar"/>
1221      <copy file="${abcl-contrib.jar}"
1222            tofile="${dist.dir}/abcl-contrib-${abcl.version}.jar"/>
1223    </target>
1224
1225    <target name="abcl.documentation"
1226            depends="abcl.documentation.manual,abcl.documentation.asdf"/>
1227    <target name="abcl.documentation.manual"
1228            depends="abcl.stamp.version">
1229      <echo>This target requires 'make' and a LaTeX installation to be on the PATH.</echo>
1230      <exec
1231          executable="make"
1232          dir="${basedir}/doc/manual"/>
1233      <copy file="doc/manual/abcl.pdf"
1234            tofile="${dist.dir}/abcl-${abcl.version}.pdf"/>
1235    </target>
1236    <target name="abcl.documentation.asdf">
1237      <echo>This target requires 'texi2pdf' to be on the PATH.</echo>
1238      <exec
1239          executable="texi2pdf"
1240          dir="${basedir}/doc/asdf">
1241        <arg value="asdf.texinfo"/>
1242      </exec>
1243      <copy file="doc/asdf/asdf.pdf"
1244            tofile="${dist.dir}/asdf.pdf"/>
1245    </target>
1246
1247    <target name="abcl.properties.autoconfigure.openjdk.11">
1248      <exec executable="/usr/bin/env">
1249        <arg value="bash"/>
1250        <arg value="ci/create-abcl-properties.bash"/>
1251       
1252        <arg value="openjdk11"/>
1253      </exec>
1254    </target>
1255         
1256    <import file="etc/ant/netbeans-build.xml"
1257            optional="true"/> 
1258    <import file="etc/ant/build-snapshot.xml"
1259            optional="true"/>
1260    <import file="etc/ant/build-maven.xml"
1261            optional="true"/>
1262  </project>
Note: See TracBrowser for help on using the repository browser.