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.

design.txt 1.9KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. This is to cover https://bugs.eclipse.org/bugs/show_bug.cgi?id=124460 which relates
  2. to the use of aop.xml configure compile time and binary weaving, in addition to
  3. load time weaving.
  4. For source compilation and binary weaving the goal is to offer the same experience
  5. users will get when using their aop.xml for LTW.
  6. Additionally for source compilation it also offers a way to control
  7. aspects when they are extracted from source src zip and then used across some
  8. set of source folders they were never originally intended for (see the
  9. compiling spring bug where a test aspect is leaking across all the source folders
  10. in the whole of spring).
  11. So - that means consuming aspects from either the inpath/aspectpath or source folders
  12. should include aop.xml searching. Or they can be specified directly as source
  13. entries perhaps when passing source files:
  14. ajc A.java B.java foo.xml
  15. --
  16. Testing
  17. - basic aop.xml that includes one aspect
  18. - the variety of mungers (checkers/itd members/advice/decp/deca)
  19. - wildcarded includes/excludes
  20. - compound type patterns for scope
  21. - new messages: ignoring weaver sections, scoping aspects, excluding aspects, problems processing aop.xml
  22. - aspect supertypes included if subtypes excluded?
  23. - annotation style
  24. - inner aspects
  25. - needs a command line option to switch support for this on/off (ie. to make it search
  26. for xml files on aspectpath/inpath - we dont want unexpected behaviour)
  27. --
  28. Implementation Notes
  29. - Just because the contents of the aspect are not used in weaving, doesnt mean
  30. the aspect shouldn't be fully compiled/resolved and written to the bin folder
  31. correctly as a valid aspect for later consumption. So we can't short circuit
  32. resolution if the aspect is included - we really just want to exclude inclusion
  33. of that aspect in the crosscuttingset - or maybe even later we just want to
  34. skip any mungers that came from it (but what about inherited mungers from supertypes?)