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.

Table of Contents

Release Milestones

1.6.110/15/2008
Service refresh of AJDT 1.6
1.6.212/31/2008
Service refresh of AJDT 1.6

Table of Contents

Target Environments

AJDT 1.6 requires Eclipse 3.4. As such, it has the same JRE requirements as Eclipse.

Internationalization

English language bundles are available for many AJDT messages, but they have not been translated.

Table of Contents

Compatibility with Previous Releases

Because each major version of AJDT targets a major version of Eclipse, there is no compatibility between major versions. Each version of AJDT will only run on the version of Eclipse that it targets.

Table of Contents

Themes and Priorities

Our current focus is two-fold: performance and compatibility with JDT. For this version, we are not looking at adding any major new features.

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)
  • 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:

  1. 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.
  2. 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
    • split matching and weaving [242589] (target milestone: 1.6.3)
    • [plan] [split] Split matching and weaving [246125] (target milestone: 1.6.3)

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)

Table of Contents

view raw xml of project plan
from project meta-data key "projectplanurl"