Only build the instrumenter if we have the necessary dependencies.

git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4694 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
Michael Bayne
2007-05-07 19:19:20 +00:00
parent dac3462f20
commit 8df35549df
+19 -8
View File
@@ -85,15 +85,15 @@
</receiver> </receiver>
</target> </target>
<!-- generates readObject()/writeObject() for Stremable classes --> <!-- adds readField and writeField methods to Stremable classes -->
<target name="genstream"> <target name="procstream">
<taskdef name="genstream" classpathref="classpath" <taskdef name="instream" classpathref="classpath"
classname="com.threerings.presents.tools.InstrumentStreamableTask"/> classname="com.threerings.presents.tools.InstrumentStreamableTask"/>
<!-- now generate the associated files --> <!-- now instrument the associated files -->
<genstream outdir="${classes.dir}"> <instream outdir="${classes.dir}">
<path refid="classpath"/> <path refid="classpath"/>
<fileset dir="${classes.dir}" includes="**/data/*.class"/> <fileset dir="${classes.dir}" includes="**/data/*.class"/>
</genstream> </instream>
</target> </target>
<!-- generates ActionScript versions of our Streamable classes --> <!-- generates ActionScript versions of our Streamable classes -->
@@ -106,6 +106,16 @@
</genscript> </genscript>
</target> </target>
<!-- checks the availability of certain libraries -->
<target name="check-available" depends="prepare">
<available property="javassist.present"
classname="javassist.ClassPool" classpathref="classpath"/>
<echo message="Have Javassist: ${javassist.present}"/>
<condition property="build.instrument">
<isset property="javassist.present"/>
</condition>
</target>
<!-- prepares the application directories --> <!-- prepares the application directories -->
<target name="prepare"> <target name="prepare">
<mkdir dir="${deploy.dir}"/> <mkdir dir="${deploy.dir}"/>
@@ -135,10 +145,11 @@
</target> </target>
<!-- build the java class files --> <!-- build the java class files -->
<target name="compile" depends="prepare"> <target name="compile" depends="prepare,check-available">
<javac srcdir="src/java" destdir="${classes.dir}" includeAntRuntime="false" <javac srcdir="src/java" destdir="${classes.dir}" includeAntRuntime="false"
debug="on" optimize="{$build.optimize}" deprecation="on" debug="on" optimize="{$build.optimize}" deprecation="on"
source="1.5" target="1.5"> source="1.5" target="1.5">
<exclude name="**/InstrumentStreamableTask*" unless="build.instrument"/>
<classpath refid="classpath"/> <classpath refid="classpath"/>
<compilerarg value="-Xlint"/> <compilerarg value="-Xlint"/>
<compilerarg value="-Xlint:-serial"/> <compilerarg value="-Xlint:-serial"/>
@@ -188,7 +199,7 @@
depends="clean,prepare,compile,ncompile,javadoc,tests,dist"/> depends="clean,prepare,compile,ncompile,javadoc,tests,dist"/>
<!-- builds our distribution files (war and jar) --> <!-- builds our distribution files (war and jar) -->
<target name="dist" depends="prepare,compile,ncompile,tests"> <target name="dist" depends="prepare,compile,procstream,ncompile,tests">
<!-- build our various jar files --> <!-- build our various jar files -->
<jar destfile="${deploy.dir}/${app.name}-base.jar"> <jar destfile="${deploy.dir}/${app.name}-base.jar">
<fileset dir="${classes.dir}" includes="com/threerings/NaryaLog**"/> <fileset dir="${classes.dir}" includes="com/threerings/NaryaLog**"/>