AspectJ Development Tools v1.1.4 Release Notes
Changes from 1.1.3 release
Bugs fixed
- 36098: Hidden weaver errors that AJDT doesn't show
- 37308: UI wizards do not display properly and hang
- 37628: AJDT doesnt work on OS X
- 39206: Incremental compilation removes warnings/errors
- 40600: Automate post install steps
- 40868: AspectJ builder sometimes blocks external tools builders from running
- 41390: Port AJDT to new ASM APIs
- 41535: FNFException when building projects that do not use a separate source directory
- 41538: Cant create project output in a jar when the project doesn't use source folders
- 41566: Compiler errors after removing AspectJ nature from a project
- 41712: Lack of documentation makes this plugin unusable
- 42848: Bug with ASM build suppression
- 42957: AJDT syntax highlighting broken in Eclipse 3.0M3
- 43034: NPE on compiler crash
- 40343: AspectJ compiler does not honour Java Compiler settings
- 40344: Task list not cleared when "Remove AspectJ Nature" used
- 40602: eclipse 2.1 per-project compiler options are ignored
- 24637: "use javac.." option fails to produce .class files
- 39628: Compiler settings do not change AJC
- 40380: AspectJ does not honour libraries defined via Project
Properties
- 40492: Error creating the build configuration file
- 40448: handle a missing output folder properly
Of note
- support JDK switching
- MAC OS X Support
- Improved outline view
- Editor templates
- Better scalability
Changes from 1.1.2 release
-
Now based on AspectJ 1.1.0 compiler release
-
Includes AspectJ 1.1.0 Programming Guide and related documentation (available in Eclipse Help for AspectJ)
-
Many bug fixes in both AspectJ and AJDT (see bugzilla for details)
-
Incremental compilation mode (experimental!) supported (with some important fixes). To use it, you
need to:
- Under Workbench->Preferences->AspectJ, deselect 'Suppress
automatic builds for AspectJ projects'
- In each AspectJ project there
is a new option in the ProjectProperties->AspectJ panel, select 'Incremental
Compilation' to turn incremental building on.
When it is on, the aspectj compiler will run after each save of either a
.java file, .aj file or .lst file. When using incremental compilation,
- Browse buttons added for new 1.1.0 compiler options "injars" and "aspectjars."
- Visualiser remembers aspect colours across invocations
- Aspect Visualizing perspective added
Known limitations in this release:
- When incremental compilation is enabled the Document Outline
View for files other than those in the compilation delta (normally files other
than the one being edited in the current buffer) will fail to refresh correctly.
Perform a full project build (Project-rebuild all) to refresh the full structure model.
- The crosscutting information shown in the outline view and gutter annotations is
incomplete at this point in time: inter-type declaration and "uses pointcut"
links are currently missing.
Changes from 0.6.1 release
-
Now based on AspectJ 1.1 release candidate 2
-
Includes AspectJ API documentation (available in Eclipse Help for AspectJ)
-
Due to the change in version number, you *may* get problems saying that the
aspectjrt.jar version in use is incorrect (if you have that specified as
a jar in your project). If this happens, you need to select your project and
remove its aspectj nature, then readd the aspectj nature - (this can all be
done through the context menu on the project).
-
Incremental compilation mode (experimental!!) supported. To use it, you
need to:
- Under Workbench->Preferences->AspectJ, deselect 'Suppress
automatic builds for AspectJ projects'
- In each AspectJ project there
is a new option in the ProjectProperties->AspectJ panel, select 'Incremental
Compilation' to turn incremental building on.
When it is on, the aspectj compiler will run after each save of either a
.java file, .aj file or .lst file. Because of the experimental nature
of this support it has a few peculiarities at the moment, the task list and
the structure outline view may gradually lose information about various
tasks (put in there by declare warning for example) and about which advice
is in effect on what resources. To get these views consistent again, just do
a full build.
-
BUGFIX: If 'outjar' is specified as a relative path, it is now relative to the project
work directory, and not the eclipse install directory.
-
BUGFIX: Sometimes the code that evaluates if valid entries are supplied in 'input jars'
would get confused about which project it would find them in. This is now fixed.
Changes from 0.6.0 release
-
Now based on AspectJ 1.1 release candidate 1
-
Fixed problem where aspectjrt.jar was not correctly found
when workspace root is in a different location to eclipse
installation.
-
Gutter annotations now point to correct portion of aspect files
-
Progress Monitor for compilations has improved messages and
better estimation of progress.
-
Improved installation via update site:
http://download.eclipse.org/technology/ajdt/update
Changes from 0.5.2 release
-
Help
-
aspectjrt.jar added automatically for AspectJ projects
-
Gutter annotations
-
Multiple Bug fixes: 22340, 22412, 22734, 23045
23062, 23857, 23859, 23954, 23955, 24063, 24065,
24653, 24719, 25422, 25958, 27224, 28699, 28708,
29131, 30462, 30835
-
Works with AspectJ 1.1 b5
Changes from 0.5.1 release
-
Fixed memory leak problem arising from prolonged plugin usage
-
Fixed "Save Failed - Null" error sometimes seen when saving files in editor
-
Added gutter annotations in editor to show where advice applies. Note
that the annotation are currently limited to showing a single piece of advice
per sourceline and are not navigeable.
-
Added Crosscutting Visualiser - shows visually where advice crosscuts classes
and packages. This is an experimental feature - use the "Show View" menu to
show the Aspect Visualiser Menu (best docked with the outline view) and the
Aspect Visualiser. Click on a package name in the Packages view of a package in
an AspectJ project.
-
Added JoinpiontProbe wizard. This is an experimental feature - first use
the "Show View" menu to show the "Joinpoint Probe" view (best docked with the
outline or navigator views). Then right-click the perspective and select
"AspectJ Wizards". Once you start the wizard you can enter a joinpoint
probe, evaluate it, and see the results in a docked window that persists until
you close the IDE or create a new probe.
Changes from 0.5.0 release
-
Supports the AspectJ (org.aspectj.ajde) 1.0.6 plugin.
-
Fixes bug 22267 - external jars added to Java Build Path were incorrectly
handled under Linux
-
Fixes bug 22339 - AJ Builder now has a name!
-
Fixes bug 21998 - .class files always placed under workspace
-
Rebuild All now works when using multiple projects (in 0.5.0 this sometimes
caused failure and subsequent plugin deactivation)
-
Supports project dependencies in Java Build Path
Installation verification instructions
-
Start Eclipse.
-
Confirm that both the AspectJ and AJDT plugins have been successfully installed:
-
From the help menu, select “About Eclipse Platform,” and then click on “Plug-in
Details”
-
You should see the "org.aspectj.ajde" plugin listed at version 1.1.1, the "AspectJ Development Tools"
at version 1.1.1 and the "AspectJ Development Tools (AJDT) - UI" listed at version 0.6.1.

Post Installation Customization (important)
Configuring the editor:
You need to configure Eclipse to use the AspectJ/Java editor for .java source
files (in place of the Java editor supplied by JDT).



Adding the New Aspect Wizard Shortcut:


Here's how it looks:

Disabling warnings about unused imports in AspectJ files:
By default, the compiler is setup to report any unused imports as warnings. This can
cause a problem if you are working in an aspect. Here is an example where the warning
is appearing for LogAdapter.java (part of the figures demo):

The compiler can be configured so that it does not report these warnings -
select "Preferences" from the "Window" menu and then
expand the "Java" node. Click on "Compiler" and then under the first tab "Problems"
there is a setting for "Unused imports:" - change it from "Warning" to "Ignore". The next
image shows where the option can be found in the preferences page:

When you click Apply or OK to confirm this setting, you will get a message indicating that
due to a change in compiler options, a full rebuild is necessary, click OK to perform
this rebuild and the warning should disappear.
Disabling early problem indication for AspectJ elements:
The early problem indication feature of the JDT underlines potential errors in
the editor as you type (before compilation). This feature is not AspectJ-aware.
As a result, AspectJ keywords may be highlighted as errors by underlining with a
req “squiggle”(see below):

This feature is perfectly harmless, but can be irritating. You can disable these
annotations by selecting "Preferences" from the "Window" menu and then
expanding the "Java" node. Click on "Editor" and then select the "Annotations"
tab. Finally, deselect the "Analyse annotations while typing" option and press
apply. This next image shows where the option can be found in the preferences
page:

Things you need to know about the plugin.
Automatic build suppression
By default, AJDT suppresses automatic builds on resource modification (for
AspectJ projects only) since AspectJ does not yet support incremental
compilation. To build an AspectJ project, either select the project in the
packages view and then select “Rebuild” from the project menu, or use the
AspectJ build button:

AJDT supports multiple build configurations within a project (created using the
New Build Configuration wizard). To select an alternate configuration for
building, use the pulldown beside the build button:

No Eager Parsing
Currently there is no eager parsing support for AJDT. A consequence of this is
that the outline view does not update as you edit, but instead is updated as a
result of performing a build (compilation).
Debugging
Breakpoints can be set in Java classes (but not in aspects). To set a
breakpoint, double-click in the editor margin (the context menu option “Add
Breakpoint” does not work yet). See the FAQ for more details
Using existing AspectJ .lst files
The AspectJ command line tools support a richer build configuration file format
than AJDT. If you experience problems using an existing .lst file with a
project inside Eclipse then opening the file in the Build Configuration Editor
(double-click in packages view for example) and saving it again should correct
most problems.