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

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <project name="interfaceLibrary" default="build" basedir=".">
  2. <target name="build" depends="init">
  3. <iajc
  4. classpath="${aspectjrt.jar}"
  5. outjar="interfaceOnly.jar"
  6. srcdir="."
  7. includes="lib/LibraryInterface.java"/>
  8. <iajc
  9. classpath="${aspectjrt.jar}${path.separator}interfaceOnly.jar"
  10. outjar="aspectOnly.jar"
  11. srcdir="."
  12. includes="LibraryAspect.java"/>
  13. <iajc
  14. classpath="${aspectjrt.jar}"
  15. aspectpath="aspectOnly.jar"
  16. outjar="aspectedInterfaceOnly.jar"
  17. srcdir="."
  18. includes="lib/LibraryInterface.java"/>
  19. <iajc
  20. classpath="${aspectjrt.jar}"
  21. aspectpath="aspectOnly.jar"
  22. injars="interfaceOnly.jar"
  23. outjar="aspectedInterfaceOnlyBinary.jar"/>
  24. </target>
  25. <target name="init" depends="init.variables,init.taskdefs"/>
  26. <target name="init.variables"
  27. description="init variables">
  28. <!-- required directories - run from examples or predefine -->
  29. <property name="interfaceLibrary.dir"
  30. location="${basedir}"/>
  31. <property name="aspectj.lib.dir"
  32. location="${interfaceLibrary.dir}/../../../aj-build/dist/tools/lib"/>
  33. <!-- required libraries - install or predefine -->
  34. <property name="aspectjrt.jar"
  35. location="${aspectj.lib.dir}/aspectjrt.jar"/>
  36. <property name="aspectjtools.jar"
  37. location="${aspectj.lib.dir}/aspectjtools.jar"/>
  38. <!-- checking required libraries -->
  39. <available file="${aspectjtools.jar}"
  40. property="aspectjtools.jar.available"/>
  41. <available file="${aspectjrt.jar}"
  42. property="aspectjrt.jar.available"/>
  43. </target>
  44. <target name="init.taskdefs" depends="init.variables,
  45. aspectjtools.jar.available,
  46. aspectjrt.jar.available"
  47. unless="taskdefs.init">
  48. <!-- sets name of new task to iajc, old task to ajc -->
  49. <taskdef resource="org/aspectj/tools/ant/taskdefs/aspectjTaskdefs.properties">
  50. <classpath>
  51. <pathelement path="${aspectjtools.jar}"/>
  52. </classpath>
  53. </taskdef>
  54. <property name="taskdefs.init" value="true"/>
  55. </target>
  56. <!-- targets to fail unless required libraries available -->
  57. <target name="aspectjrt.jar.available" depends="init.variables"
  58. unless="aspectjrt.jar.available" >
  59. <fail message="expecting aspectjrt.jar at ${aspectjrt.jar}"/>
  60. </target>
  61. <target name="aspectjtools.jar.available" depends="init.variables"
  62. unless="aspectjtools.jar.available" >
  63. <fail message="expecting aspectjtools.jar at ${aspectjtools.jar}"/>
  64. </target>
  65. </project>