The AspectJ train keeps rolling. The team has announced the second milestone release:
We're pleased to announce that AspectJ 5 M2 is now available for download at
http://www.eclipse.org/downloads/download.php?file=/technology/aspectj/dev/aspectj-1.5.0M2.jar
The changes in AspectJ 5 M2 since M1 are numerous, and the highlights are listed below.
* Full source compilation of Java 5 programs (with the "-1.5" option)
* New Xlint warning when advice does not affect any join points (and the @SuppressAjWarnings annotation to suppress it) (-1.5 only)
* @this,@target,@args forms changed from @this(@Foo) to @this(Foo)
* Full support for annotation binding as context in @this, @target, @args, @annotation, @within, @withincode
* Declare annotation (declare @field, declare @method, declare @constructor, declare @type)
* Declare soft does not soften runtime exceptions
* pertypewithin instantiation model
* performance improvements resulting in reduced compilation times
* aspectpath has been extended to accomodate directories as well as jar/zip files
* many, many bug fixes
The AspectJ 5 Developer's Notebook has been updated to reflect the updates. So many people have contributed ideas, suggestions, and bug reports to M2 that it's impossible to list you all - but you know who you are, so thank you. Come 1.5.0 final we'll put together a roll-of-honor :)
For examples of some of the new features in action check the following links:
* http://www.aspectprogrammer.org/blogs/adrian/2005/03/event_driven_ar.html
* http://www.aspectprogrammer.org/blogs/adrian/2005/03/ramnivas_on_ann.html
* http://www.aspectprogrammer.org/blogs/adrian/2005/01/making_concurre.html
and also the AspectJ 5 Developer's Notebook: http://dev.eclipse.org/viewcvs/indextech.cgi/~checkout~/aspectj-home/doc/ajdk15notebook/index.html
Thanks and stay in touch,
The AspectJ Team.
Some of these features are really great. I love the @annotation stuff, and the pertypewithin instantiation model.
aspectpath has been updated. I wish that these classpaths could be directories that CONTAIN .jar files too (as many people have wished).