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.

test-build.xml 4.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. <project name="aspectj-examples" default="both" basedir=".">
  2. <target name="info" >
  3. <echo>
  4. This script tests the Ajc11CompilerAdapter by compiling
  5. with Javac alone and then with Javac set up to use ajc.
  6. This must be run with aspectjtools.jar on the Ant classpath,
  7. so put it in the ant lib directory.
  8. It mainly tests that both work when the destination directory
  9. is not specified, and that the ajc compile picks up the extra
  10. arguments. Much more could be tested.
  11. </echo>
  12. </target>
  13. <!-- ============================================================= -->
  14. <!-- setup and cleanup targets -->
  15. <!-- ============================================================= -->
  16. <target name="clean" depends="init"
  17. description="clean and create classes/jar dir, .ajesym files">
  18. <delete quiet="on">
  19. <fileset dir="${sourceroot.dir}"
  20. includes="**/*.ajesym,**/*.class"/>
  21. </delete>
  22. </target>
  23. <target name="init" depends="init.variables,init.taskdefs"/>
  24. <target name="init.variables"
  25. description="init variables">
  26. <!-- build.compiler value to pick up our CompilerAdapter for javac -->
  27. <property name="ajc.adapter"
  28. value="org.aspectj.tools.ant.taskdefs.Ajc11CompilerAdapter"/>
  29. <!-- required directories - run from examples or predefine -->
  30. <property name="temp.dir"
  31. location="${basedir}/temp"/>
  32. <property name="sourceroot.dir"
  33. location="${basedir}/sourceroot"/>
  34. <property name="aspect.dir"
  35. location="${basedir}/aspectsrc"/>
  36. <property name="aspectj.lib.dir"
  37. location="${ASPECTJ_HOME}/lib"/>
  38. <!-- required libraries - install or predefine -->
  39. <property name="aspectjrt.jar"
  40. location="${aspectj.lib.dir}/aspectjrt.jar"/>
  41. <property name="aspectjtools.jar"
  42. location="${aspectj.lib.dir}/aspectjtools.jar"/>
  43. <!-- checking required libraries -->
  44. <available file="${aspectjtools.jar}"
  45. property="aspectjtools.jar.available"/>
  46. <available file="${aspectjrt.jar}"
  47. property="aspectjrt.jar.available"/>
  48. </target>
  49. <target name="init.taskdefs" depends="init.variables,
  50. aspectjtools.jar.available,
  51. aspectjrt.jar.available"
  52. unless="taskdefs.init">
  53. <!-- sets name of new task to iajc, old task to ajc -->
  54. <taskdef resource="org/aspectj/tools/ant/taskdefs/aspectjTaskdefs.properties"/>
  55. <property name="taskdefs.init" value="true"/>
  56. </target>
  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. <!-- ..................................................... -->
  66. <target name="both">
  67. <antcall target="compile-and-run"/>
  68. <antcall target="compile-and-run-ajc"/>
  69. </target>
  70. <target name="compile-and-run-ajc" depends="init">
  71. <antcall target="compile-and-run">
  72. <param name="build.compiler" value="${ajc.adapter}"/>
  73. </antcall>
  74. </target>
  75. <target name="compile-and-run" depends="init">
  76. <antcall target="clean" />
  77. <javac verbose="true">
  78. <src path="${sourceroot.dir}"/>
  79. <include name="**/*.java"/>
  80. <compilerarg
  81. compiler="${ajc.adapter}"
  82. value="-argfile"/>
  83. <compilerarg
  84. compiler="${ajc.adapter}"
  85. file="${aspect.dir}/aspects.lst"/>
  86. <compilerarg compiler="${ajc.adapter}"
  87. value="-classpath"/>
  88. <compilerarg compiler="${ajc.adapter}"
  89. value="${aspectjrt.jar}"/>
  90. </javac>
  91. <java classname="Default">
  92. <classpath>
  93. <pathelement path="${aspectjrt.jar}"/>
  94. <pathelement path="${sourceroot.dir}"/>
  95. <pathelement path="${aspect.dir}"/>
  96. </classpath>
  97. </java>
  98. <antcall target="clean" />
  99. </target>
  100. </project>