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 2.4KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <project name="interfaceDefinition" default="all" basedir=".">
  2. <target name="info">
  3. <echo>
  4. This reproduces bug 43972.
  5. When the implementation of an interface-declared method is defined
  6. by an aspect, the implementing type does not appear to javac to have
  7. the method. To run, build the tree as usual or define aspectj.lib.dir:
  8. ant -Daspectj.lib.dir="c:\aspectj-1.1.1\lib"
  9. </echo>
  10. </target>
  11. <target name="init">
  12. <property name="example.dir"
  13. location="${basedir}"/>
  14. <property name="aspectj.lib.dir"
  15. location="${basedir}/../../../aj-build/dist/tools/lib"/>
  16. <property name="classes.dir"
  17. location="${example.dir}/classes"/>
  18. <property name="aspectjrt.jar"
  19. location="${aspectj.lib.dir}/aspectjrt.jar"/>
  20. <property name="aspectjtools.jar"
  21. location="${aspectj.lib.dir}/aspectjtools.jar"/>
  22. <property name="classes.dir"
  23. location="${example.dir}/classes"/>
  24. </target>
  25. <target name="init.taskdefs" depends="init"
  26. unless="taskdefs.init">
  27. <taskdef resource="org/aspectj/tools/ant/taskdefs/aspectjTaskdefs.properties">
  28. <classpath>
  29. <pathelement path="${aspectjtools.jar}"/>
  30. </classpath>
  31. </taskdef>
  32. <property name="taskdefs.init" value="true"/>
  33. </target>
  34. <target name="all" depends="init.taskdefs">
  35. <mkdir dir="${classes.dir}"/>
  36. <delete dir="${classes.dir}"/>
  37. <mkdir dir="${classes.dir}"/>
  38. <iajc destdir="${classes.dir}"
  39. fork="true"
  40. forkclasspath="${aspectjtools.jar}"
  41. srcdir="${example.dir}"
  42. includes="pack/MyInterface.java,pack/InterfaceDefinition.java"
  43. classpath="${aspectjrt.jar}"/>
  44. <java classname="pack.InterfaceDefinition">
  45. <classpath>
  46. <pathelement path="${aspectjrt.jar}"/>
  47. <pathelement path="${classes.dir}"/>
  48. </classpath>
  49. </java>
  50. <javac destdir="${classes.dir}"
  51. srcdir="${example.dir}"
  52. includes="Main.java">
  53. <classpath>
  54. <pathelement path="${aspectjrt.jar}"/>
  55. <pathelement path="${classes.dir}"/>
  56. </classpath>
  57. </javac>
  58. <java class="Main">
  59. <classpath>
  60. <pathelement path="${aspectjrt.jar}"/>
  61. <pathelement path="${classes.dir}"/>
  62. </classpath>
  63. </java>
  64. <delete dir="${classes.dir}"/>
  65. </target>
  66. </project>