blob: 6d70b2648fb53d86123cc7d1f58ada8f7590d671 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>Project Plan - tools.ajdt</title><meta name="author" content="Bjorn Freeman-Benson" />
<meta name="keywords" content="" /><link rel="stylesheet" type="text/css" href="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/css/small.css" title="small" /><link rel="alternate stylesheet" type="text/css" href="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/css/large.css" title="large" /><link rel="stylesheet" type="text/css" href="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/css/visual.css" media="screen" /><link rel="stylesheet" type="text/css" href="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/css/layout.css" media="screen" />
<!--[if IE]> <link rel="stylesheet" type="text/css" href="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/css/ie_style.css" media="screen"/> <![endif]-->
<!--[if IE 6]> <link rel="stylesheet" type="text/css" href="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/css/ie6_style.css" media="screen"/> <![endif]-->
<link rel="stylesheet" type="text/css" href="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/css/print.css" media="print" />
<link rel="stylesheet" type="text/css" href="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/css/header.css" media="screen" />
<script type="text/javascript" src="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/styleswitcher.js"></script>
</head>
<body>
<div id="header">
<div id="header-graphic" class="eclipse-main">
<a href="http://www.eclipse.org/"><img src="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/images/eclipse_home_header.jpg" alt="" /></a><h1>Eclipse</h1>
</div>
<div id="header-global-holder" class="eclipse-main-global">
<div id="header-global-links"><ul>
<li><a href="http://www.eclipse.org/org/foundation/contact.php" class="first_one">Contact</a></li><li><a href="http://www.eclipse.org/legal/">Legal</a></li>
</ul>
</div>
<div id="header-icons">
<a href="http://www.youtube.com/user/EclipseFdn" target="_blank"><img src="/eclipse.org-common/themes/Phoenix/images/Icon_Live.png" width="28" height="28" alt="Eclipse YouTube Channel" title="Eclipse YouTube Channel" /></a>
<a href="http://www.eclipseplugincentral.com"><img src="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/images/Icon_plugin.png" width="28" height="28" alt="Eclipse Plugin Central" title="Eclipse Plugin Central" /></a>
<a href="http://www.planeteclipse.org"><img src="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/images/Icon_planet.png" width="28" height="28" alt="Planet Eclipse" title="Planet Eclipse" /></a>
</div>
</div></div><div id="header-menu"><div id="header-nav">
<ul>
<li><a class="first_one" href="http://www.eclipse.org/" target="_self">Home</a></li>
<li><a href="http://www.eclipse.org/users/" target="_self">Users</a></li>
<li><a href="http://www.eclipse.org/membership/" target="_self">Members</a></li>
<li><a href="http://www.eclipse.org/committers/" target="_self">Committers</a></li>
<li><a href="http://www.eclipse.org/downloads/" target="_self">Downloads</a></li>
<li><a href="http://www.eclipse.org/resources/" target="_self">Resources</a></li>
<li><a href="http://www.eclipse.org/projects/" target="_self">Projects</a></li>
<li><a href="http://www.eclipse.org/org/" target="_self">About Us</a></li>
</ul>
</div>
<div id="header-utils">
<form action="http://www.google.com/cse" id="searchbox_017941334893793413703:sqfrdtd112s">
<input type="hidden" name="cx" value="017941334893793413703:sqfrdtd112s" />
<input type="text" name="q" size="25" />
<input type="submit" name="sa" value="Search" />
</form>
<script type="text/javascript" src="http://www.google.com/coop/cse/brand?form=searchbox_017941334893793413703%3Asqfrdtd112s&lang=en"></script> <ul>
<li class="text_size"><a class="smallText" title="Small Text" href="#" onclick="setActiveStyleSheet('small');return false;">A</a> <a class="largeText" title="Large Text" href="#" onclick="setActiveStyleSheet('large');return false;">A</a></li>
</ul>
</div></div><div id="leftcol">
<ul id="leftnav">
<li style="background-image: url(/eclipse.org-common/themes/Phoenix/images/leftnav_fade.jpg); background-repeat: repeat-x; border-style: none;"><br /><br /><br /><br /><br /><br /><br /><br />
</li>
</ul>
</div>
<div id="container"><style>
h2 {
border-bottom: 2px solid gray;
}
h3 {
border-bottom: 1px dotted gray;
}
</style>
<div xmlns="http://www.w3.org/1999/xhtml" id="rendered-plan">
<div id="maincontent">
<div id="midcolumn"><h1><span style="font-size: 140%">Project Plan For
<a href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.ajdt">AJDT - AspectJ Development Tools Project</a></span>, version 1.6</h1><div id="toc"><p><a name="toc"><strong>Table of Contents</strong></a></p><ul><li><a href="#introduction">Introduction</a></li><li><a href="#release_deliverables">
Release Deliverables
</a></li><li><a href="#release_milestones">
Release Milestones
</a></li><li><a href="#target_environments">
Target Environments
</a></li><li><a href="#compatibility">
Compatibility with Previous Releases
</a></li><li><a href="#themes_and_priorities">
Themes and Priorities
</a></li></ul></div><h2><a name="introduction">Introduction</a></h2><div>
<p>
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.
</p>
<p>
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.
</p>
</div><h2><a name="release_deliverables">Release Deliverables</a></h2><div>
<p>
AJDT releases are available from project update sites. There are different sites for each
major release see <a href="http://eclipse.org/ajdt/downloads">the project download page</a>
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 <em>dropins</em> folder.
</p>
<p>
AJDT additionally includes 3 plugins built from code originating in the
<a href="http://www.eclipse.org/projects/project-plan.php?projectid=tools.aspectj">AspectJ project</a>.
These plugins are <em>org.aspectj.runtime</em>, which contains the AspectJ runtime,
<em>org.aspectj.ajde</em>, which contains AspectJ support for integrating with a development environment,
and <em>org.aspectj.weaver</em>, which contains the AspectJ weaver and compiler.
</p>
</div><p><a href="#toc">Table of Contents</a></p><h2><a name="release_milestones">Release Milestones</a></h2><table border="1" align="center"><tr><td><b>1.6.1</b></td><td>10/15/2008</td><td><div>Service refresh of AJDT 1.6</div></td></tr><tr><td><b>1.6.2</b></td><td>12/31/2008</td><td><div>Service refresh of AJDT 1.6</div></td></tr></table><div/><p><a href="#toc">Table of Contents</a></p><h2><a name="target_environments">Target Environments</a></h2><div>AJDT 1.6 requires Eclipse 3.4. As such, it has the same JRE requirements as Eclipse.</div><h3>Internationalization</h3>
<div>English language bundles are available for many AJDT messages, but they have not been translated.
</div>
<p><a href="#toc">Table of Contents</a></p><h2><a name="compatibility">Compatibility with Previous Releases</a></h2><div>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.</div><p><a href="#toc">Table of Contents</a></p><h2><a name="themes_and_priorities">Themes and Priorities</a></h2><div>Our current focus is two-fold: performance and compatibility with JDT. For this version, we are not
looking at adding any major new features.</div><h3>Improving build performance (Target1.6.1)</h3><p>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.
</p><p>
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.
</p><ul><li><b>Committed</b><ul><li>[incremental] Incremental compilation in a scenario with a large number of projects [<a href="http://bugs.eclipse.org/243376">243376</a>] <strike>(target milestone: 1.6.2)</strike></li></ul></li></ul><ul><li><b>Proposed</b><ul><li>[plan] [incremental] Exception when moving an aspect to it own source file... [<a href="http://bugs.eclipse.org/148285">148285</a>] (target milestone: 1.6.3)</li></ul></li></ul><h3>Compatibility with JDT (Target 1.6.1)</h3><p>
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:
</p><ol>
<li>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.
</li>
<li>Equinox Aspects provides an excellent opportunity to open up JDT through the weaving process
and allow AJDT to more fully integrate with Eclipse.
</li>
</ol><ul><li><b>Committed</b><ul><li><div>No items.</div></li></ul></li></ul><ul><li><b>Proposed</b><ul><li>[jdt-weaving] Gaining control of CompilationUnit creation in JDT through the use of Aspects [<a href="http://bugs.eclipse.org/240021">240021</a>] (target milestone: 1.6.2)</li><li>[jdt-weaving] How to ship AJDT that weaves into JDT core [<a href="http://bugs.eclipse.org/240047">240047</a>] (target milestone: 1.6.2)</li><li>[jdt-weaving] ITD Aware type hierarchies [<a href="http://bugs.eclipse.org/256312">256312</a>] (target milestone: ---)</li><li>[plan item] Improve support for Java-like source files [<a href="http://bugs.eclipse.org/36939">36939</a>] (target milestone: ---)</li></ul></li></ul><h3>IDE support for Load Time Weaving (LTW) (Target 1.6.2)</h3><p>
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.
</p><ul><li><b>Committed</b><ul><li><div>No items.</div></li></ul></li></ul><ul><li><b>Proposed</b><ul><li>split matching and weaving [<a href="http://bugs.eclipse.org/242589">242589</a>] (target milestone: 1.6.3)</li><li>[plan] [split] Split matching and weaving [<a href="http://bugs.eclipse.org/246125">246125</a>] (target milestone: 1.6.3)</li></ul></li></ul><h3>Support for Eclipse 3.5 (Target 1.7)</h3><p>Refactor AJDT for the Ecipse 3.5 release.</p><ul><li><b>Committed</b><ul><li><div>No items.</div></li></ul></li></ul><ul><li><b>Proposed</b><ul><li>[plan-item] AJDT support for Eclipse 3.5 [<a href="http://bugs.eclipse.org/247358">247358</a>] (target milestone: 1.7.0)</li></ul></li></ul><p><a href="#toc">Table of Contents</a></p></div>
</div>
</div>
<div style="visibility: hidden; float: right; text-align: right"><a href="?projectid=tools.ajdt&raw=1">view raw xml of project plan</a><br>
<a href="http://www.eclipse.org/projects/dev_process/project-status-infrastructure.php">from project meta-data key "projectplanurl"</a></div>
</div> <!-- midcolumn -->
</div> <!-- maincontent -->
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-910670-2");
pageTracker._initData();
pageTracker._trackPageview();
</script></div><div id="footer">
<ul id="footernav">
<li class="first"><a href="http://www.eclipse.org/">Home</a></li>
<li><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></li>
<li><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a><a href="http://www.eclipse.org/org/press-release/20081112_termsofuse.php"><img src="http://www.eclipse.org/images/updated.png" align="absmiddle" /></a></li>
</ul>
<p>Copyright &copy; 2008 The Eclipse Foundation. All Rights Reserved</p>
</div></body></html>