| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> |
| <html> <head> |
| <title>AspectJ 1.6.3 Readme</title> |
| <style type="text/css"> |
| <!-- |
| P { margin-left: 20px; } |
| PRE { margin-left: 20px; } |
| LI { margin-left: 20px; } |
| H4 { margin-left: 20px; } |
| H3 { margin-left: 10px; } |
| --> |
| </style> |
| </head> |
| |
| <body> |
| <div align="right"><small> |
| © Copyright 2008 Contributors. |
| All rights reserved. |
| </small></div> |
| |
| <h1>AspectJ 1.6.3 Readme</h1> |
| |
| <ul> |
| <li><a href="#split">Split matching/weaving</a></li> |
| <li><a href="#bugsfixed">Bugs fixed</a></li> |
| <li><a href="#notable">Notable bug fixes</a></li> |
| <li><a href="#whatsnext">What's next?</a></li> |
| </ul> |
| <hr> |
| <a name="split"/> |
| <H4>Split matching/weaving</h4> |
| <p>The main goal of AspectJ 1.6.3 was to make the line between matching and weaving more explicit and |
| introduce the notion of a matcher artifact. This matcher would enable reuse of the semantics of |
| AspectJ pointcut matching without including the unnecessary code that is the weaver. Why? In some |
| environments, for example Spring AOP, the weaving may be done in an entirely different way and the |
| default weaver included in aspectjweaver.jar is just unnecessary code. Some users also find they have trouble getting |
| approval for using the 'aspectjweaver.jar' in their projects because it includes a bytecode |
| modification library, even when they are not using that code. |
| <p>The result of this work is documented in <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=246125">bug 246125</a> |
| and there is now a new jar file in the distribution called org.aspectj.matcher.jar that includes |
| a first pass at the matching code. It is not quite as slimmed down as it could be but is a first |
| pass that includes no bytecode modification toolkit. |
| <p>To use this matcher standalone it simply requires an abstraction of some type system to be plugged in. |
| The matcher code can then be used to parse standard pointcuts and answer questions about whether they match against |
| that type system. There is no documentation on how to do this yet, as we don't think many users will |
| be contributing new type systems, but internally we are working on an Eclipse JDT type system abstraction that will |
| enable us to show matches in AJDT without actually compiling code (currently the two type system abstractions |
| we ship are bytecode based and reflection based - both of which require compilation). |
| <hr> |
| <a name="bugsfixed"/> |
| <h4>Bugs fixed</h4> |
| <p>The complete list of issues resolved for AspectJ 1.6.3 (more than 50) can be found with |
| this bugzilla query: |
| <ul> |
| <li><a href="https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&product=AspectJ&target_milestone=1.6.3&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&status_whiteboard_type=allwordssubstr&status_whiteboard=&keywords_type=allwords&keywords=&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&emailtype1=substring&email1=&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0=">Bugs resolved</a> |
| </ul> |
| <p>During 2008, there have been four AspectJ releases, fixing almost 200 issues. |
| <hr> |
| <a name="notable"/> |
| <h4>Notable bug fixes</h4> |
| |
| <ul> |
| <li>More improvements to the way AspectJ/AJDT communicate (251277, 249216, 258325) |
| <li>More ajdoc improvements (256514) |
| <li>Better support for non standard annotation style parameter ordering (164573, 219419) |
| <li>Fixed long standing issue with extending Spring SecurityInterceptor (252722) |
| <li>Ensure parameter annotations made on an ITD reach the target affected type (256669) |
| </ul> |
| |
| <hr> |
| <a name="whatsnext"/> |
| <h4>What's next?</h4> |
| |
| <p>The JDT World should be completed in the 1.6.4 timeframe and that will surface as benefits in AJDT, possibly leading to better |
| LTW tooling. Some improved syntax for intertype declarations is a possible candidate feature (see discussion in |
| <a href="http://dev.eclipse.org/mhonarc/lists/aspectj-users/msg10208.html">this mailing list thread</a>). |
| A possible introduction of a code style syntax for the mixin style that is @DeclareParents (and a renaming of |
| @DeclareParents to perhaps DeclareMixin or DeclareDelegate). |
| |
| <hr> |
| |
| <!-- ============================== --> |
| </body> |
| </html> |