You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
326 lines
12 KiB
326 lines
12 KiB
<?xml version="1.0"?>
|
|
|
|
<!-- =================================================================== -->
|
|
<!-- JBoss build file -->
|
|
<!-- =================================================================== -->
|
|
|
|
<project name="javassist" default="jar" basedir=".">
|
|
|
|
<property name="dist-version" value="javassist-3.24.1-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}/target"/>
|
|
<property name="build.classes.dir" value="${build.dir}/classes"/>
|
|
<property name="test.src.dir" value="${basedir}/src/test"/>
|
|
<property name="test.lib.dir" value="${test.src.dir}/resources"/>
|
|
<property name="test.build.dir" value="${build.dir}/test-classes"/>
|
|
<property name="test.run.dir" value="${build.dir}/runtest"/>
|
|
<property name="test.reports.dir" value = "${build.dir}/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"/>
|
|
<pathelement location="${lib.dir}/hamcrest.jar"/>
|
|
</path>
|
|
|
|
<property name="test.compile.classpath" refid="test.compile.classpath"/>
|
|
|
|
<path id="test.classpath">
|
|
<pathelement location="${test.build.dir}"/>
|
|
<pathelement location="${test.lib.dir}"/>
|
|
<pathelement location="${lib.dir}/junit.jar"/>
|
|
<pathelement location="${lib.dir}/hamcrest.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}"/>
|
|
<mkdir dir="${test.run.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"
|
|
includeantruntime="true"
|
|
includes="**">
|
|
<classpath refid="classpath"/>
|
|
</javac>
|
|
</target>
|
|
|
|
<target name="compile18" depends="prepare">
|
|
<javac srcdir="${src.dir}"
|
|
destdir="${build.classes.dir}"
|
|
debug="on"
|
|
deprecation="on"
|
|
source="1.7"
|
|
target="1.7"
|
|
optimize="off"
|
|
includeantruntime="true"
|
|
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"
|
|
includeantruntime="false"
|
|
includes="**">
|
|
<classpath refid="test.compile.classpath"/>
|
|
<compilerarg value="-parameters" />
|
|
</javac>
|
|
</target>
|
|
|
|
<target name="runtest" depends="jar,test-compile">
|
|
<copy file="${test.lib.dir}/empty.jar"
|
|
tofile="${test.lib.dir}/emptyorig.jar"
|
|
preservelastmodified="true" />
|
|
<junit fork="true" printsummary="true" dir="${test.run.dir}">
|
|
<jvmarg value="-XX:-FailOverToOldVerifier"/>
|
|
<classpath refid="test.classpath"/>
|
|
<formatter type="xml" extension=".xml"/>
|
|
<test name="javassist.JvstTest" outfile="TestLog" />
|
|
</junit>
|
|
<move file="${test.lib.dir}/emptyorig.jar"
|
|
tofile="${test.lib.dir}/empty.jar" />
|
|
</target>
|
|
|
|
<target name="runtest9" depends="jar,test-compile">
|
|
<copy file="${test.lib.dir}/empty.jar"
|
|
tofile="${test.lib.dir}/emptyorig.jar"
|
|
preservelastmodified="true" />
|
|
<junit fork="true" printsummary="true" dir="${test.run.dir}">
|
|
<jvmarg line="--add-opens java.base/java.lang=ALL-UNNAMED" />
|
|
<jvmarg value="-XX:-FailOverToOldVerifier"/>
|
|
<classpath refid="test.classpath"/>
|
|
<formatter type="xml" extension=".xml"/>
|
|
<test name="javassist.JvstTest" outfile="TestLog" />
|
|
</junit>
|
|
<move file="${test.lib.dir}/emptyorig.jar"
|
|
tofile="${test.lib.dir}/empty.jar" />
|
|
</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="compile18">
|
|
<jar jarfile="${target.jar}" update="true" 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- Shigeru Chiba. All Rights Reserved.</i>]]></bottom>
|
|
</javadoc>
|
|
</target>
|
|
|
|
<target name="dist" depends="jar,javadocs">
|
|
<delete file="${dist-version}.zip"/>
|
|
<delete file="TestLog.xml"/>
|
|
<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="html"/>
|
|
<delete dir="${build.dir}"/>
|
|
<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>
|