| <?xml version="1.0"?> |
| |
| <!-- =================================================================== --> |
| <!-- JBoss build file --> |
| <!-- =================================================================== --> |
| |
| <project name="javassist" default="jar" basedir="."> |
| |
| <property name="dist-version" value="javassist-3.14.0-GA"/> |
| |
| <property environment="env"/> |
| <property name="target.jar" value="javassist.jar"/> |
| <property name="target-src.jar" value="javassist-src.jar"/> |
| <property name="lib.dir" value="${basedir}/lib"/> |
| <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="test.src.dir" value="${basedir}/src/test"/> |
| <property name="test.build.dir" value="${basedir}/build/test-classes"/> |
| <property name="test.reports.dir" value = "${basedir}/build/test-output"/> |
| |
| <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"/> |
| |
| <path id="test.compile.classpath"> |
| <pathelement location="${build.classes.dir}"/> |
| <pathelement location="${lib.dir}/junit.jar"/> |
| </path> |
| |
| <property name="test.compile.classpath" refid="test.compile.classpath"/> |
| |
| <path id="test.classpath"> |
| <pathelement location="${test.build.dir}"/> |
| <pathelement location="${lib.dir}/junit.jar"/> |
| <pathelement location="${build.classes.dir}"/> |
| </path> |
| |
| <property name="test.classpath" refid="test.classpath"/> |
| |
| <!-- =================================================================== --> |
| <!-- Prepares the build directory --> |
| <!-- =================================================================== --> |
| <target name="prepare" > |
| <mkdir dir="${build.dir}"/> |
| <mkdir dir="${build.classes.dir}"/> |
| <mkdir dir="${test.build.dir}"/> |
| <mkdir dir="${test.reports.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="compile14" depends="prepare"> |
| <javac srcdir="${src.dir}" |
| destdir="${build.classes.dir}" |
| debug="on" |
| deprecation="on" |
| source="1.4" |
| target="1.4" |
| optimize="off" |
| includes="**"> |
| <classpath refid="classpath"/> |
| </javac> |
| </target> |
| |
| <target name="test-compile" depends="compile"> |
| <javac srcdir="${test.src.dir}" |
| destdir="${test.build.dir}" |
| debug="on" |
| deprecation="on" |
| optimize="off" |
| includes="**"> |
| <classpath refid="test.compile.classpath"/> |
| </javac> |
| </target> |
| |
| <target name="test" depends="test-compile"> |
| <junit fork="true" printsummary="true"> |
| <classpath refid="test.classpath"/> |
| <formatter type="plain"/> |
| <formatter type="xml"/> |
| <batchtest todir="${test.reports.dir}"> |
| <fileset dir="${test.build.dir}"> |
| <include name="**/*Test.*"/> |
| </fileset> |
| </batchtest> |
| </junit> |
| </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="compile14"> |
| <jar jarfile="${target.jar}" manifest="${src.dir}/META-INF/MANIFEST.MF"> |
| <fileset dir="${build.classes.dir}"> |
| <include name="**/*.class"/> |
| </fileset> |
| </jar> |
| <jar jarfile="${target-src.jar}" manifest="${src.dir}/META-INF/MANIFEST.MF"> |
| <fileset dir="${src.dir}"> |
| <include name="javassist/**"/> |
| </fileset> |
| </jar> |
| </target> |
| |
| <target name="javadocs"> |
| <mkdir dir="html"/> |
| <javadoc |
| Locale="en_US" |
| packagenames="javassist.*" |
| excludepackagenames="javassist.compiler.*,javassist.convert.*,javassist.scopedpool.*,javassist.bytecode.stackmap.*" |
| sourcepath="src/main" |
| defaultexcludes="yes" |
| 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-2010 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="html/**"/> |
| <include name="sample/**"/> |
| <include name="src/main/**"/> |
| <include name="tutorial/**"/> |
| <include name="*.html"/> |
| <include name="*.xml"/> |
| <include name="${target.jar}"/> |
| </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> |