<?xml version="1.0"?> <!-- =================================================================== --> <!-- JBoss build file --> <!-- =================================================================== --> <project name="javassist" default="jar" basedir="."> <property name="dist-version" value="javassist-3.2"/> <property environment="env"/> <property name="target.jar" value="javassist.jar"/> <property name="src.dir" value="${basedir}/src/main"/> <property name="build.dir" value="${basedir}/build"/> <property name="build.classes.dir" value="${build.dir}/classes"/> <property name="run.dir" value="${build.classes.dir}"/> <!-- Build classpath --> <path id="classpath"> <pathelement location="${build.classes.dir}"/> </path> <property name="build.classpath" refid="classpath"/> <!-- =================================================================== --> <!-- Prepares the build directory --> <!-- =================================================================== --> <target name="prepare" > <mkdir dir="${build.dir}"/> <mkdir dir="${build.classes.dir}"/> </target> <!-- =================================================================== --> <!-- Compiles the source code --> <!-- =================================================================== --> <target name="compile" depends="prepare"> <javac srcdir="${src.dir}" destdir="${build.classes.dir}" debug="on" deprecation="on" optimize="off" includes="**"> <classpath refid="classpath"/> </javac> </target> <target name="sample" depends="compile"> <javac srcdir="${basedir}" destdir="${build.classes.dir}" debug="on" deprecation="on" optimize="off" includes="sample/**" excludes="sample/hotswap/**,sample/evolve/sample/**"> <classpath refid="classpath"/> </javac> <copy file="sample/vector/Test.j" todir="${build.classes.dir}/sample/vector"/> <javac srcdir="${basedir}/sample/evolve" destdir="${build.classes.dir}/sample/evolve/" debug="on" deprecation="on" optimize="off" includes="sample/**"> <classpath refid="classpath"/> </javac> <copy todir="${build.classes.dir}/sample/evolve"> <fileset dir="sample/evolve"/> </copy> <copy file="${build.classes.dir}/sample/evolve/WebPage.class" tofile="${build.classes.dir}/sample/evolve/WebPage.class.0"/> <copy file="${build.classes.dir}/sample/evolve/sample/evolve/WebPage.class" tofile="${build.classes.dir}/sample/evolve/WebPage.class.1"/> <javac srcdir="${basedir}/sample/hotswap" destdir="${build.classes.dir}" debug="on" deprecation="on" optimize="off" includes="*"> <classpath refid="classpath"/> </javac> <mkdir dir="${build.classes.dir}/logging"/> <javac srcdir="${basedir}/sample/hotswap/logging" destdir="${build.classes.dir}/logging" debug="on" deprecation="on" optimize="off" includes="*"> <classpath refid="classpath"/> </javac> <echo>To run the sample programs without ant, change the current directory to ${build.classes.dir}.</echo> </target> <target name="jar" depends="compile"> <jar jarfile="${target.jar}" manifest="${src.dir}/META-INF/MANIFEST.MF"> <fileset dir="${build.classes.dir}"> <include name="**/*.class"/> </fileset> </jar> </target> <target name="javadocs"> <javadoc packagenames="javassist.*" excludepackagenames="javassist.compiler.*,javassist.convert.*" sourcepath="src/main" defaultexcludes="yes" locale="en_US" destdir="html" author="true" version="true" use="true" public="true" nohelp="true" windowtitle="Javassist API"> <doctitle><![CDATA[<h1>Javassist</h1>]]></doctitle> <bottom><![CDATA[<i>Javassist, a Java-bytecode translator toolkit.<br> Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.</i>]]></bottom> </javadoc> </target> <target name="dist" depends="jar,javadocs"> <delete file="${dist-version}.zip"/> <zip zipfile="${dist-version}.zip"> <zipfileset dir="${basedir}" prefix="${dist-version}"> <include name="**"/> <exclude name=".*"/> <exclude name=".*/**"/> <exclude name="build/**"/> <exclude name="local/**"/> <exclude name="${dist-version}.zip"/> </zipfileset> </zip> </target> <target name="clean"> <delete dir="build"/> <delete dir="html"/> <delete file="${target.jar}"/> <delete file="${dist-version}.zip"/> </target> <!-- =================================================================== --> <!-- Run samples --> <!-- =================================================================== --> <target name = "sample-all" depends="sample-test,sample-reflect,sample-duplicate,sample-vector"> <echo>** please run sample-rmi, sample-evolve, and</echo> <echo> sample-hotswap (or -hotswap5) separately **</echo> </target> <target name = "sample-test" depends="sample" > <java fork="true" dir="${run.dir}" classname="sample.Test"> <classpath refid="classpath"/> </java> </target> <target name = "sample-reflect" depends="sample" > <java fork="true" dir="${run.dir}" classname="javassist.tools.reflect.Loader"> <classpath refid="classpath"/> <arg line="sample.reflect.Main Joe" /> </java> </target> <target name = "sample-duplicate" depends="sample" > <echo>run sample.duplicate.Viewer without reflection</echo> <java fork="true" dir="${run.dir}" classname="sample.duplicate.Viewer"> <classpath refid="classpath"/> </java> <echo>run sample.duplicate.Viewer with reflection</echo> <java fork="true" dir="${run.dir}" classname="sample.duplicate.Main"> <classpath refid="classpath"/> </java> </target> <target name = "sample-vector" depends="sample" > <echo>sample.preproc.Compiler sample/vector/Test.j</echo> <java fork="true" dir="${run.dir}" classname="sample.preproc.Compiler"> <classpath refid="classpath"/> <arg line="sample/vector/Test.j"/> </java> <echo>javac sample/vector/Test.java</echo> <javac srcdir="${build.classes.dir}" destdir="${build.classes.dir}" includes="sample/vector/Test.java"> <classpath refid="classpath"/> </javac> <java fork="true" dir="${run.dir}" classname="sample.vector.Test" /> </target> <target name = "sample-rmi" depends="sample" > <echo>** Please open sample/rmi/webdemo.html with your browser **</echo> <java fork="true" dir="${run.dir}" classname="sample.rmi.Counter"> <classpath refid="classpath"/> <arg value="5001" /> </java> </target> <target name = "sample-evolve" depends="sample" > <echo>** Please open http://localhost:5003/demo.html with your browser **</echo> <java fork="true" dir="${run.dir}" classname="sample.evolve.DemoLoader"> <classpath refid="classpath"/> <arg value="5003" /> </java> </target> <!-- for JDK 1.4 --> <target name = "sample-hotswap" depends="sample"> <echo>** JAVA_HOME/lib/tools.jar must be included in CLASS_PATH</echo> <echo>** for JDK 1.4</echo> <java fork="true" dir="${run.dir}" classname="Test"> <jvmarg line="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000" /> <classpath refid="classpath"/> </java> </target> <!-- for Java 5 --> <target name = "sample-hotswap5" depends="sample"> <echo>** JAVA_HOME/lib/tools.jar must be included in CLASS_PATH</echo> <echo>** for JDK 1.5 or later</echo> <java fork="true" dir="${run.dir}" classname="Test"> <jvmarg line="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000" /> <classpath refid="classpath"/> </java> </target> </project>