New Features

This page gives details of the latest new features added to the development builds of AJDT. If you find any problems with these new features please raise a bug, or for further discussion or suggestions please visit the AJDT newsgroup (web interface - first request a password if you don't have one).

New Features added during 1.5 development

  • Crosscutting Changes (posted 14-03-07)

    As of development build 1.5.0.200703141018 for Eclipse 3.3M5 new functionality is available to show when there has been a change in the crosscutting relationships in your project.

    Change in advice marker

    As shown above, advice markers are highlighted when the crosscutting has changed, such when a method is advised for the first time, or when there has been a change in the set of places affected by some advice.

    This functionality needs to be enabled by going to Window > Preferences... then selecting General > Editors > Text Editors > Annotations. Now select "AspectJ change in crosscutting" and select Vertical ruler option.

    You can also right-click the new markers and select AspectJ Tools > Show changes in Crosscutting Comparison view.

    Reference point for comparison

    The reference point for the comparison can be changed using the new drop-down on the Cromsscutting Comparison view. The choices are to use the last build (of any type), the last full build, or a crosscutting map file in the project.

    This new functionality can be seen in action in the animated demo shown at EclipseCon: What's New In AJDT.

  • Updated AspectJ Compiler (posted 16-01-07)

    The AspectJ build included in AJDT has been updated in development build 1.5.0.200701160615 for Eclipse 3.3M4

    The version of the included AspectJ 5 build is 1.5.4.200701151324. See the list of AspectJ bugs fixed in this build since the 1.5.3 release.

    This build also contains significant changes in the interface between AJDT and the compiler, as described in bug 148190. One benefit is improved performance, which is noticeable when incrementally building a number of projects. In a test involving five AspectJ projects (from the implementation of AJDT), the average time taken to build all of these projects in response to a simple non-structural change went down from 3.3s to 2.8s, as measured by the AJDT Event Trace view (there is an overhead caused by this view being open, but the overhead should be consistent in each case).

  • Crosscutting Maps and View changes (posted 12-01-07)

    Several minor improvements have been added recently (1.5.0.200701100718 for Eclipse 3.3M4) relating to crosscutting maps and the crosscutting comparison view:

    • Two entries have been added to the filters dialog in the crosscutting comparison view, to allow all added relationships or all removed relationships to be filtered from the view.
    • The columns of the view now resize appropriately as the view is resized.
    • Settings in the view, such as the state of the "Propagate Up" button are now persisted across workspace sessions.
    • The editor for crosscutting map files (with the ".ajmap" extension) has been enhanced to show more information, including the date the file was created or modified, and the number of relationships stored in the file.
  • AspectJ Build Path configuration (posted 21-12-06)

    AspectJ aspectpath and inpath entries were previously stored as Eclipse preferences in a ".settings" folder. Now, as of development build 1.5.0.200612211200 for Eclipse 3.3M4, these settings are instead stored in the ".classpath" file. They appear as regular classpath entries with the addition of a custom attribute which indicates if that entry is also on the aspectpath or inpath.

    The same AspectJ Build properties page and context menu entries are available for configuring the aspectpath and inpath settings. Any old preferences settings will be automatically migrated to the new .classpath format (which will then not be recognised by older versions of AJDT).

    When entries are added to the aspectpath or inpath, they are now also added to the classpath. Note that removing entries from the classpath will mean they are also removed from the aspectpath or inpath. But removing entries from the aspectpath or inpath will NOT remove them from the build path. This can be considered as a move away from the "3 paths" model toward one where there is a single path, the regular classpath, and some entries on this path can be given additional properties.

    The AJDT image decorator is now used to indicate which build path entries are also on the aspectpath or inpath.

    Aspectpath and inpath entries
  • Select and copy from the Cross References view (posted 29-11-06)

    As of development build 1.5.0.200611290802 for Eclipse 3.3M3 you can now copy the contents of the Cross References view to the clipboard as text. You can do this by selecting the entries required or by using the "Select All" action, and then using the standard "Copy" action -- either with the standard key bindings, the workbench Edit menu, or the new context menu as shown below.

    Select and copy from the Cross References view

New Features added during 1.4.1 development

  • Updated AspectJ Compiler (posted 20-10-06)

    The AspectJ build included in AJDT has been updated in the following development builds:
    1.4.1.200610200812 for Eclipse 3.2
    1.5.0.200610200946 for Eclipse 3.3M2

    The version of the included AspectJ 5 build is 1.5.3.200610201049. See the list of AspectJ bugs fixed in this build since the last compiler update.

  • Updated AspectJ Compiler (posted 19-10-06)

    The AspectJ build included in AJDT has been updated in the following development builds:
    1.4.1.200610180910 for Eclipse 3.2
    1.5.0.200610180947 for Eclipse 3.3M2

    The version of the included AspectJ 5 build is 1.5.3.200610171505. See the list of AspectJ bugs fixed in this build since the last compiler update.

  • Updated AspectJ Compiler (posted 10-10-06)

    The AspectJ build included in AJDT has been updated in the following development builds:
    1.4.1.200610100440 for Eclipse 3.2
    1.5.0.200610100535 for Eclipse 3.3M2

    The version of the included AspectJ 5 build is 1.5.3.200610091525. See the list of AspectJ bugs fixed in this build since the last compiler update.

  • Refactoring participant (posted 29-09-06)

    When you rename a Java class, there is now an aspect rename participant that will search for and update references to that class from any aspects in the same project.

    Rename type participant

    This new functionality is included in development builds 1.4.1.200610010506 for Eclipse 3.2 and 1.5.0.200609291129 for Eclipse 3.3M2.

  • Updated AspectJ Compiler (posted 28-09-06)

    The AspectJ build included in AJDT has been updated in the following development builds:
    1.2.3.20060927145336 for Eclipse 3.0
    1.3.3.20060927115623 for Eclipse 3.1
    1.4.1.200609271031 for Eclipse 3.2
    1.5.0.200609270959 for Eclipse 3.3M2

    The version of the included AspectJ 5 build is 1.5.3.200609271036. See the list of AspectJ bugs fixed in this build since the last compiler update.

  • Support for Eclipse 3.3M2 (posted 23-09-06)

    Development build 1.5.0.200609210841 supports Eclipse 3.3M2. (It also works on 3.3M1, but future development builds may not).

  • Updated AspectJ Compiler (posted 21-09-06)

    The AspectJ build included in AJDT has been updated in the following development builds:
    1.4.1.200609210900 for Eclipse 3.2
    1.5.0.200609210841 for Eclipse 3.3M1

    The version of the included AspectJ 5 build is 1.5.3.200609210822. See the list of AspectJ bugs fixed in this build since the last compiler update.

  • Improved Binary Weaving support (posted 11-09-06)

    With AJDT 1.4, if you have a project containing some aspects, and you add the output folder to the aspect path of another project, the advised locations will show as being advised by a binary aspect and no navigation to the advice is possible. Also there are no "advises" relationships shown in the project containing the aspects, as the weaving is done in the other project. Now AJDT looks for these binary aspects in your workspace, and locates the corresponding source code. The appropriate relationships and markers can then be shown (for both the source and target of the advice) in the same way as for source weaving within a single project.

    Improve support for binary weaving

    To try out this support, make sure you are using either 1.4.1.200609111054 for Eclipse 3.2 or 1.5.0.200609111120 for Eclipse 3.3M1, or any more recent builds. It should work when either a class folder or a JAR file is added to the aspect path, so long as the containing project has a source folder containing the code for the relevant aspects.

  • Improved AspectJ Build Properties (posted 31-08-06)

    The project properties pages for configuring a project's inpath, aspect path, and output jar have been organised into a single AspectJ Build page.

    new AspectJ build properties page

    There is an AspectJ Tools > Configure AspectJ Build Path... shortcut to this page, available by right-clicking on a project. It is also now possible to right-click on a JAR or ZIP file in a project and select to add it to the in-path or aspect path, or remove it.

    All of these changes are in development builds 1.4.1.200608301425 for Eclipse 3.2 and 1.5.0.200608301302 for Eclipse 3.3M1.

  • Updated AspectJ Compiler (posted 29-08-06)

    The AspectJ build included in AJDT has been updated in the following development builds:
    1.4.1.200608290806 for Eclipse 3.2
    1.5.0.200608290906 for Eclipse 3.3M1

    The version of the included AspectJ 5 build is 1.5.3.200608290814. See the list of AspectJ bugs fixed in this build since the last compiler update.

  • Updated AspectJ Compiler (posted 22-08-06)

    The AspectJ build included in AJDT has been updated in the following development builds:
    1.4.1.200608210736 for Eclipse 3.2
    1.5.0.200608211312 for Eclipse 3.3M1

    The version of the included AspectJ 5 build is 1.5.3.200608210847. See the list of AspectJ bugs fixed in this build since the last compiler update.

  • Build Automation for AspectJ-enabled plug-ins (posted 16-08-06)

    As of development builds 1.4.1.200608161046 for Eclipse 3.2 and 1.5.0.200608161216 for Eclipse 3.3M1, AJDT now includes a replacement pdebuild-ant.jar file to enable the AspectJ compiler to be used by automated PDE builds. This can be found in the org.eclipse.ajdt.pde.build project, along with a README.txt file containing more information.

    Note also that AJDT itself is now built using the PDE build process and the replacement jar file. As a side-effect of this change, the version of the AspectJ plug-ins now matches the actual version of AspectJ included, rather than the version of the AJDT build. This means that when upgrading to a newer version of AJDT using the Eclipse Update Manager, if the version of AJDT has changed but not the included version of AspectJ, the AspectJ plug-ins will not be downloaded again. It is therefore more efficient to use the Update Manager than installing from zip files.

  • New release stream for Eclipse 3.3M1 (posted 11-08-06)

    New development builds of AJDT 1.5 have been created to support the development of Eclipse 3.3. Note that these are not as well tested as the development builds for Eclipse 3.2.

    Development focus for AJDT will remain on Eclipse 3.2 for now, but the development builds for 3.3 will be updated regularly with changes made in the AJDT 1.4.1 for Eclipse 3.2 line.

  • Updated AspectJ Compiler (posted 02-08-06)

    The AspectJ build included in AJDT has been updated in development build 1.4.1.20060802071129 for Eclipse 3.2

    The version of the included AspectJ 5 build is 1.5.3.20060801132048. See the list of AspectJ bugs fixed in this build since the last compiler update.

  • Updated AspectJ Compiler (posted 26-07-06)

    The AspectJ build included in AJDT has been updated in development build 1.4.1.20060726064959 for Eclipse 3.2

    The version of the included AspectJ 5 build is 1.5.3.20060726092219. See the list of AspectJ bugs fixed in this build since AspectJ 1.5.2.

  • Classpath container for AspectJ Runtime Library (posted 21-07-06)

    Regular AspectJ projects (non plug-in projects) require the aspectjrt.jar file to be on the project's build path. Prior to development build 1.4.0.20060721111048 for Eclipse 3.2, this was handled via the ASPECTJRT_LIB classpath variable. Now when projects are built, this entry will be changed to a more flexible "AspectJ Runtime Library" classpath container, similiar to the classpath container used for JRE libraries. This change should be close to transparent, except that each project's .classpath file will be updated by the conversion.