<!-- saved from url=(0022)http://internet.e-mail --> | |
<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> | |
<html> | |
<head> | |
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> | |
<meta name="Author" content="Eclipse Project PMC"> | |
<meta name="GENERATOR" content="Microsoft FrontPage 4.0"> | |
<meta name="ProgId" content="FrontPage.Editor.Document"> | |
<title>Eclipse Project Draft 3.2 Plan</title> | |
<link rel="stylesheet" href="../../default_style.css" type="text/css"> | |
</head> | |
<body> | |
<h1>Eclipse Project<br> | |
DRAFT 3.2 Plan</h1> | |
<p>Last revised 11:30 EST February 14, 2005 (<img border="0" src="new.gif" width="12" height="12"> | |
marks interesting changes)<br> | |
<br> | |
<i> Please send comments about this draft plan to the </i><a href="mailto:eclipse-dev@eclipse.org">eclipse-dev@eclipse.org</a> | |
<i>developer mailing list.</i></p> | |
<p>This document lays out the feature and API set for the next feature release | |
of Eclipse after 3.1, designated release 3.2. | |
<ul> | |
<li><a href="#Deliverables">Release deliverables</a></li> | |
<li><a href="#Milestones">Release milestones</a></li> | |
<li><a href="#TargetOperatingEnvironments">Target operating environments</a></li> | |
<li><a href="#Compatibility">Compatibility with previous releases</a></li> | |
<li><a href="#Platform">Eclipse Platform project</a></li> | |
<li><a href="#JDT">Java development tools (JDT) project</a></li> | |
<li><a href="#PDE">Plug-in development environment (PDE) project</a></li> | |
</ul> | |
<p>Plans do not materialize out of nowhere, nor are they entirely static. To | |
ensure the planning process is transparent and open to the entire Eclipse | |
community, we (the Eclipse PMC) post plans in an embryonic form and revise them | |
throughout the release cycle. | |
<p>The first part of the plan deals with the important matters of release | |
deliverables, release milestones, target operating environments, and | |
release-to-release compatibility. These are all things that need to be clear for | |
any release, even if no features were to change. | |
<p>The remainder of the plan consists of plan items for the three projects under | |
the Eclipse top-level project. Each plan item covers a feature or API that is to be added to | |
Eclipse, or some aspect of Eclipse that is to be improved. Each plan item has | |
its own entry in the Eclipse bugzilla database, with a title and a concise | |
summary (usually a single paragraph) that explains the work item at a suitably | |
high enough level so that everyone can readily understand what the work item is | |
without having to understand the nitty-gritty detail. | |
<p>Not all plan items represent the same amount of work; some may be quite | |
large, others, quite small. Some plan items may involve work that is localized | |
to a single Platform component; others may involve coordinated changes to | |
several components; other may pervade the entire Platform. Although some plan | |
items are for work that is more pressing that others, the plan items appear in | |
no particular order. | |
<p>With the previous release as the starting point, this is the plan for how we | |
will enhance and improve it. Fixing bugs, improving test coverage, | |
documentation, examples, performance tuning, usability, etc. are considered routine | |
ongoing maintenance activities and are not included in this plan unless they | |
would also involve a significant change to the API or feature set, or involve a | |
significant amount of work. The intent of the plan is to account for all interesting feature work. | |
<p>The current status of each plan item is noted: | |
<ul> | |
<li><b>Committed</b> plan item - A committed plan item is one that we have | |
decided to address for the release.</li> | |
<li><b>Proposed</b> plan item - A proposed plan item is one that we are | |
considering addressing for the release. Although we are actively | |
investigating it, we are not yet in a position to commit to it, or to say | |
that we won't be able to address it. After due consideration, a proposal | |
will either be committed or deferred.</li> | |
<li><b>Deferred</b> plan item - A reasonable proposal that will not make it in | |
to this release for some reason is marked as deferred with a brief note as | |
to why it was deferred. Deferred plan items may resurface as committed plan | |
items at a later point.</li> | |
</ul> | |
<h2><a name="Deliverables"></a>Release deliverables</h2> | |
<p>The release deliverables have the same form as previous releases, namely: | |
<ul> | |
<li>Source code release for Eclipse Project, available as versions tagged "R3_2" | |
in the Eclipse Project <a href="http://dev.eclipse.org/viewcvs/">CVS repository</a>.</li> | |
<li>Eclipse Project SDK (includes runtime binary and SDK for Platform, JDT, | |
and PDE) (downloadable).</li> | |
<li>Eclipse Platform runtime binary and SDK distributions (downloadable).</li> | |
<li>Eclipse RCP runtime binary and SDK distributions (downloadable).</li> | |
<li>JDT runtime binary and SDK distributions (downloadable).</li> | |
<li>PDE runtime binary and SDK distributions (downloadable).</li> | |
<li>Eclipse SDK Examples (downloadable).</li> | |
<li>SWT distribution (downloadable).</li> | |
</ul> | |
<h2><a name="Milestones"></a>Release milestones</h2> | |
<p>Release milestone occurring at roughly 6 week intervals exist to facilitate | |
coarse-grained planning and staging. The milestones are:</p> | |
<ul> | |
<li><img border="0" src="new.gif" width="12" height="12"> Friday Aug. 12, 2005 | |
- Milestone 1 (3.2 M1) - stable build</li> | |
<li><img border="0" src="new.gif" width="12" height="12"> Friday Sep. 23, 2005 | |
- Milestone 2 (3.2 M2) - stable build</li> | |
<li><img border="0" src="new.gif" width="12" height="12"> Friday Nov. 4, 2005 | |
- Milestone 3 (3.2 M3) - stable build</li> | |
<li><img border="0" src="new.gif" width="12" height="12"> Friday Dec. 16, 2005 | |
- Milestone 4 (3.2 M4) - stable build</li> | |
</ul> | |
<p>Additional 2006 milestones will be added later. <img border="0" src="new.gif" width="12" height="12"> | |
Our target is to complete 3.2 in 2Q2006. All release deliverables will be available | |
for download as soon as the release has been tested and validated in the target | |
operating configurations listed below.</p> | |
<h2><a name="TargetOperatingEnvironments"></a>Target Operating Environments</h2> | |
<p>In order to remain current, each Eclipse release targets reasonably current | |
versions of the underlying operating environments.</p> | |
<p>Most of the Eclipse SDK is "pure" Java code and has no direct dependence | |
on the underlying operating system. The chief dependence is therefore on the | |
Java 2 Platform itself. The 3.2 release of the Eclipse Project is written and | |
compiled against version [TBD] of the Java 2 Platform APIs, and targeted to | |
run on version [TBD] of the Java 2 Runtime Environment, Standard Edition.</p> | |
<p>There are many different implementations of the Java 2 Platform running atop | |
a variety of operating systems. We focus Eclipse testing on a handful of popular | |
<span class="header">combinations of operating system and Java 2 Platform; these | |
are our <em>reference platforms</em>. Eclipse undoubtedly runs fine in many | |
operating environments beyond the reference platforms we test. However, since | |
we do not systematically test them we cannot vouch for them. Problems encountered | |
when running Eclipse on non-reference platform that cannot be recreated on any | |
reference platform will be given lower priority than problems with running Eclipse | |
on a reference platform.</span></p> | |
<p>Eclipse SDK 3.2 is tested and validated on the following reference platforms | |
(this list is updated over the course of the release cycle):</p> | |
<p> </p> | |
<table width="821" border="1"> | |
<tr bgcolor="#CCCCCC"> | |
<th colspan="4"> | |
<div align="center"> | |
<b><font size="+1">Eclipse Reference Platforms</font></b> | |
</div> | |
</th> | |
</tr> | |
<tr> | |
<td width="205"><b>Operating system</b></td> | |
<td width="76"><b>Processor architecture</b></td> | |
<td width="59"><b>Window system</b></td> | |
<td width="453"><b>Java 2 Platform</b></td> | |
</tr> | |
<tr> | |
<td width="205">Microsoft Windows XP</td> | |
<td width="76">Intel x86</td> | |
<td width="59">Win32</td> | |
<td width="453">Sun Java 2 Standard Edition [version TBD] for Microsoft Windows</td> | |
</tr> | |
<tr> | |
<td width="205">Microsoft Windows XP</td> | |
<td width="76">Intel x86</td> | |
<td width="59">Win32</td> | |
<td width="453"> <p> IBM 32-bit SDK for Windows, Java 2 Technology Edition | |
[version TBD] </p> | |
</td> | |
</tr> | |
<tr> | |
<td width="205" height="22">Red Hat Enterprise Linux WS 3</td> | |
<td width="76">Intel x86</td> | |
<td width="59">GTK</td> | |
<td width="453">Sun Java 2 Standard Edition [version TBD] for Linux x86</td> | |
</tr> | |
<tr> | |
<td width="205">Red Hat Enterprise Linux WS 3</td> | |
<td width="76">Intel x86</td> | |
<td width="59">GTK</td> | |
<td width="453">IBM 32-bit SDK for Linux on Intel architecture, Java 2 Technology | |
Edition [version TBD]</td> | |
</tr> | |
<tr> | |
<td width="205">SLES 9</td> | |
<td width="76">Intel x86</td> | |
<td width="59">GTK</td> | |
<td width="453">Sun Java 2 Standard Edition [version TBD] for Linux x86</td> | |
</tr> | |
<tr> | |
<td width="205">SLES 9</td> | |
<td width="76">Intel x86</td> | |
<td width="59">GTK</td> | |
<td width="453">IBM 32-bit SDK for Linux on Intel architecture, Java 2 Technology | |
Edition [version TBD]</td> | |
</tr> | |
<tr> | |
<td width="205">Sun Solaris 8</td> | |
<td width="76">SPARC</td> | |
<td width="59">Motif</td> | |
<td width="453">Sun Java 2 Standard Edition [version TBD] for Solaris SPARC</td> | |
</tr> | |
<tr> | |
<td width="205">HP HP-UX 11i</td> | |
<td width="76">hp9000<br> | |
PA-RISC</td> | |
<td width="59">Motif</td> | |
<td width="453"><span class="header">HP-UX SDK for the Java 2 platform [version | |
TBD] for hp9000 PA-RISC</span></td> | |
</tr> | |
<tr> | |
<td width="205" height="21">IBM AIX 5L Version 5.2</td> | |
<td width="76">PowerPC</td> | |
<td width="59">Motif</td> | |
<td width="453"> <p>IBM 32-bit SDK for AIX, Java 2 Technology Edition [version | |
TBD]</p> | |
</td> | |
</tr> | |
<tr> | |
<td width="205">Apple Mac OS X 10.3</td> | |
<td width="76">PowerPC</td> | |
<td width="59">Carbon</td> | |
<td width="453">Java 2 Standard Edition [version TBD] for Mac OS X</td> | |
</tr> | |
</table> | |
<p>Although untested, Eclipse should work fine on other OSes that support the | |
same window system. For Win32: Windows 98, ME, NT, 2000, and Server 2003; SWT | |
HTML viewer requires Internet Explorer 5 (or higher). For GTK on other Linux | |
systems: version 2.2.1 of the GTK+ widget toolkit and associated librares (GLib, | |
Pango); SWT HTML viewer requires Mozilla 1.4GTK2. For Motif on other Linux | |
systems: Open Motif 2.1 (included); SWT HTML viewer requires Mozilla 1.4GTK2.</p> | |
<p>An early access version of Eclipse is also available for 64-bit Linux GTK. | |
Testing has been limited to early access 64-bit J2SEs running on AMD64 | |
processors.</p> | |
<p>SWT is also supported on the QNX Neutrino operating system, x86 processor, | |
Photon window system, and IBM J9 VM version 2.0. Eclipse 3.2 on Windows or Linux | |
can be used cross develop QNX applications. (Eclipse is unavailable on QNX because | |
there is currently no J2SE for QNX.)</p> | |
<h4>Internationalization</h4> | |
<p>The Eclipse Platform is designed as the basis for internationalized products. | |
The user interface elements provided by the Eclipse SDK components, including | |
dialogs and error messages, are externalized. The English strings are provided | |
as the default resource bundles.</p> | |
<p>Latin-1 locales are supported by the Eclipse SDK on all of the above | |
operating environments; DBCS locales are supported by the Eclipse SDK on the | |
Windows, GTK, and Motif window systems; BIDI locales are supported by the | |
Eclipse SDK only on Windows operating environments. | |
<p>The Eclipse SDK supports GB 18030, the new Chinese code page standard, on | |
Windows XP and 2000, and Linux. | |
<p>German and Japanese locales are tested.</p> | |
<h4>BIDI support</h4> | |
<p>SWT fully supports BIDI on Windows (only). On Linux GTK, SWT supports entering | |
and displaying BIDI text. The widget orientation of JFace windows defaults appropriately | |
in BIDI locales on Windows (only).</p> | |
<p>The Eclipse SDK is a development environment targeted at technical professionals | |
- not an end user application. However, the Eclipse SDK tools will permit technical | |
professionals who are working in English to build Hebrew/Arabic end user Java | |
programs which are themselves not based on the Eclipse SDK. The BIDI support | |
in the Eclipse SDK allows a Java programmer to work with BIDI strings, code | |
comments, etc. but the Eclipse SDK itself is not designed to be localized for | |
BIDI locales and its widget orientation can not be changed.</p> | |
<h2><a name="Compatibility"></a>Compatibility with Previous Releases</h2> | |
<h3>Compatibility of Release 3.2 with 3.1</h3> | |
<p>Eclipse 3.2 will be compatible with Eclipse 3.1 (and, hence, with 3.0).</p> | |
<p><b>API Contract Compatibility:</b> Eclipse SDK 3.2 will be upwards contract-compatible | |
with Eclipse SDK 3.1 except in those areas noted in the <a href="http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/org.eclipse.platform.doc.isv/porting/eclipse_3_2_porting_guide.html" target="_top"><em>Eclipse | |
3.2 Plug-in Migration Guide</em></a>. Programs that use affected APIs and extension | |
points will need to be ported to Eclipse SDK 3.2 APIs. Downward contract compatibility | |
is not supported. There is no guarantee that compliance with Eclipse SDK 3.2 | |
APIs would ensure compliance with Eclipse SDK 3.1 APIs. Refer to <i><a href="http://eclipse.org/eclipse/development/java-api-evolution.html">Evolving | |
Java-based APIs</a></i> for a discussion of the kinds of API changes that maintain | |
contract compatibility.</p> | |
<p><b>Binary (plug-in) Compatibility:</b> Eclipse SDK 3.2 will be upwards binary-compatible | |
with Eclipse SDK 3.1 except in those areas noted in the <a href="http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/org.eclipse.platform.doc.isv/porting/eclipse_3_2_porting_guide.html" target="_top"><em>Eclipse | |
3.2 Plug-in Migration Guide</em></a>. Downward plug-in compatibility is not | |
supported. Plug-ins for Eclipse SDK 3.2 will not be usable in Eclipse SDK 3.1. | |
Refer to <i><a href="http://eclipse.org/eclipse/development/java-api-evolution.html">Evolving | |
Java-based APIs</a></i> for a discussion of the kinds of API changes that maintain | |
binary compatibility. | |
<p><b>Source Compatibility:</b> Eclipse SDK 3.2 will be upwards source-compatible | |
with Eclipse SDK 3.1 except in the areas noted in the <a href="http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/org.eclipse.platform.doc.isv/porting/eclipse_3_2_porting_guide.html" target="_top"><em>Eclipse | |
3.2 Plug-in Migration Guide</em></a>. This means that source files written to | |
use Eclipse SDK 3.1 APIs might successfully compile and run against Eclipse | |
SDK 3.2 APIs, although this is not guaranteed. Downward source compatibility | |
is not supported. If source files use new Eclipse SDK APIs, they will not be | |
usable with an earlier version of the Eclipse SDK. | |
<p><b>Workspace Compatibility:</b> Eclipse SDK 3.2 will be upwards workspace-compatible | |
with Eclipse SDK 3.1 unless noted. This means that workspaces and projects created | |
with Eclipse SDK 3.1 or 3.0 can be successfully opened by Eclipse SDK 3.2 and | |
upgraded to a 3.2 workspace. This includes both hidden metadata, which is localized | |
to a particular workspace, as well as metadata files found within a workspace | |
project (e.g., the .project file), which may propagate between workspaces via | |
file copying or team repositories. Individual plug-ins developed for Eclipse | |
SDK 3.2 should provide similar upwards compatibility for their hidden and visible | |
workspace metadata created by earlier versions; 3.2 plug-in developers are responsible | |
for ensuring that their plug-ins recognize 3.1, 3.0, 2.1, and 2.0 metadata and | |
process it appropriately. User interface session state may be discarded when | |
a workspace is upgraded. Downward workspace compatibility is not supported. | |
A workspace created (or opened) by a product based on Eclipse 3.2 will be unusable | |
with a product based an earlier version of Eclipse. Visible metadata files created | |
(or overwritten) by Eclipse 3.2 will generally be unusable with earlier versions | |
of Eclipse. | |
<p><b>Non-compliant usage of API's</b>: All non-API methods and classes, and | |
certainly everything in a package with "internal" in its name, are | |
considered implementation details which may vary between operating environment | |
and are subject to change without notice. Client plug-ins that directly depend | |
on anything other than what is specified in the Eclipse SDK API are inherently | |
unsupportable and receive no guarantees about compatibility within a single | |
release much less with an earlier releases. Refer to <i><a href="http://www.eclipse.org/articles/Article-API%20use/eclipse-api-usage-rules.html">How | |
to Use the Eclipse API</a></i> for information about how to write compliant | |
plug-ins. | |
<h2>Themes and Priorities</h2> | |
<p>The changes under consideration for the next release of Eclipse Platform, JDT, | |
and PDE will address major themes identified by the Eclipse Requirements Council | |
(Themes and Priorities dated Dec. 15, 2004 - <a href="http://www.eclipse.org/org/councils/20041215EclipseTPFinalDraft.pdf">pdf)</a>. | |
Three of them are especially germane to this top level project:</p> | |
<ul> | |
<li><strong> Scaling Up</strong> - This refers to the need for Eclipse to deal | |
with development and deployment on a larger and more complex scale. Increasing | |
complexities arise from large development teams distributed in different locations, | |
large source code bases and fragile build environments that have been developed | |
incrementally over time, the dynamic nature of new source code bases and their | |
interaction with configuration management, and build environments involving | |
many different tools and build rules.</li> | |
<li><strong> Enterprise Ready</strong> - Eclipse should be improved to allow | |
it to be better used by large development organizations.</li> | |
<li><strong> Design for Extensibility: Be a Better Platform</strong> - Within | |
the Eclipse community, many development projects are defining new development | |
platforms on top of the Eclipse Platform. The Eclipse Platform must evolve | |
to better support this type of usage, including providing new common infrastructure | |
and abstraction layers needed by upper platforms and adding APIs to expose | |
existing functionality only available internally so that upper platforms can | |
more readily integrate with and reuse what's already there.</li> | |
</ul> | |
<p>Each of the 3 projects under the Eclipse top-level project is covered in its | |
own section: </p> | |
<ul> | |
<li><a href="#Platform">Eclipse Platform project</a></li> | |
<li><a href="#JDT">Java development tools (JDT) project</a></li> | |
<li><a href="#PDE">Plug-in development environment (PDE) project</a></li> | |
</ul> | |
<p>For each project, the items listed reflect new features of Eclipse or areas | |
where existing features will be significantly reworked. Each item indicates | |
the components likely affected by that work item (many items involve coordinated | |
changes to several components). Numbers in parentheses link to bugzilla problem | |
reports for that plan item. | |
<h2><a name="Platform">Eclipse Platform project</a></h2> | |
<p>The Eclipse Platform provides the most fundamental building blocks. Plan | |
items reflect new features of the Eclipse Platform, or areas where existing | |
features will be significantly reworked.</p> | |
<h4>Committed Items (Eclipse Platform project)</h4> | |
<blockquote> | |
<p><i>None at this time.</i></p> | |
</blockquote> | |
<h4>Proposed Items (Eclipse Platform project)</h4> | |
<blockquote> | |
<p><i>None at this time.</i></p> | |
</blockquote> | |
<h4>Deferred Items (Eclipse Platform project)</h4> | |
<blockquote> | |
<p><i>None at this time.</i></p> | |
</blockquote> | |
<p>(End of items for Eclipse Platform project.)</p> | |
<h2><a name="JDT">Java development tools (JDT) project</a></h2> | |
<p><a href="http://www.eclipse.org/jdt/index.html">Java development tools</a> (JDT) | |
implements a Java IDE based on the Eclipse Platform. The following work items | |
reflect new features of JDT, or areas where existing features will be | |
significantly reworked.</p> | |
<h4>Committed Items (Eclipse JDT project,)</h4> | |
<blockquote> | |
<p><i>None at this time.</i></p> | |
</blockquote> | |
<h4>Proposed Items (Eclipse JDT project)</h4> | |
<blockquote> | |
<p><i>None at this time.</i></p> | |
</blockquote> | |
<h4>Deferred Items (Eclipse JDT project)</h4> | |
<blockquote> | |
<p><i>None at this time.</i></p> | |
</blockquote> | |
<p>(End of items for Eclipse JDT project.) | |
<h2><a name="PDE">Plug-in development environment (PDE) project</a></h2> | |
The <a href="http://www.eclipse.org/pde/index.html">plug-in development | |
environment</a> (PDE) consists of tools for developing plug-ins for the | |
Eclipse Platform. The following work items reflect new features of PDE, or areas | |
where existing features will be significantly reworked. | |
<h4>Committed Items (Eclipse PDE project)</h4> | |
<blockquote> | |
<p><i>None at this time.</i></p> | |
</blockquote> | |
<h4>Proposed Items (Eclipse PDE project)</h4> | |
<blockquote> | |
<p><i>None at this time.</i></p> | |
</blockquote> | |
<h4>Deferred Items (Eclipse PDE project)</h4> | |
<blockquote> | |
<p><i>None at this time.</i></p> | |
</blockquote> | |
<h4>(End of items for Eclipse PDE project.)</h4> | |
</body> | |
</html> |