<!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>