I factored out some subtasks that were repeated throughout.

The binary JARs now contain license docs.

There are now four builds for the four faces of the translation tool.

By default, class files will now be compiled for the 1.1 JVM, even if you
use J2SDK 1.4 to compile them.  'ant -Dtarget.jvm=1.2' gives you 1.4's
default.  I'm not sure what 1.2 buys us, but it means we don't work on
a large number of JVMs in the field.
This commit is contained in:
dchandler 2002-10-10 06:00:32 +00:00
parent 77e29329ca
commit 4e10517b71
1 changed files with 319 additions and 174 deletions

493
build.xml
View File

@ -1,3 +1,21 @@
<!-- @author David Chandler -->
<!--
Quick start: This buildfile looks for the following, which are not in
the CVS repository:
extensions/jdom.jar
extensions/xalan.jar
extensions/xercesImpl.jar
extensions/xml-apis.jar
extensions/jmf.jar
See the developers site, linked to from http://thdltools.sf.net/, for
info on where to find these.
-->
<project name="THDLTools" default="dist" basedir=".">
@ -12,10 +30,14 @@
<!-- set global properties for this build -->
<property name="javacdashg" value="yes"/>
<property name="source" location="source"/>
<property name="license" location="license"/>
<property name="bin" location="bin"/>
<property name="jskadbin" location="bin/jskad"/>
<property name="qdbin" location="bin/qd"/>
<property name="ttbin" location="bin/tt"/>
<property name="ttstandalonebin" location="bin/tt-standalone"/>
<property name="ttappletjwsbin" location="bin/tt-applet-and-java-web-start"/>
<property name="tthandheldbin" location="bin/tt-handheld"/>
<property name="ttservletbin" location="bin/tt-servlet"/>
<property name="savantbin" location="bin/savant"/>
<property name="docs" location="docs"/>
<property name="dist" location="dist"/>
@ -34,6 +56,12 @@
<!-- Set to the name of the dictionary used by the Translation Tool: -->
<property name="arch.dict" value="architecture_dictionary"/>
<!-- Set this to 1.2 if you want J2SDK 1.4's default. 1.1 gives us
more compatibility, but maybe there will be a performance hit
or something. -->
<property name="target.jvm" value="1.1"/>
<!-- To easily add a jar to the CLASSPATH, just drop it into
'extensions/drop-ins/'. -->
@ -53,8 +81,8 @@
<include name="j2ee.jar"/>
</fileset>
<!-- this gets Ant's jars, so leave it out:
<pathelement path="${java.class.path}/"/> -->
<!-- this gets Ant's jars, so leave it out:
<pathelement path="${java.class.path}/"/> -->
<fileset dir="${ext}/drop-ins">
<include name="*.jar"/>
@ -62,7 +90,7 @@
</fileset>
<!-- Developers: set this on the ant command line if you need to
with 'ant -Dadditional.class.path="c:\foo"': -->
with 'ant -Dadditional.class.path="c:\foo"': -->
<pathelement path="${additional.class.path}"/>
</path>
@ -77,7 +105,10 @@
<mkdir dir="${bin}"/>
<mkdir dir="${jskadbin}"/>
<mkdir dir="${qdbin}"/>
<mkdir dir="${ttbin}"/>
<mkdir dir="${ttstandalonebin}"/>
<mkdir dir="${tthandheldbin}"/>
<mkdir dir="${ttservletbin}"/>
<mkdir dir="${ttappletjwsbin}"/>
<mkdir dir="${savantbin}"/>
<mkdir dir="${publicjavadocs}"/>
<mkdir dir="${privatejavadocs}"/>
@ -96,122 +127,126 @@
description="JARs up everything into self-contained JARs for double-click, classpath-worry-free joy" />
<target name="dist"
depends="jskad-dist,savant-dist,qd-dist,tt-dist"
depends="jskad-dist,savant-dist,qd-dist,tt-handheld-dist,tt-standalone-dist,tt-applet-plus-jws-dist"
description="JARs up everything" />
<!-- Don't compile tt-servlet by default, since not everyone has the
J2EE SDK installed: -->
<target name="compile"
depends="jskad-compile,savant-compile,qd-compile,tt-compile"
description="compiles all source" />
depends="jskad-compile,savant-compile,qd-compile,tt-standalone-compile,tt-handheld-compile,tt-applet-plus-jws-compile"
description="compiles all programs except for those that are for J2EE (rather than J2SE)" />
<target name="jskad-compile" depends="init"
description="compiles Jskad" >
<!-- Compile the java code from ${source} into ${jskadbin} -->
<javac destdir="${jskadbin}" debug="${javacdashg}">
<classpath refid="entire.class.path"/>
<src path="${source}"/>
<include name="org/thdl/tib/input/Jskad.java" />
<exclude name="**/*.ini" />
<exclude name="**/*.html" />
<!-- Exclude JUnit tests: -->
<exclude name="**/*Test.java" />
<exclude name="**/*AllTests.java" />
</javac>
<copy todir="${jskadbin}">
<fileset dir="${source}">
<include name="org/thdl/tib/**/*.ini"/>
</fileset>
</copy>
<antcall target="our-internal-javac-task">
<param name="mybin" value="${jskadbin}"/>
<param name="my.included.source.file" value="org/thdl/tib/input/Jskad.java"/>
</antcall>
<antcall target="copy-ini-files-to-bin-dir-for-jarring">
<param name="mybin" value="${jskadbin}"/>
</antcall>
<antcall target="copy-license-to-bin-dir-for-jarring">
<param name="mybin" value="${jskadbin}"/>
</antcall>
</target>
<target name="savant-compile" depends="init"
description="compiles Savant" >
<!-- Compile the java code from ${source} into ${savantbin} -->
<javac destdir="${savantbin}" debug="${javacdashg}">
<classpath refid="entire.class.path"/>
<src path="${source}"/>
<include name="org/thdl/savant/SavantShell.java" />
<exclude name="**/*.ini" />
<exclude name="**/*.html" />
<!-- Exclude JUnit tests: -->
<exclude name="**/*Test.java" />
<exclude name="**/*AllTests.java" />
</javac>
<antcall target="our-internal-javac-task">
<param name="mybin" value="${savantbin}"/>
<param name="my.included.source.file" value="org/thdl/savant/SavantShell.java"/>
</antcall>
<!-- Copy the .rtf files; they're needed resources: -->
<copy todir="${savantbin}/org/thdl/savant">
<fileset dir="${source}">
<include name="*savant*"/>
</fileset>
</copy>
<copy todir="${savantbin}">
<fileset dir="${source}">
<include name="org/thdl/tib/**/*.ini"/>
</fileset>
</copy>
<antcall target="copy-ini-files-to-bin-dir-for-jarring">
<param name="mybin" value="${savantbin}"/>
</antcall>
<antcall target="copy-license-to-bin-dir-for-jarring">
<param name="mybin" value="${savantbin}"/>
</antcall>
</target>
<target name="tt-compile" depends="init"
description="compiles the Translation Tool" >
<!-- Compile the java code from ${source} into ${ttbin} -->
<javac destdir="${ttbin}" debug="${javacdashg}">
<classpath refid="entire.class.path"/>
<src path="${source}"/>
<include name="org/thdl/tib/scanner/WindowScannerFilter.java" />
<exclude name="**/*.ini" />
<exclude name="**/*.html" />
<!-- Exclude JUnit tests: -->
<exclude name="**/*Test.java" />
<exclude name="**/*AllTests.java" />
</javac>
<copy todir="${ttbin}">
<fileset dir="${source}">
<include name="org/thdl/tib/**/*.ini"/>
</fileset>
</copy>
<!-- Builds the standalone translation tool: -->
<target name="tt-standalone-compile" depends="init"
description="compiles the standalone Translation Tool" >
<antcall target="our-internal-javac-task">
<param name="mybin" value="${ttstandalonebin}"/>
<param name="my.included.source.file" value="org/thdl/tib/scanner/WindowScannerFilter.java"/>
</antcall>
<antcall target="copy-ini-files-to-bin-dir-for-jarring">
<param name="mybin" value="${ttstandalonebin}"/>
</antcall>
<antcall target="copy-license-to-bin-dir-for-jarring">
<param name="mybin" value="${ttstandalonebin}"/>
</antcall>
</target>
<target name="tt-serv-compile" depends="init"
description="compiles the full Translation Tool, including servlets. You'd better set the j2ee.sdk.home property first or have j2ee.jar on your CLASSPATH." >
<!-- Compile the java code from ${source} into ${ttbin} -->
<javac destdir="${ttbin}" debug="${javacdashg}">
<classpath refid="entire.class.path"/>
<src path="${source}"/>
<include name="org/thdl/tib/scanner/**.java" />
<exclude name="**/*.ini" />
<exclude name="**/*.html" />
<!-- Exclude JUnit tests: -->
<exclude name="**/*Test.java" />
<exclude name="**/*AllTests.java" />
</javac>
<copy todir="${ttbin}">
<fileset dir="${source}">
<include name="org/thdl/tib/**/*.ini"/>
</fileset>
</copy>
<!-- Builds the translation tool for handhelds. This tells J2SDK
1.4 to compile for handhelds (-target 1.1 does the trick).
Compiling with J2SDK 1.3 does so by default, by the way. -->
<target name="tt-handheld-compile" depends="init"
description="compiles the handheld Translation Tool" >
<antcall target="our-internal-javac-task">
<param name="target.jvm" value="1.1"/>
<param name="mybin" value="${tthandheldbin}"/>
<param name="my.included.source.file" value="org/thdl/tib/scanner/WindowScannerFilter.java"/>
</antcall>
<antcall target="copy-license-to-bin-dir-for-jarring">
<param name="mybin" value="${tthandheldbin}"/>
</antcall>
</target>
<!-- Builds the applet + the Java Web Start translation tool: -->
<target name="tt-applet-plus-jws-compile" depends="init"
description="compiles the applet + Java Web Start forms of the Translation Tool" >
<antcall target="our-internal-javac-task">
<param name="mybin" value="${ttappletjwsbin}"/>
<param name="my.included.source.file" value="org/thdl/tib/scanner/AppletScannerFilter.java"/>
</antcall>
<antcall target="our-internal-javac-task">
<param name="mybin" value="${ttappletjwsbin}"/>
<param name="my.included.source.file" value="org/thdl/tib/scanner/WindowScannerFilter.java"/>
</antcall>
<antcall target="copy-ini-files-to-bin-dir-for-jarring">
<param name="mybin" value="${ttappletjwsbin}"/>
</antcall>
<antcall target="copy-license-to-bin-dir-for-jarring">
<param name="mybin" value="${ttappletjwsbin}"/>
</antcall>
</target>
<target name="tt-servlet-compile" depends="init"
description="compiles the servlet form of the Translation Tool. You'd better set the j2ee.sdk.home property first or have j2ee.jar on your CLASSPATH, because this is a J2EE program." >
<antcall target="our-internal-javac-task">
<param name="mybin" value="${ttservletbin}"/>
<param name="my.included.source.file" value="org/thdl/tib/scanner/ConsoleScannerFilter.java"/>
</antcall>
<antcall target="copy-license-to-bin-dir-for-jarring">
<param name="mybin" value="${ttbin}"/>
</antcall>
</target>
<target name="qd-compile" depends="init"
description="compiles QuillDriver" >
<!-- Compile the java code from ${source} into ${qdbin} -->
<javac destdir="${qdbin}" debug="${javacdashg}">
<classpath refid="entire.class.path"/>
<src path="${source}"/>
<include name="org/thdl/quilldriver/QDShell.java" />
<exclude name="**/*.ini" />
<exclude name="**/*.html" />
<exclude name="**/*.gif" />
<exclude name="**/*.jpg" />
<!-- Exclude JUnit tests: -->
<exclude name="**/*Test.java" />
<exclude name="**/*AllTests.java" />
</javac>
<copy todir="${qdbin}">
<fileset dir="${source}">
<include name="org/thdl/tib/**/*.ini"/>
</fileset>
</copy>
<antcall target="our-internal-javac-task">
<param name="mybin" value="${qdbin}"/>
<param name="my.included.source.file" value="org/thdl/quilldriver/QDShell.java"/>
</antcall>
<!-- Copy over QuillDriver-specific resources: -->
<copy todir="${qdbin}">
<fileset dir="${source}">
<include name="MessageBundle*"/>
@ -219,6 +254,13 @@
<include name="**/*.jpg"/>
</fileset>
</copy>
<antcall target="copy-ini-files-to-bin-dir-for-jarring">
<param name="mybin" value="${qdbin}"/>
</antcall>
<antcall target="copy-license-to-bin-dir-for-jarring">
<param name="mybin" value="${qdbin}"/>
</antcall>
</target>
@ -229,8 +271,8 @@
<zipfileset dir="${source}"
includes="**"
prefix="source"/>
<zipfileset dir="license"
includes="*.txt,*.html"
<zipfileset dir="${license}"
includes="*"
prefix="."/>
<zipfileset dir="."
includes="build.xml"
@ -254,11 +296,13 @@
</target>
<target name="tt-dist" depends="tt-compile"
description="generates the TranslationDesktop binary distribution. Call tt-serv-compile first if you want servlets in this dist." >
<!-- Put everything in ${ttbin} into the JAR file -->
<jar jarfile="${dist}/lib/TranslationDesktop-${DSTAMP}.jar"
basedir="${ttbin}">
<!-- FIXME: generate translation tool servlet distribution -->
<target name="tt-standalone-dist" depends="tt-standalone-compile"
description="generates the standalone translation tool's binary distribution." >
<!-- Put everything in ${ttstandalonebin} into the JAR file -->
<jar jarfile="${dist}/lib/DictionarySearchStandalone-${DSTAMP}.jar"
basedir="${ttstandalonebin}">
<manifest>
<attribute name="Main-Class" value="org.thdl.tib.scanner.WindowScannerFilter"/>
</manifest>
@ -266,6 +310,46 @@
</target>
<target name="tt-handheld-dist" depends="tt-handheld-compile"
description="generates the handheld translation tool's binary distribution." >
<!-- Put everything in ${tthandheldbin} into the JAR file -->
<jar jarfile="${dist}/lib/DictionarySearchHandheld-${DSTAMP}.jar"
basedir="${tthandheldbin}">
<manifest>
<attribute name="Main-Class" value="org.thdl.tib.scanner.WindowScannerFilter"/>
</manifest>
</jar>
</target>
<target name="tt-applet-plus-jws-dist" depends="tt-applet-plus-jws-compile"
description="generates the applet-plus-jws translation tool's binary distribution." >
<!-- Put everything in ${ttappletjwsbin} into the JAR file -->
<jar jarfile="${dist}/lib/DictionarySearchAppletAndJavaWebStart-${DSTAMP}.jar"
basedir="${ttappletjwsbin}">
<!-- We have two choices here, but the web page will call for
AppletScannerFilter, so the double-click should open the
standalone version, WindowScannerFilter: -->
<manifest>
<attribute name="Main-Class" value="org.thdl.tib.scanner.WindowScannerFilter"/>
</manifest>
</jar>
</target>
<target name="tt-servlet-dist" depends="tt-servlet-compile"
description="generates the servlet translation tool's binary distribution." >
<!-- Put everything in ${ttservletbin} into the JAR file -->
<jar jarfile="${dist}/lib/DictionarySearchServlet-${DSTAMP}.jar"
basedir="${ttservletbin}">
<!-- I don't think this'll work, but the main class is the following, so why not: -->
<manifest>
<attribute name="Main-Class" value="org.thdl.tib.scanner.ConsoleScannerFilter"/>
</manifest>
</jar>
</target>
<target name="savant-dist" depends="savant-compile"
description="generates the bare Savant binary distribution" >
<!-- Put everything in ${savantbin} into the JAR file -->
@ -291,16 +375,12 @@
<!-- DLC FIXME: This used to inlude Jskad2Javascript.class, etc. But it no longer does. Compile those extra files! -->
<target name="jskad-all-in-one-dist" depends="jskad-compile"
description="generates the self-contained binary distribution for Jskad" >
<!-- Now put everything in ${bin} and ${ext}/netscape, plus
the .ini files, into the JAR file
the .ini files, into the JAR file
-->
<copy todir="${jskadbin}">
<fileset dir="${source}">
<include name="org/thdl/tib/**/*.ini"/>
</fileset>
</copy>
<copy todir="${jskadbin}/netscape">
<fileset dir="${ext}/netscape"/>
</copy>
@ -317,17 +397,15 @@
<target name="clean"
description="cleans up a few things, but not all" >
description="cleans up a few things, but not all (not the Javadocs, e.g.)" >
<!-- Delete the ${bin} and ${dist} directory trees -->
<delete dir="${bin}"/>
<delete dir="${jskadbin}"/>
<delete dir="${qdbin}"/>
<delete dir="${ttbin}"/>
<delete dir="${savantbin}"/>
<delete dir="${dist}"/>
</target>
<!-- Automake build systems use a 'make distclean' target, hence the
admittedly rather confusing name. Trust the description. -->
<target name="distclean"
description="cleans up so your directory once again looks like the source distribution"
depends="clean" >
@ -363,7 +441,7 @@
Now 'cd api'.
Now run 'unzip ../../private-javadocs-WHATEVER.zip'.
Now run 'unzip ../../private-javadocs-WHATEVER.zip'.
See if http://thdltools.sf.net/api/ looks up to date. If so,
delete ../../private-javadocs-WHATEVER.zip and log out.
@ -375,7 +453,7 @@
<target name="public-javadocs-dist" depends="public-javadocs"
description="makes zip file of Javadoc documentation for public/protected classes, methods, and fields" >
<mkdir dir="${dist}/docs"/>
<tstamp/>
<tstamp/>
<zip destfile="${dist}/docs/public-javadocs-${DSTAMP}.zip"
basedir="${publicjavadocs}"/>
</target>
@ -384,7 +462,7 @@
<target name="private-javadocs-dist" depends="private-javadocs"
description="makes zip file of Javadoc documentation for ALL classes, methods, and fields" >
<mkdir dir="${dist}/docs"/>
<tstamp/>
<tstamp/>
<zip destfile="${dist}/docs/private-javadocs-${DSTAMP}.zip"
basedir="${privatejavadocs}"/>
</target>
@ -410,63 +488,6 @@
</target>
<!-- -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* -->
<!-- UTILITY TARGETS - targets of antcalls, targets not usually
directly called. -->
<!-- -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* -->
<!-- Utility target called by private-javadocs and public-javadocs -->
<target name="our-javadocs" depends="init"
description="makes Javadoc documentation; NOT A USER TARGET" >
<!-- See http://jakarta.apache.org/ant/manual/CoreTasks/javadoc.html
to learn more about the Javadoc task.
-->
<tstamp>
<format property="javadoc.creation.time" pattern="MM/dd/yyyy hh:mm aa"/>
</tstamp>
<!-- We don't really use @version correctly, do we? So version="false". -->
<javadoc destdir="${our-javadocs-destdir}"
author="true"
access="${access}"
version="false"
use="true"
classpathref="entire.class.path"
windowtitle="THDL Tools APIs"
Overview="${source}/overview.html">
<fileset dir="${source}" defaultexcludes="yes">
<include name="org/thdl/**" />
<!-- Exclude JUnit tests: -->
<exclude name="**/*Test.java"/>
<exclude name="**/*AllTests.java"/>
<exclude name="**/*.ini"/>
<exclude name="**/*.html"/>
<exclude name="**/*.gif"/>
<exclude name="**/*.jpg"/>
</fileset>
<doctitle><![CDATA[<h1>THDL Tools</h1>]]></doctitle>
<!-- Note: We must show the SF.net logo in order to get hit counts. -->
<bottom>These API docs were created ${javadoc.creation.time}.<![CDATA[<br><i>Copyright &#169; 2001-2002 Tibetan and Himalayan Digital Library. All Rights Reserved.</i><br>Hosted by <a href="http://sourceforge.net/"><img src="http://sourceforge.net/sflogo.php?group_id=61934&amp;type=1" width="88" height="31" border="0" alt="SourceForge_Logo"></a>]]></bottom>
<group title="Tibetan Text Packages" packages="org.thdl.tib.text.**"/>
<group title="Tibetan Input Packages" packages="org.thdl.tib.input.**"/>
<!-- Have our API docs link to Sun's, JDOM's, etc. -->
<link offline="true"
href="http://java.sun.com/j2se/1.4/docs/api/"
packagelistLoc="${docs}/j2sdk1.4-package-list"/>
<link offline="true"
href="http://www.jdom.org/docs/apidocs/"
packagelistLoc="${docs}/jdom-package-list"/>
</javadoc>
</target>
<target name="qd-run" depends="qd-dist" description="runs QuillDriver">
<java classname="org.thdl.quilldriver.QDShell" fork="yes">
<classpath>
@ -500,10 +521,10 @@
</java>
</target>
<target name="tt-run" depends="tt-dist" description="runs TranslationDesktop">
<target name="tt-run" depends="tt-standalone-dist" description="runs the standalone translation tool">
<java classname="org.thdl.tib.scanner.WindowScannerFilter" fork="yes">
<classpath>
<pathelement location="${dist}/lib/TranslationDesktop-${DSTAMP}.jar"/>
<pathelement location="${dist}/lib/DictionarySearchStandalone-${DSTAMP}.jar"/>
<path refid="entire.class.path"/>
</classpath>
<jvmarg value="-DTHDL_DEBUG=${thdl.debug}"/>
@ -536,6 +557,130 @@
</antcall>
</target>
<!-- DLC FIXME: we need a compile-all that uses if="" and <available> . -->
<!-- -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* -->
<!-- UTILITY TARGETS - targets of antcalls, targets not usually
directly called. -->
<!-- -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* -->
<!-- Utility target called by private-javadocs and public-javadocs -->
<target name="our-javadocs" depends="init"
description="INTERNAL TASK: makes Javadoc documentation; usually not called directly" >
<!-- See http://jakarta.apache.org/ant/manual/CoreTasks/javadoc.html
to learn more about the Javadoc task.
-->
<tstamp>
<format property="javadoc.creation.time" pattern="MM/dd/yyyy hh:mm aa"/>
</tstamp>
<!-- We don't really use @version correctly, do we? So version="false". -->
<javadoc destdir="${our-javadocs-destdir}"
author="true"
access="${access}"
version="false"
use="true"
classpathref="entire.class.path"
windowtitle="THDL Tools APIs"
Overview="${source}/overview.html">
<fileset dir="${source}" defaultexcludes="yes">
<include name="org/thdl/**" />
<!-- Exclude JUnit tests: -->
<exclude name="**/*Test.java"/>
<exclude name="**/*AllTests.java"/>
<exclude name="**/*.ini"/>
<exclude name="**/*.html"/>
<exclude name="**/*.gif"/>
<exclude name="**/*.jpg"/>
</fileset>
<doctitle><![CDATA[<h1>THDL Tools</h1>]]></doctitle>
<!-- Note: We must show the SF.net logo in order to get hit counts. -->
<bottom>These API docs were created ${javadoc.creation.time}.<![CDATA[<br><i>Copyright &#169; 2001-2002 Tibetan and Himalayan Digital Library. All Rights Reserved.</i><br>Hosted by <a href="http://sourceforge.net/"><img src="http://sourceforge.net/sflogo.php?group_id=61934&amp;type=1" width="88" height="31" border="0" alt="SourceForge_Logo"></a>]]></bottom>
<group title="Tibetan Text Packages" packages="org.thdl.tib.text.**"/>
<group title="Tibetan Input Packages" packages="org.thdl.tib.input.**"/>
<!-- Have our API docs link to Sun's, JDOM's, etc. -->
<link offline="true"
href="http://java.sun.com/j2se/1.4/docs/api/"
packagelistLoc="${docs}/j2sdk1.4-package-list"/>
<link offline="true"
href="http://www.jdom.org/docs/apidocs/"
packagelistLoc="${docs}/jdom-package-list"/>
</javadoc>
</target>
<target name="copy-license-to-bin-dir-for-jarring"
depends="init"
description="INTERNAL TASK: Copies the license documents to the bin directory. Usually not called directly.">
<copy todir="${mybin}">
<fileset dir="${license}"/>
</copy>
</target>
<target name="copy-ini-files-to-bin-dir-for-jarring"
depends="init"
description="INTERNAL TASK: Copies the *.ini files to the bin directory. Usually not called directly.">
<copy todir="${mybin}">
<fileset dir="${source}">
<include name="org/thdl/tib/**/*.ini"/>
</fileset>
</copy>
</target>
<!-- To avoid duplicating very similar compilation tasks, we antcall
this task. We do this once per class we want, and javac is
smart enough to find dependent classes and compile them. -->
<target name="our-internal-javac-task"
depends="init"
description="INTERNAL TASK: Compiles according to Ant properties. Usually not called directly.">
<!-- Be sure we're going to be able to compile something: -->
<available file="${source}/${my.included.source.file}" property="found.file.to.compile"/>
<fail message="Can't find the file '${source}/${my.included.source.file}' to compile it! Don't worry about forward vs. backward slashes, by the way--Ant is smart about those."
unless="found.file.to.compile"/>
<javac destdir="${mybin}" debug="${javacdashg}" target="${target.jvm}">
<classpath refid="entire.class.path"/>
<src path="${source}"/>
<include name="${my.included.source.file}" />
<!-- Exclude JUnit tests: -->
<exclude name="**/*Test.java" />
<exclude name="**/*AllTests.java" />
<!-- Don't compile these resources (we could leave this out, but
Ant's debugging output would confuse us, and having this
explicit is a Good Thing: -->
<exclude name="**/*.properties" />
<exclude name="**/*.rtf" />
<exclude name="**/*.txt" />
<exclude name="**/*.ini" />
<exclude name="**/*.html" />
<exclude name="**/*.gif" />
<exclude name="**/*.jpg" />
</javac>
</target>
</project>
<!-- My TO-DO list: -->
<!-- DLC FIXME: we need a compile-all that uses if="" and <available>. -->
<!-- DLC FIXME: Now that we use javac -target 1.1, do we need a
separate tt-handheld and tt-standalone? -->