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.

ant.xml 6.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. <!-- ajc-ant script, not to be used from Ant commant line - see AntSpec -->
  2. <project name="ltw">
  3. <!-- using this we can debug the forked VM -->
  4. <property
  5. name="jdwp"
  6. value="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005"/>
  7. <property name="aj.bootpath" refid="aj.path"/>
  8. <target name="JDK14 LTW with XML">
  9. <java fork="yes" classname="HelloWorldWithException" failonerror="yes">
  10. <classpath refid="aj.path"/>
  11. <jvmarg value="-Djava.system.class.loader=org.aspectj.weaver.loadtime.WeavingURLClassLoader"/>
  12. <!-- <jvmarg value="${aj.addOpensKey}"/>-->
  13. <!-- <jvmarg value="${aj.addOpensValue}"/>-->
  14. <jvmarg value="-Dorg.aspectj.tracing.debug=true"/>
  15. <!--
  16. <jvmarg value="-Daj.weaving.verbose=true"/>
  17. <jvmarg value="-Dorg.aspectj.weaver.showWeaveInfo=true"/>
  18. -->
  19. <!-- use META-INF/aop.xml style -->
  20. <!--<jvmarg value="-javaagent:${aj.root}/lib/test/loadtime5.jar"/>-->
  21. <!--<jvmarg line="${jdwp}"/>-->
  22. <sysproperty key="aj.class.path" path="${aj.sandbox}/hello.jar:${aj.sandbox}/handler.jar"/>
  23. </java>
  24. </target>
  25. <target name="JDK14 LTW with ASPECTPATH">
  26. <java fork="yes" classname="HelloWorldWithException" failonerror="yes">
  27. <classpath refid="aj.path"/>
  28. <jvmarg value="-Djava.system.class.loader=org.aspectj.weaver.loadtime.WeavingURLClassLoader"/>
  29. <!-- <jvmarg value="${aj.addOpensKey}"/>-->
  30. <!-- <jvmarg value="${aj.addOpensValue}"/>-->
  31. <jvmarg value="-Dorg.aspectj.tracing.debug=true"/>
  32. <!--
  33. <jvmarg value="-Daj.weaving.verbose=true"/>
  34. <jvmarg value="-Dorg.aspectj.weaver.showWeaveInfo=true"/>
  35. -->
  36. <!-- use META-INF/aop.xml style -->
  37. <!--<jvmarg value="-javaagent:${aj.root}/lib/test/loadtime5.jar"/>-->
  38. <!--<jvmarg line="${jdwp}"/>-->
  39. <sysproperty key="aj.class.path" path="${aj.sandbox}/hello.jar:${aj.sandbox}/handler.jar"/>
  40. <sysproperty key="aj.aspect.path" path="${aj.sandbox}/handler.jar"/>
  41. </java>
  42. </target>
  43. <!-- We have three JARs files, two containing aspects (ExceptionHandler and Tracing)
  44. for which aop-ajc.xml files have been generate. However we supply our own
  45. aop.xml which declares only ExceptionHandler. We then override the
  46. configuration search path -->
  47. <target name="override default path using -Dorg.aspectj.weaver.loadtime.configuration">
  48. <copy file="${aj.root}/tests/ltw/aop-orgaspectjweaverloadtimeconfiguration.xml"
  49. tofile="${aj.sandbox}/META-INF/aop-random.xml"/>
  50. <java fork="yes" classname="HelloWorldWithException" failonerror="yes">
  51. <classpath refid="aj.path"/>
  52. <classpath>
  53. <pathelement path="${aj.sandbox}/hello.jar:${aj.sandbox}/handler.jar:${aj.sandbox}/tracing.jar"/>
  54. </classpath>
  55. <jvmarg value="-Dorg.aspectj.weaver.loadtime.configuration=META-INF/aop-random.xml"/>
  56. <jvmarg value="-Dorg.aspectj.tracing.enabled=true"/>
  57. <jvmarg value="-Dorg.aspectj.tracing.factory=default"/>
  58. <jvmarg value="-Dorg.aspectj.tracing.messages=true"/>
  59. <!-- use META-INF/aop.xml style -->
  60. <jvmarg value="-javaagent:${aj.root}/lib/test/loadtime5.jar"/>
  61. <!-- <jvmarg value="${aj.addOpensKey}"/>-->
  62. <!-- <jvmarg value="${aj.addOpensValue}"/>-->
  63. <!-- <jvmarg line="${jdwp}"/>-->
  64. </java>
  65. </target>
  66. <!-- Beware, this is complicated! We need to intercept class loading on
  67. the System class loader before any classes are loaded. We do this
  68. by replacing the URLClassLoader. We then define a custom
  69. SecurityManager that will be loaded _before_ the class loader
  70. hierarch is fully initialized. -->
  71. <target name="NPE with custom agent">
  72. <java fork="yes" classname="HelloWorldWithException" failonerror="yes">
  73. <!-- Prepend custom URLClassLoader and append AspectJ
  74. to bootclasspath -->
  75. <jvmarg value="-Xbootclasspath/p:${aj.sandbox}"/>
  76. <jvmarg value="-Xbootclasspath/a:${aj.bootpath}"/>
  77. <!-- <jvmarg value="${aj.addOpensKey}"/>-->
  78. <!-- <jvmarg value="${aj.addOpensValue}"/>-->
  79. <classpath>
  80. <pathelement path="${aj.sandbox}/hello.jar:${aj.sandbox}/handler.jar:${aj.sandbox}/security.jar"/>
  81. </classpath>
  82. <!-- Specify custom SecurityManager that will be loaded
  83. and woven very early -->
  84. <jvmarg value="-Djava.security.manager=NullSecurityManager"/>
  85. <jvmarg value="-Daj.weaving.verbose=true"/>
  86. <jvmarg value="-Dorg.aspectj.weaver.showWeaveInfo=true"/>
  87. <!--
  88. <jvmarg value="-Dorg.aspectj.tracing.enabled=true"/>
  89. <jvmarg value="-Dorg.aspectj.tracing.factory=default"/>
  90. <jvmarg value="-Dorg.aspectj.tracing.messages=true"/>
  91. -->
  92. </java>
  93. </target>
  94. <target name="simple LTW">
  95. <copy file="${aj.root}/tests/ltw/aop-simple.xml"
  96. tofile="${aj.sandbox}/META-INF/aop.xml"/>
  97. <java fork="yes" classname="HelloWorldWithException" failonerror="yes">
  98. <classpath refid="aj.path"/>
  99. <!-- use META-INF/aop.xml style -->
  100. <jvmarg value="-javaagent:${aj.root}/lib/test/loadtime5.jar"/>
  101. <!-- <jvmarg value="${aj.addOpensKey}"/>-->
  102. <!-- <jvmarg value="${aj.addOpensValue}"/>-->
  103. <!-- <jvmarg line="${jdwp}"/>-->
  104. </java>
  105. </target>
  106. <target name="dump on error">
  107. <copy file="${aj.root}/tests/ltw/aop-dumponerror.xml"
  108. tofile="${aj.sandbox}/META-INF/aop.xml"/>
  109. <java fork="yes" classname="HelloWorldWithException" failonerror="no">
  110. <classpath refid="aj.path"/>
  111. <jvmarg value="-Dorg.aspectj.weaver.Dump.condition=error"/>
  112. <sysproperty key="org.aspectj.dump.directory" path="${aj.sandbox}"/>
  113. <!-- use META-INF/aop.xml style -->
  114. <jvmarg value="-javaagent:${aj.root}/lib/test/loadtime5.jar"/>
  115. <!-- <jvmarg value="${aj.addOpensKey}"/>-->
  116. <!-- <jvmarg value="${aj.addOpensValue}"/>-->
  117. <jvmarg value="-Dorg.aspectj.tracing.factory=default"/>
  118. <!-- <jvmarg line="${jdwp}"/>-->
  119. </java>
  120. </target>
  121. </project>