Here are some of the more interesting or significant changes made to the AspectJ Developement Tools since the 1.1.12 release:
The AspectJ editor has been significantly improved and now
offers the following features:
The default arrangement is to use the AspectJ editor only for .aj files and to use the standard Java editor for .java files.
The standard outline view shows the structure of your aspects
and is updated as you type. Filters are available to hide
pointcuts, advice, declare statements, and introductions. The
same aspect structure is also shown in the package explorer and
in the quick outline view in the AspectJ editor.
The new Cross References view shows how a given element is
related to other elements. For example, which advice is
affecting a given method or the places advised by a given piece
of advice. The view responds to selections in the editor and the
If you select a method the Cross References view shows you the relationships involving that method plus any that involve code elements within the method (such as when the setting of a field is advised). If you select a class or aspect you will see the relationships involving that class/aspect plus any that involve the methods contained in the class/aspect.
The view supports navigation; you can double-click an element to open the containing resource in the editor with that element selected. There are buttons available to disable the link with the editor and to toggle between showing crosscutting information for the current element or the entire file.
Like the outline view there is also a quick version of the view that appears in-place over the editor. This is available from the Navigate menu or via the default "Ctrl+Alt+X" key binding.
An image decorator has been added to indicate which Java
elements are being advised. A small orange arrow to the left of
the icon is used as shown in the enlargement below. This
decorator is used anywhere that the standard Java decorator is
used which includes the package explorer, the outline
view, the Cross Reference view, and the members view in the Java
browsing perspective. A preference page option is available if
you wish to disable this function.
Markers are added to the left-hand edge of the editor to
indicate where advice will take effect at runtime (or may take
effect, if there is a dynamic test to the pointcut). In addition
to these, markers are also added at the source of these
relationships, namely the advice itself. Selecting the context
menu from one of these markers will show an "Advises" menu,
similar to the "Advised By" menu shown at the other end of the
relationship. As well as being more consistent, these new
markers provide an additional means of navigating the
aspect-oriented structure of your code. Similar markers are added
for the source and target of declare statements, such as inter-type
declarations. All of these markers are present with both the
AspectJ and Java editors.
Incremental compilation is now set as the default mode of
operation. Both the generated class files and the structure
model (used to display the advice markers and to populate the
Cross References view and Visualiser etc) will be
incrementally updated as required.
Simple changes to classes will result in a fast incremental build of the project and any dependent projects, whereas changes to aspects will trigger a full build. A chain of large projects dependent on each other will have high memory requirements.
Incremental mode can be set either for the whole workspace or per-project via the AspectJ Compiler > Other tab.
|File Extensions||The best arrangement for your source code is to only put pure Java code in .java files and to use .aj files for aspects (and for classes containing inner aspects or pointcuts). You can select a file or files in the package explorer and right-click to convert their file extension. You can also convert all of the source files in a project in one go using a wizard. This is available by right-clicking on a project and selecting Convert File Extensions...|
|AspectPath Directories||You can now specify directories on the aspect-path instead of just jars or zips. Simply right-click on a project and select Properties, then go to the AspectJ Aspect Path section. On the Libraries tab there is now a Add Class Folder... button which you can use to add the output "bin" directory of another project for example. This allows you to apply the aspects from another project without requiring that other project to send its class files to an output jar.|
You can now do Run As > AspectJ/Java Application.
This looks and behaves exactly like the basic Java launch
configuration with the following two additions:
|Visible project options||Project-specific AspectJ compiler options and other project settings are now saved in preference files under a ".settings" folder in the project. This enables the settings to be shared between workspaces and other developers by committing the preference files to CVS.|
If you have an AspectJ-enabled plug-in project you can now
generate a build.xml file that can build the project correctly
|New docs||The documentation provided in the Eclipse help system has been overhauled. The "AspectJ Development User Guide" has been rewritten to reflect the changes in AJDT 1.2 and to be more consistent with other Eclipse documentation. The documentation from the AspectJ project is available as the "AspectJ Language Guide".|
A large number of improvements have been made to the