Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

new-test-taskdefs.xml 24KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561
  1. <!-- -*- Mode: SGML; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- -->
  2. <!-- -->
  3. <!-- This file is part of the compiler and core tools for the AspectJ(tm) -->
  4. <!-- programming language; see http://aspectj.org -->
  5. <!-- -->
  6. <!-- The contents of this file are subject to the Mozilla Public License -->
  7. <!-- Version 1.1 (the "License"); you may not use this file except in -->
  8. <!-- compliance with the License. You may obtain a copy of the License at -->
  9. <!-- either http://www.mozilla.org/MPL/ or http://aspectj.org/MPL/. -->
  10. <!-- -->
  11. <!-- Software distributed under the License is distributed on an "AS IS" basis, -->
  12. <!-- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -->
  13. <!-- for the specific language governing rights and limitations under the -->
  14. <!-- License. -->
  15. <!-- -->
  16. <!-- The Original Code is AspectJ. -->
  17. <!-- -->
  18. <!-- The Initial Developer of the Original Code is Xerox Corporation. Portions -->
  19. <!-- created by Xerox Corporation are Copyright (C) 1999, 2000 Xerox Corporation. -->
  20. <!-- All Rights Reserved. -->
  21. <!-- ============================================================================== -->
  22. <!-- To do a build, invoke build/bin/ant.[sh|bat] after defining JDKDIR. -->
  23. <!-- To customize properties, edit local.properties.examples as local.properties. -->
  24. <!-- ============================================================================== -->
  25. <!-- todo: non-distribution license?? -->
  26. <!-- standalone script to be run in examples dir -->
  27. <!-- currently relies on deployed taskdefs to ant.home, instead of -->
  28. <!-- using taskdef classpaths (aka safe install) -->
  29. <project name="test-taskdefs" default="test" basedir="..">
  30. <!-- ========================================================================== -->
  31. <!-- Init -->
  32. <!-- ========================================================================== -->
  33. <target name="init"
  34. description="caller must define jdk.tools.jar and product.dir or run from product.examples.dir">
  35. <echo message="init test-taskdefs.xml"/>
  36. <property name="PS" value="${path.separator}"/>
  37. <!-- define product.dir or run from it -->
  38. <property name="product.dir"
  39. location="${basedir}"/>
  40. <!-- define local.deploy.dir to get different tools and taskdefs -->
  41. <property name="local.deploy.dir"
  42. location="${product.dir}"/>
  43. <!-- expected from install -->
  44. <property name="ex.dir"
  45. location="${product.dir}/examples"/>
  46. <property name="product.examples.dir"
  47. location="${ex.dir}"/>
  48. <!-- created after install -->
  49. <property name="test.dir"
  50. location="${product.dir}/test"/>
  51. <property name="expect.file"
  52. location="${test.dir}/expect.out"/>
  53. <property name="actual.file"
  54. location="${test.dir}/actual.out"/>
  55. <property name="empty.dir"
  56. location="${test.dir}/emptydir"/>
  57. <property name="classes.dir"
  58. location="${test.dir}/classes"/>
  59. <property name="expected.classes.dir"
  60. location="${test.dir}/expectedClasses"/>
  61. <property name="working.dir"
  62. location="${product.dir}/workingdir"/>
  63. <property name="expected.working.dir"
  64. location="${test.dir}/expectedWorkingdir"/>
  65. <mkdir dir="${empty.dir}"/>
  66. <mkdir dir="${classes.dir}"/>
  67. <mkdir dir="${expected.classes.dir}"/>
  68. <mkdir dir="${working.dir}"/>
  69. <mkdir dir="${expected.working.dir}"/>
  70. <property name="build-tools.jar"
  71. location="${ant.home}/lib/build-tools.jar"/>
  72. <property name="safe.classpath" value="yes"/>
  73. <!-- unsafe classpaths in ant/lib -->
  74. <property name="aj-testing.jar"
  75. location="${ant.home}/lib/aj-testing.jar"/>
  76. <property name="aj-testing-taskdefs.jar"
  77. location="${ant.home}/lib/aj-testing-taskdefs.jar"/>
  78. <property name="aspectj-ant.jar"
  79. location="${ant.home}/lib/aspectj-ant.jar"/>
  80. <property name="aspectjtools.jar"
  81. location="${ant.home}/lib/aspectjtools.jar"/>
  82. <property name="aspectjrt.jar"
  83. location="${product.dir}/lib/aspectjrt.jar"/>
  84. <!-- safe classpaths in ant/lib/optional -->
  85. <property name="safe.aj-testing.jar"
  86. location="${ant.home}/lib/optional/aj-testing.jar"/>
  87. <property name="safe.aj-testing-taskdefs.jar"
  88. location="${ant.home}/lib/optional/aj-testing-taskdefs.jar"/>
  89. <property name="safe.aspectj-ant.jar"
  90. location="${ant.home}/lib/optional/aspectj-ant.jar"/>
  91. <property name="safe.aspectjtools.jar"
  92. location="${ant.home}/lib/optional/aspectjtools.jar"/>
  93. <property name="safe.aspectjrt.jar"
  94. location="${ant.home}/lib/optional/aspectjrt.jar"/>
  95. <available file="${build-tools.jar}"
  96. property="build-tools.jar.available"/>
  97. <available file="${aspectjtools.jar}"
  98. property="aspectjtools.jar.available"/>
  99. <available file="${aspectjrt.jar}"
  100. property="aspectjrt.jar.available"/>
  101. <available file="${aspectj-ant.jar}"
  102. property="aspectj-ant.jar.available"/>
  103. <available file="${aj-testing.jar}"
  104. property="aj-testing.jar.available"/>
  105. <available file="${aj-testing-taskdefs.jar}"
  106. property="aj-testing-taskdefs.jar.available"/>
  107. <available file="${safe.aspectjtools.jar}"
  108. property="safe.aspectjtools.jar.available"/>
  109. <available file="${safe.aspectjrt.jar}"
  110. property="safe.aspectjrt.jar.available"/>
  111. <available file="${safe.aspectj-ant.jar}"
  112. property="safe.aspectj-ant.jar.available"/>
  113. <available file="${safe.aj-testing.jar}"
  114. property="safe.aj-testing.jar.available"/>
  115. <available file="${safe.aj-testing-taskdefs.jar}"
  116. property="safe.aj-testing-taskdefs.jar.available"/>
  117. <property name="run.classpath"
  118. location="${classes.dir}${PS}${aspectjrt.jar}"/>
  119. <property name="simple.run.classpath"
  120. location="${product.examples.dir}${PS}${aspectjrt.jar}"/>
  121. <property name="aj.public.taskdef.package"
  122. value="org.aspectj.tools.ant.taskdefs"/>
  123. </target>
  124. <target name="setup.taskdef.classpath"
  125. depends="setup.taskdef.classpath.unsafe,setup.taskdef.classpath.safe" />
  126. <target name="setup.taskdef.classpath.safe" if="safe.classpath" >
  127. <property name="safe.classpath" value="yes"/>
  128. <property name="use.safe.classpath" value="yes"/>
  129. <property name="use.fork" value="${use.safe.classpath}"/>
  130. </target>
  131. <target name="setup.taskdef.classpath.unsafe" unless="safe.classpath" >
  132. <property name="use.safe.classpath" value="no"/>
  133. <property name="use.fork" value="${use.safe.classpath}"/>
  134. </target>
  135. <target name="init.taskdefs"
  136. depends="setup.taskdef.classpath,init.taskdefs.safe,init.taskdefs.unsafe" />
  137. <target name="init.taskdefs.unsafe"
  138. depends="init,setup.taskdef.classpath"
  139. unless="safe.classpath"
  140. description="initialize taskdefs relying on ant.home/lib" >
  141. <antcall target="unsafe.jars.available"/>
  142. <taskdef name="ajc"
  143. classname="${aj.public.taskdef.package}.Ajc" />
  144. <taskdef name="ajdoc"
  145. classname="${aj.public.taskdef.package}.Ajdoc"/>
  146. <taskdef name="comparefiles"
  147. classname="org.aspectj.testing.taskdefs.CompareFiles"/>
  148. </target>
  149. <target name="init.taskdefs.safe"
  150. depends="init,setup.taskdef.classpath"
  151. if="safe.classpath"
  152. description="initialize taskdefs without ant.home/lib" >
  153. <antcall target="safe.jars.available"/>
  154. <taskdef name="ajc"
  155. classname="${aj.public.taskdef.package}.Ajc" >
  156. <classpath>
  157. <pathelement path="${safe.aspectjtools.jar}"/>
  158. <pathelement path="${safe.aspectj-ant.jar}"/>
  159. </classpath>
  160. </taskdef>
  161. <taskdef name="ajdoc"
  162. classname="${aj.public.taskdef.package}.Ajdoc" >
  163. <classpath>
  164. <pathelement path="${safe.aspectjtools.jar}"/>
  165. <pathelement path="${safe.aspectj-ant.jar}"/>
  166. </classpath>
  167. </taskdef>
  168. <taskdef name="comparefiles"
  169. classname="org.aspectj.testing.taskdefs.CompareFiles">
  170. <classpath>
  171. <pathelement path="${safe.aj-testing.jar}"/>
  172. <pathelement path="${safe.aj-testing-taskdefs.jar}"/>
  173. </classpath>
  174. </taskdef>
  175. </target>
  176. <!-- -->
  177. <target name="safe.jars.available"
  178. depends="safe.aspectjtools.jar.available,safe.aspectj-ant.jar.available,
  179. safe.aj-testing.jar.available,safe.aj-testing-taskdefs.jar.available,"/>
  180. <target name="unsafe.jars.available"
  181. depends="aspectjtools.jar.available,aspectj-ant.jar.available,
  182. aj-testing.jar.available,aj-testing-taskdefs.jar.available,"/>
  183. <target name="build-tools.jar.available" depends="init"
  184. unless="build-tools.jar.available" >
  185. <fail message="expecting build-tools.jar at ${build-tools.jar}"/>
  186. </target>
  187. <target name="aj-testing.jar.available" depends="init"
  188. unless="aj-testing.jar.available" >
  189. <fail message="expecting aj-testing.jar at ${aj-testing.jar}"/>
  190. </target>
  191. <target name="aj-testing-taskdefs.jar.available" depends="init"
  192. unless="aj-testing-taskdefs.jar.available" >
  193. <fail message="expecting aj-testing-taskdefs.jar at ${aj-testing-taskdefs.jar}"/>
  194. </target>
  195. <target name="aspectjtools.jar.available" depends="init"
  196. unless="aspectjtools.jar.available" >
  197. <fail message="expecting aspectjtools.jar at ${aspectjtools.jar}"/>
  198. </target>
  199. <target name="aspectj-ant.jar.available" depends="init"
  200. unless="aspectj-ant.jar.available" >
  201. <fail message="expecting aspectj-ant.jar at ${aspectj-ant.jar}"/>
  202. </target>
  203. <target name="safe.aj-testing.jar.available" depends="init"
  204. unless="safe.aj-testing.jar.available" >
  205. <fail message="expecting safe.aj-testing.jar at ${safe.aj-testing.jar}"/>
  206. </target>
  207. <target name="safe.aj-testing-taskdefs.jar.available" depends="init"
  208. unless="safe.aj-testing-taskdefs.jar.available" >
  209. <fail message="expecting safe.aj-testing-taskdefs.jar at ${safe.aj-testing-taskdefs.jar}"/>
  210. </target>
  211. <target name="safe.aspectjtools.jar.available" depends="init"
  212. unless="safe.aspectjtools.jar.available" >
  213. <fail message="expecting safe.aspectjtools.jar at ${safe.aspectjtools.jar}"/>
  214. </target>
  215. <target name="safe.aspectj-ant.jar.available" depends="init"
  216. unless="safe.aspectj-ant.jar.available" >
  217. <fail message="expecting safe.aspectj-ant.jar at ${safe.aspectj-ant.jar}"/>
  218. </target>
  219. <target name="clean" depends="init"
  220. description="todo clean output created by this script">
  221. </target>
  222. <target name="test" depends="test.ajc,test.ajdoc"/>
  223. <target name="test.ajdoc" depends="init,init.taskdefs"
  224. description="run variants of ajdoc taskdef on bean, other examples">
  225. <mkdir dir="${expected.classes.dir}"/>
  226. <delete quiet="on" dir="${expected.classes.dir}"/>
  227. <mkdir dir="${expected.classes.dir}"/>
  228. <mkdir dir="${classes.dir}"/>
  229. <delete quiet="on" dir="${classes.dir}"/>
  230. <mkdir dir="${classes.dir}"/>
  231. <antcall target="cleanajc"/>
  232. <echo message="## ajdoc setup classes dir" />
  233. <ajdoc classpath="${aspectjrt.jar}" destdir="${expected.classes.dir}"
  234. srcdir="${ex.dir}/bean" packagenames="bean"
  235. argfile="${ex.dir}/bean/files.lst"
  236. private="on" />
  237. <echo message="## ajdoc @testcase same as setup" />
  238. <antcall target="cleanajc"/>
  239. <ajdoc classpath="${aspectjrt.jar}" destdir="${classes.dir}"
  240. srcdir="${ex.dir}/bean" packagenames="bean"
  241. argfile="${ex.dir}/bean/files.lst"
  242. private="on" />
  243. <antcall target="verifyAndCleanup.ajdoc"/>
  244. <echo message="## ajdoc @testcase same as setup, with -standard doclet" />
  245. <antcall target="cleanajc"/>
  246. <ajdoc classpath="${aspectjrt.jar}" destdir="${classes.dir}"
  247. srcdir="${ex.dir}/bean" packagenames="bean"
  248. argfile="${ex.dir}/bean/files.lst"
  249. private="on" standard="on"/>
  250. <antcall target="verifyAndCleanup.ajdoc"/>
  251. <echo message="## ajdoc @testcase srcdir with include argument" />
  252. <ajdoc classpath="${aspectjrt.jar}" destdir="${classes.dir}"
  253. srcdir="${ex.dir}/bean" includes="*.java"
  254. private="on" />
  255. <antcall target="verifyAndCleanup.ajdoc"/>
  256. <echo message="## ajdoc @testcase srcdir with nested include argument" />
  257. <ajdoc classpath="${aspectjrt.jar}" destdir="${classes.dir}"
  258. private="on" >
  259. <sourcepath path="${ex.dir}/bean"/>
  260. <include name="*.java"/>
  261. </ajdoc>
  262. <antcall target="verifyAndCleanup.ajdoc"/>
  263. <echo message="## ajdoc @testcase argfile only with nested classpath" />
  264. <ajdoc destdir="${classes.dir}"
  265. argfile="${ex.dir}/bean/files.lst"
  266. private="on" >
  267. <classpath> <pathelement path="${aspectjrt.jar}"/> </classpath>
  268. </ajdoc>
  269. <antcall target="verifyAndCleanup.ajdoc"/>
  270. <!-- todo ignoring include ajdoc cases until fixed
  271. <echo message="## ajdoc need @testcase nested src with kitchen sink" />
  272. <echo message="## ajdoc @testcase argfile todo " />
  273. <echo message="## ajdoc @testcase Vincent Massol bug" />
  274. <ajdoc destdir="${classes.dir}"
  275. srcdir="${ex.dir}/bean"
  276. private="on" >
  277. <include name="*.java"/>
  278. <include name="**.java"/>
  279. <classpath> <pathelement path="${aspectjrt.jar}"/> </classpath>
  280. </ajdoc>
  281. <antcall target="verifyAndCleanup.ajdoc"/>
  282. todo bug ajdoc taskdef not handling any includes or nested src or
  283. includes argument
  284. -->
  285. <!-- todo: version bootclasspath, extdirs
  286. Xporting="on" # todo: after Jim updates compiler for Xporting
  287. todo: nested src n/a
  288. -->
  289. </target>
  290. <!-- to use safe classpaths, must fork -->
  291. <target name="test.ajc" depends="init,init.taskdefs"
  292. description="run variants of ajc taskdef on bean, other examples">
  293. <echo message="## setup expected working dir, classes dir, and output file" />
  294. <antcall target="cleanajc"/>
  295. <ajc srcdir="${ex.dir}/bean" classpath="${aspectjrt.jar}"
  296. destDir="${expected.classes.dir}"
  297. usejavac="yes" fork="${use.fork}"
  298. workingdir="${expected.working.dir}"/>
  299. <java classname="bean.Demo"
  300. classpath="${expected.classes.dir}${PS}${aspectjrt.jar}"
  301. dir="${ex.dir}" fork="yes"
  302. output="${expect.file}"/>
  303. <echo message="## @testcase simple srcdir example" />
  304. <antcall target="cleanajc"/>
  305. <ajc srcdir="${ex.dir}/bean" fork="${use.fork}" classpath="${aspectjrt.jar}" />
  306. <echo message="## simple.run.classpath: ${simple.run.classpath} " />
  307. <java classname="bean.Demo"
  308. classpath="${simple.run.classpath}"
  309. dir="${ex.dir}" fork="yes"
  310. output="${actual.file}"/>
  311. <antcall target="cleanajc"/>
  312. <echo message="## @testcase srcdir with include argument" />
  313. <ajc srcdir="${ex.dir}/bean" fork="${use.fork}" classpath="${aspectjrt.jar}" includes="*.java"/>
  314. <java classname="bean.Demo"
  315. classpath="${simple.run.classpath}"
  316. dir="${ex.dir}" fork="yes"
  317. output="${actual.file}"/>
  318. <antcall target="verifyAndCleanup.noworkingdir.noclassesdir"/>
  319. <echo message="## @testcase srcdir with destDir and working workingdir argument" />
  320. <ajc srcdir="${ex.dir}/bean" fork="${use.fork}" classpath="${aspectjrt.jar}"
  321. destDir="${classes.dir}"
  322. usejavac="yes"
  323. workingdir="${working.dir}"/>
  324. <java classname="bean.Demo"
  325. classpath="${run.classpath}"
  326. dir="${ex.dir}" fork="yes"
  327. output="${actual.file}"/>
  328. <antcall target="verifyAndCleanup.workingdir.classesdir"/>
  329. <echo message="## @testcase simple srcdir with nested include and nested classpath" />
  330. <ajc fork="${use.fork}" srcdir="${ex.dir}/bean">
  331. <include name="**.java"/>
  332. <classpath> <pathelement path="${aspectjrt.jar}"/> </classpath>
  333. </ajc>
  334. <java classname="bean.Demo"
  335. classpath="${simple.run.classpath}"
  336. dir="${ex.dir}" fork="yes"
  337. output="${actual.file}"/>
  338. <antcall target="verifyAndCleanup.noworkingdir.noclassesdir"/>
  339. <echo message="## @testcase nested src with kitchen sink" />
  340. <antcall target="cleanajc"/>
  341. <ajc fork="${use.fork}"
  342. destDir="${classes.dir}"
  343. workingdir="${working.dir}"
  344. usejavac="on"
  345. preprocess="no"
  346. verbose="on"
  347. deprecation="on"
  348. optimize="on"
  349. encoding="encodingIgnored"
  350. target="targetIgnored"
  351. depend="dependIgnored"
  352. includeantruntime="includeantruntimeIgnored"
  353. includejavaruntime="includejavaruntimeIgnored"
  354. failonerror="on"
  355. nocomments="on"
  356. nosymbols="on"
  357. emacssym="on"
  358. strict="on"
  359. >
  360. <src path="${ex.dir}/bean"/>
  361. <include name="**.java"/>
  362. <classpath> <pathelement path="${aspectjrt.jar}"/> </classpath>
  363. </ajc>
  364. <java classname="bean.Demo"
  365. classpath="${run.classpath}"
  366. dir="${ex.dir}" fork="yes"
  367. output="${actual.file}"/>
  368. <antcall target="verifyAndCleanup.workingdir.classesdir"/>
  369. <echo message="## @testcase srcdir in preprocess mode" />
  370. <ajc srcdir="${ex.dir}/bean" classpath="${aspectjrt.jar}"
  371. lenient="on" fork="${use.fork}"
  372. workingdir="${working.dir}" usejavac="on" preprocess="yes"/>
  373. <antcall target="verifyAndCleanup.workingdir.noclassesdir.nooutput"/>
  374. <echo message="## @testcase argfile in preprocess mode" />
  375. <ajc argfile="${ex.dir}/bean/files.lst" classpath="${aspectjrt.jar}"
  376. workingdir="${working.dir}" fork="${use.fork}" usejavac="on" preprocess="yes"/>
  377. <antcall target="verifyAndCleanup.workingdir.noclassesdir.nooutput"/>
  378. <echo message="## @testcase argfile in normal mode" />
  379. <ajc argfile="${ex.dir}/bean/files.lst" classpath="${aspectjrt.jar}"
  380. destdir="${classes.dir}" fork="${use.fork}" usejavac="off" preprocess="no" verbose="yes"/>
  381. <java classname="bean.Demo"
  382. classpath="${run.classpath}"
  383. dir="${ex.dir}" fork="yes"
  384. output="${actual.file}"/>
  385. <antcall target="verifyAndCleanup.noworkingdir.classesdir"/>
  386. <echo message="## @testcase multiple argfile todo restore" />
  387. <ajc argfiles="${ex.dir}/bean/files.lst,${ex.dir}/introduction/files.lst"
  388. classpath="${aspectjrt.jar}" fork="${use.fork}" destdir="${classes.dir}" >
  389. </ajc>
  390. <java classname="bean.Demo"
  391. classpath="${run.classpath}"
  392. dir="${ex.dir}" fork="${use.fork}"
  393. output="${actual.file}"/>
  394. <copy todir="${expected.classes.dir}" >
  395. <fileset dir="${classes.dir}" includes="**.class" />
  396. </copy>
  397. <antcall target="cleanajc"/> <!-- too many classes -->
  398. <echo message="## @testcase Vincent Massol bug" />
  399. <ajc classpath="${aspectjrt.jar}" fork="${use.fork}"
  400. workingdir="${working.dir}" preprocess="yes" >
  401. <src path="${ex.dir}/bean"/>
  402. <src path="${ex.dir}/introduction"/>
  403. <include name="*.java"/>
  404. <include name="**.java"/>
  405. </ajc>
  406. <antcall target="verifyAndCleanup.workingdir.noclassesdir.nooutput"/>
  407. <echo message="## @testcase warning when no source files specified but have srcdir # " />
  408. <ajc srcdir="${ex.dir}/bean" fork="${use.fork}" classpath="${aspectjrt.jar}" />
  409. <antcall target="cleanajc"/>
  410. <!-- @testcase -preprocess not supported -->
  411. <echo message="## @testcase -preprocess srcdir no destDir, post-javac compile (-preprocess ignored) # " />
  412. <mkdir dir="workingdir" /> <!-- todo: failing to create workingdir from taskdef -->
  413. <ajc srcdir="${ex.dir}/bean" fork="${use.fork}" includes="**.java" classpath="${aspectjrt.jar}"
  414. usejavac="no" preprocess="yes"/>
  415. <javac srcdir="workingdir"
  416. destDir="${classes.dir}">
  417. <classpath>
  418. <pathelement path="${aspectjrt.jar}"/>
  419. </classpath>
  420. </javac>
  421. <java classname="bean.Demo"
  422. classpath="${run.classpath}"
  423. dir="${ex.dir}" fork="yes"
  424. output="${actual.file}"/>
  425. <antcall target="verifyAndCleanup.noworkingdir.classesdir"/>
  426. <!-- todo: version bootclasspath, extdirs
  427. Xporting="on" # todo: after Jim updates compiler for Xporting
  428. -->
  429. </target>
  430. <target name="verifyAndCleanup.ajdoc" depends="verifyAndCleanup.noworkingdir.classesdir.nooutput" />
  431. <target name="verifyAndCleanup.noworkingdir.noclassesdir">
  432. <antcall target="expectfile"/>
  433. <antcall target="noworkingdir"/>
  434. <antcall target="noclassesdir"/>
  435. <antcall target="cleanajc"/>
  436. </target>
  437. <target name="verifyAndCleanup.workingdir.noclassesdir">
  438. <antcall target="expectfile"/>
  439. <antcall target="workingdir"/>
  440. <antcall target="noclassesdir"/>
  441. <antcall target="cleanajc"/>
  442. </target>
  443. <target name="verifyAndCleanup.workingdir.noclassesdir.nooutput">
  444. <antcall target="workingdir"/>
  445. <antcall target="noclassesdir"/>
  446. <antcall target="cleanajc"/>
  447. </target>
  448. <target name="verifyAndCleanup.noworkingdir.classesdir.nooutput">
  449. <antcall target="noworkingdir"/>
  450. <antcall target="classesdir"/>
  451. <antcall target="cleanajc"/>
  452. </target>
  453. <target name="verifyAndCleanup.noworkingdir.classesdir" >
  454. <antcall target="noworkingdir"/>
  455. <antcall target="classesdir"/>
  456. <antcall target="expectfile"/>
  457. <antcall target="cleanajc"/>
  458. </target>
  459. <target name="verifyAndCleanup.workingdir.classesdir">
  460. <antcall target="expectfile"/>
  461. <antcall target="workingdir"/>
  462. <antcall target="classesdir"/>
  463. <antcall target="cleanajc"/>
  464. </target>
  465. <target name="expectfile" depends="init">
  466. <comparefiles lhsFile="${expect.file}" rhsFile="${actual.file}"/>
  467. <delete quiet="on" file="${actual.file}"/>
  468. </target>
  469. <target name="noworkingdir" depends="init">
  470. <comparefiles lhsFile="${empty.dir}" rhsFile="${working.dir}"/>
  471. </target>
  472. <target name="workingdir" depends="init">
  473. <comparefiles lhsFile="${expected.working.dir}" rhsFile="${working.dir}"/>
  474. </target>
  475. <target name="noclassesdir" depends="init">
  476. <comparefiles lhsFile="${empty.dir}" rhsFile="${classes.dir}"/>
  477. </target>
  478. <target name="classesdir" depends="init">
  479. <comparefiles lhsFile="${expected.classes.dir}" rhsFile="${classes.dir}"/>
  480. </target>
  481. <target name="cleanajc" depends="init">
  482. <mkdir dir="${classes.dir}"/>
  483. <delete quiet="on" dir="${classes.dir}"/>
  484. <mkdir dir="${classes.dir}"/>
  485. <mkdir dir="${working.dir}"/>
  486. <delete quiet="on" dir="${working.dir}"/>
  487. <mkdir dir="${working.dir}"/>
  488. <delete quiet="on" >
  489. <fileset dir="${product.examples.dir}" includes="**.class,**.ajesym"/>
  490. </delete>
  491. </target>
  492. </project>