| <!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 © 2008 The Eclipse Foundation. All Rights Reserved</p> |
| </div></body></html> |