Project Plan For AJDT - AspectJ Development Tools Project, version 1.6
Introduction
AJDT major versions match up with Eclipse versions. The current Eclipse version is 3.4, which matches to AJDT 1.6. Eclipse 3.3 matches AJDT 1.5, and Eclipse 3.5 will match AJDT 1.7. The AJDT project releases service refreshes to that major version every few months. During 2008 there have been 1.5.2, 1.5.3 (the last scheduled version targeting Eclipse 3.3), 1.6.0 (the first version targeting Eclipse 3.4) and we are planning two more before year end. This is the release model we plan to continue with.
AJDT always maintains that HEAD will build clean and pass all the tests we have (currently around 350). This means the development builds created from HEAD after every commit are always at least as good as the previous build.
Release Deliverables
AJDT releases are available from project update sites. There are different sites for each major release see the project download page for a list of the update sites. Also available are zip files that contain all of the project plugins and are meant to be installed in the eclipse installation's dropins folder.
AJDT additionally includes 3 plugins built from code originating in the AspectJ project. These plugins are org.aspectj.runtime, which contains the AspectJ runtime, org.aspectj.ajde, which contains AspectJ support for integrating with a development environment, and org.aspectj.weaver, which contains the AspectJ weaver and compiler.
Release Milestones
1.6.1 | 10/15/2008 | Service refresh of AJDT 1.6 |
1.6.2 | 12/31/2008 | Service refresh of AJDT 1.6 |
Target Environments
Internationalization
Compatibility with Previous Releases
Themes and Priorities
Improving build performance (Target1.6.1)
As AspectJ as has grown in popularity and matured, programmers have been using the language on larger and larger projects and in ways not originially intended when the language was first created. Tool support has had trouble keeping up with the increased prominence of AspectJ use. For example, a bottleneck occurs when the workspace has many interrelated AspectJ projects.
We will explore where such bottlenecks occur and how to avoid them. Preliminary experiments suggest that the AspectJ weaver itself is not a significant bottleneck, but rather much of the time spent on a build comes other areas. Addressing this will likely lead to large performance boosts.
- Committed
- [incremental] Incremental compilation in a scenario with a large number of projects [243376]
(target milestone: 1.6.2)
- [incremental] Incremental compilation in a scenario with a large number of projects [243376]
- Proposed
- [plan] [incremental] Exception when moving an aspect to it own source file... [148285] (target milestone: 1.6.3)
Compatibility with JDT (Target 1.6.1)
A long standing block on user experience with AJDT has been the difficulty plugging into the appropriate places of JDT. The JDT has been constructed to optimize the development of Java source files. Java-like source files (such as AspectJ source files) are only minimally supported by JDT. Some JDT features such as source file indexing are not available to AspectJ source files. We seek to address this issue in one of two ways:
- Bug 36939 seeks to provide a CompilationUnit provider extension point in JDT so that Java-like languages can override the ICompilationUnit class. However, it is unlikely this bug will be resolved until Eclipse 3.5 is released, if it is resolved at all.
- Equinox Aspects provides an excellent opportunity to open up JDT through the weaving process and allow AJDT to more fully integrate with Eclipse.
- Committed
- No items.
- Proposed
- [jdt-weaving] Gaining control of CompilationUnit creation in JDT through the use of Aspects [240021] (target milestone: 1.6.2)
- [jdt-weaving] How to ship AJDT that weaves into JDT core [240047] (target milestone: 1.6.2)
- [jdt-weaving] ITD Aware type hierarchies [256312] (target milestone: ---)
- [plan item] Improve support for Java-like source files [36939] (target milestone: ---)
IDE support for Load Time Weaving (LTW) (Target 1.6.2)
Currently, aspects applied to a project through LTW are not visible in the editor in the standard ways that compile time aspects are. These include gutter annotations and entries in the crosscutting view. Because there is no editing support, using LTW can be time consuming and error-prone. We will explore ways to gather and display LTW information to the programmer while editing.
- Committed
- No items.
- Proposed
Support for Eclipse 3.5 (Target 1.7)
Refactor AJDT for the Ecipse 3.5 release.
- Committed
- No items.
- Proposed
- [plan-item] AJDT support for Eclipse 3.5 [247358] (target milestone: 1.7.0)