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.

build.xml 8.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232
  1. <?xml version="1.0"?>
  2. <!-- =================================================================== -->
  3. <!-- JBoss build file -->
  4. <!-- =================================================================== -->
  5. <project name="javassist" default="jar" basedir=".">
  6. <property name="dist-version" value="javassist-3.1RC2"/>
  7. <property environment="env"/>
  8. <property name="target.jar" value="javassist.jar"/>
  9. <property name="src.dir" value="${basedir}/src/main"/>
  10. <property name="build.dir" value="${basedir}/build"/>
  11. <property name="build.classes.dir" value="${build.dir}/classes"/>
  12. <property name="run.dir" value="${build.classes.dir}"/>
  13. <!-- Build classpath -->
  14. <path id="classpath">
  15. <pathelement location="${build.classes.dir}"/>
  16. </path>
  17. <property name="build.classpath" refid="classpath"/>
  18. <!-- =================================================================== -->
  19. <!-- Prepares the build directory -->
  20. <!-- =================================================================== -->
  21. <target name="prepare" >
  22. <mkdir dir="${build.dir}"/>
  23. <mkdir dir="${build.classes.dir}"/>
  24. </target>
  25. <!-- =================================================================== -->
  26. <!-- Compiles the source code -->
  27. <!-- =================================================================== -->
  28. <target name="compile" depends="prepare">
  29. <javac srcdir="${src.dir}"
  30. destdir="${build.classes.dir}"
  31. debug="on"
  32. deprecation="on"
  33. optimize="off"
  34. includes="**">
  35. <classpath refid="classpath"/>
  36. </javac>
  37. </target>
  38. <target name="sample" depends="compile">
  39. <javac srcdir="${basedir}"
  40. destdir="${build.classes.dir}"
  41. debug="on"
  42. deprecation="on"
  43. optimize="off"
  44. includes="sample/**"
  45. excludes="sample/hotswap/**,sample/evolve/sample/**">
  46. <classpath refid="classpath"/>
  47. </javac>
  48. <copy file="sample/vector/Test.j"
  49. todir="${build.classes.dir}/sample/vector"/>
  50. <javac srcdir="${basedir}/sample/evolve"
  51. destdir="${build.classes.dir}/sample/evolve/"
  52. debug="on"
  53. deprecation="on"
  54. optimize="off"
  55. includes="sample/**">
  56. <classpath refid="classpath"/>
  57. </javac>
  58. <copy todir="${build.classes.dir}/sample/evolve">
  59. <fileset dir="sample/evolve"/>
  60. </copy>
  61. <copy file="${build.classes.dir}/sample/evolve/WebPage.class"
  62. tofile="${build.classes.dir}/sample/evolve/WebPage.class.0"/>
  63. <copy file="${build.classes.dir}/sample/evolve/sample/evolve/WebPage.class"
  64. tofile="${build.classes.dir}/sample/evolve/WebPage.class.1"/>
  65. <javac srcdir="${basedir}/sample/hotswap"
  66. destdir="${build.classes.dir}"
  67. debug="on"
  68. deprecation="on"
  69. optimize="off"
  70. includes="*">
  71. <classpath refid="classpath"/>
  72. </javac>
  73. <mkdir dir="${build.classes.dir}/logging"/>
  74. <javac srcdir="${basedir}/sample/hotswap/logging"
  75. destdir="${build.classes.dir}/logging"
  76. debug="on"
  77. deprecation="on"
  78. optimize="off"
  79. includes="*">
  80. <classpath refid="classpath"/>
  81. </javac>
  82. <echo>To run the sample programs without ant, change the current directory
  83. to ${build.classes.dir}.</echo>
  84. </target>
  85. <target name="jar" depends="compile">
  86. <jar jarfile="${target.jar}" manifest="${src.dir}/META-INF/MANIFEST.MF">
  87. <fileset dir="${build.classes.dir}">
  88. <include name="**/*.class"/>
  89. </fileset>
  90. </jar>
  91. </target>
  92. <target name="javadocs">
  93. <javadoc packagenames="javassist.*"
  94. excludepackagenames="javassist.compiler.*,javassist.convert.*"
  95. sourcepath="src/main"
  96. defaultexcludes="yes"
  97. locale="en_US"
  98. charset="iso-8859-1"
  99. destdir="html"
  100. author="true"
  101. version="true"
  102. use="true"
  103. public="true"
  104. nohelp="true"
  105. windowtitle="Javassist API">
  106. <doctitle><![CDATA[<h1>Javassist</h1>]]></doctitle>
  107. <bottom><![CDATA[<i>Javassist, a Java-bytecode translator toolkit.
  108. Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.</i>]]></bottom>
  109. </javadoc>
  110. </target>
  111. <target name="dist" depends="jar,javadocs">
  112. <delete file="${dist-version}.zip"/>
  113. <zip zipfile="${dist-version}.zip">
  114. <zipfileset dir="${basedir}" prefix="${dist-version}">
  115. <include name="**"/>
  116. <exclude name=".*"/>
  117. <exclude name=".*/**"/>
  118. <exclude name="build/**"/>
  119. <exclude name="local/**"/>
  120. <exclude name="${dist-version}.zip"/>
  121. </zipfileset>
  122. </zip>
  123. </target>
  124. <target name="clean">
  125. <delete dir="build"/>
  126. <delete dir="html"/>
  127. <delete file="${target.jar}"/>
  128. <delete file="${dist-version}.zip"/>
  129. </target>
  130. <!-- =================================================================== -->
  131. <!-- Run samples -->
  132. <!-- =================================================================== -->
  133. <target name = "sample-all"
  134. depends="sample-test,sample-reflect,sample-duplicate,sample-vector">
  135. <echo>** please run sample-rmi, sample-evolve, and</echo>
  136. <echo> sample-hotswap (or -hotswap5) separately **</echo>
  137. </target>
  138. <target name = "sample-test" depends="sample" >
  139. <java fork="true" dir="${run.dir}" classname="sample.Test">
  140. <classpath refid="classpath"/>
  141. </java>
  142. </target>
  143. <target name = "sample-reflect" depends="sample" >
  144. <java fork="true" dir="${run.dir}" classname="javassist.tools.reflect.Loader">
  145. <classpath refid="classpath"/>
  146. <arg line="sample.reflect.Main Joe" />
  147. </java>
  148. </target>
  149. <target name = "sample-duplicate" depends="sample" >
  150. <echo>run sample.duplicate.Viewer without reflection</echo>
  151. <java fork="true" dir="${run.dir}" classname="sample.duplicate.Viewer">
  152. <classpath refid="classpath"/>
  153. </java>
  154. <echo>run sample.duplicate.Viewer with reflection</echo>
  155. <java fork="true" dir="${run.dir}" classname="sample.duplicate.Main">
  156. <classpath refid="classpath"/>
  157. </java>
  158. </target>
  159. <target name = "sample-vector" depends="sample" >
  160. <echo>sample.preproc.Compiler sample/vector/Test.j</echo>
  161. <java fork="true" dir="${run.dir}" classname="sample.preproc.Compiler">
  162. <classpath refid="classpath"/>
  163. <arg line="sample/vector/Test.j"/>
  164. </java>
  165. <echo>javac sample/vector/Test.java</echo>
  166. <javac srcdir="${build.classes.dir}"
  167. destdir="${build.classes.dir}"
  168. includes="sample/vector/Test.java">
  169. <classpath refid="classpath"/>
  170. </javac>
  171. <java fork="true" dir="${run.dir}" classname="sample.vector.Test" />
  172. </target>
  173. <target name = "sample-rmi" depends="sample" >
  174. <echo>** Please open sample/rmi/webdemo.html with your browser **</echo>
  175. <java fork="true" dir="${run.dir}" classname="sample.rmi.Counter">
  176. <classpath refid="classpath"/>
  177. <arg value="5001" />
  178. </java>
  179. </target>
  180. <target name = "sample-evolve" depends="sample" >
  181. <echo>** Please open http://localhost:5003/demo.html with your browser **</echo>
  182. <java fork="true" dir="${run.dir}" classname="sample.evolve.DemoLoader">
  183. <classpath refid="classpath"/>
  184. <arg value="5003" />
  185. </java>
  186. </target>
  187. <!-- for JDK 1.4 -->
  188. <target name = "sample-hotswap" depends="sample">
  189. <echo>** JAVA_HOME/lib/tools.jar must be included in CLASS_PATH</echo>
  190. <echo>** for JDK 1.4</echo>
  191. <java fork="true" dir="${run.dir}" classname="Test">
  192. <jvmarg line="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000" />
  193. <classpath refid="classpath"/>
  194. </java>
  195. </target>
  196. <!-- for Java 5 -->
  197. <target name = "sample-hotswap5" depends="sample">
  198. <echo>** JAVA_HOME/lib/tools.jar must be included in CLASS_PATH</echo>
  199. <echo>** for JDK 1.5 or later</echo>
  200. <java fork="true" dir="${run.dir}" classname="Test">
  201. <jvmarg line="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000" />
  202. <classpath refid="classpath"/>
  203. </java>
  204. </target>
  205. </project>