Jump to: navigation, search

Difference between revisions of "PDE/Plan/3.6"

< PDE‎ | Plan
(M4 - December 11th)
Line 45: Line 45:
 
{{PlanItem|PDE build should honor project settings||InProgress}}
 
{{PlanItem|PDE build should honor project settings||InProgress}}
 
* Compiler settings ({{bug|169740}}, {{bug|154292}})
 
* Compiler settings ({{bug|169740}}, {{bug|154292}})
{{PlanItem|Performance improvements for API tools||Investigate}}
+
{{PlanItem|Performance improvements for API tools||InProgress}}
 
* Incremental build {{bug|233643}}
 
* Incremental build {{bug|233643}}
 
* Memory foot print {{bug|231936}}
 
* Memory foot print {{bug|231936}}

Revision as of 14:03, 10 December 2009

Warning2.png
Unofficial Planning Document
This is an unofficial document used by the PDE team to help with the planning process. Items on this list aren't guaranteed to be found in a release.

Schedule

Dates are listed in the Eclipse Platform Releng Calendar (view as iCal)

M1 - August 7th

Ok green.gif Use Wiki for meetings/planning

Ok green.gif Combine mailing lists (281272)

Ok green.gif Handle xml parse errors in Ctx Help editor (284496)

Ok green.gif Handle xml parse errors in ToC editor (280119)

M2 - September 18th

Ok green.gif Prepare 3.5.1 Fixes

Ok green.gif Create 3.6 Plan

Ok green.gif Support spell checking in Cheat Sheet, TOC and Context Help Editor (286203)

Ok green.gif User interface for generating API Use Reports (280467)

Ok green.gif Override internal/API package name patterns for API use scan (289139)

M3 - October 30th

Ok green.gif Support headless launching for Eclipse and Equinox applications (278845)


Ok green.gif Synchronize target contents with Java search (175134)

Ok green.gif Provision metadata for launching (p2 self-hosting) (250126)

Progress.gif PDE build should honor project settings:

Progress.gif API Use Report enhancements:

Ok green.gif A single line for each different piece of API being used (289903)

Ok green.gif Find migration issues based on use scan (280463)

Ok green.gif Graduate the PDE Bundle Visualizer (106676)

  • Deferred to M4:

M4 - December 11th

Progress.gif Manage all target contents with a p2 profile (287619)

Glass.gif Better feature management in targets (284882)

Glass.gif Improve feature management in the workspace (284887)

Glass.gif Use features to manage launch contents (feature based launching) (284885)

Glass.gif Embed source repository information in bundles (243582)

Progress.gif PDE build should honor project settings

Progress.gif Performance improvements for API tools

M5 - January 29th

Glass.gif Enhance error reporting from PDE build (290172)

Glass.gif Support bundle version ranges in product files (292542)

Glass.gif Prepare 3.5.2 Fixes

M6 - March 12th (API Freeze)

M7 - April 30th (Feature Freeze)

Overall Goals

Code Quality

  • Better testing
  • Better milestone/release ramp down

Better Documentation

  • Use wiki as doc for better access and contribution from community
  • Start doc work earlier in cycle

Performance

  • Continue to keep API tooling builder fast and small footprint
  • Keep an eye on performance as target platform code changes

Work Items

General

Bundles or Plug-ins

  • Rename PDE to Bundle Development Environment?
  • Use of the word plug-in in UI needs to stop

Improve Communications

  • Continued web page improvements (M1/M2)
  • Use of wiki for meetings/planning (M1 Complete)
  • Combine mailing lists (M1 Complete)
  • Involve incubator projects such as Picasso to the webpage, and use Athena/Hudson to propose builds/update-sites of these projects (M2)
  • Integrate wiki based documentation


PDE UI

General

  • Write tests for core components
  • Improve code readability and javadoc of APIs (Ongoing)
  • Consider code coverage in tests
  • Fix samples generation/installation code for welcome page (Out of plan)

XML Errors

  • bug 284496 Handle xml parse errors in Ctx Help editor (M1 Complete)
  • bug 280119 Handle xml parse errors in ToC editor (M1 Complete)

Target Platform

  • Use targets in core PDE code
    • bug 283731 Remove Dependency On Preferences (M2/M3)
    • bug 284875 Associate OSGi state with the target (M2/M3)
  • Improve target models
    • bug 287619 Manage all target contents with a p2 profile (M2/M3)
    • bug 169340: [API] [target] Expose a means to programmatically set and load a Target Platform
    • Manage target contents with features (similar to feature based launching)
  • Provide multiple target platforms
    • bug 159072: [target] associate target definitions on a per-project basis (multiple target platforms per workspace)

Target-focused Quickfixes

  • Add quickfixes for missing imports or bundles
  • bug 175134 Ability to add all target contents to java search

Launching

  • Features as first class citizens again
    • Use features as a grouping mechanism
    • bug 284882 Better feature management in targets (M2/M3)
    • bug 284885 Use features to manage launch contents (feature based launching)
    • bug 284887 Improve feature management in the workspace
  • P2 Self Hosting
    • bug 250126 Create a p2 profile at launch time that can be manipulated in a target workspace.

Product Definitions

  • Allow for both features AND bundles to be specified
  • Add support for properties and remove the ability to specify a config.ini

Modernize Examples

API Tools

General

  • Improve builder performance
    • bug 233643: API builder performance bad for incremental build
    • bug 273295: ReferenceAnalyzer needs to handle different search scopes
    • bug 279286: Incremental compiler takes too long to react on Cancel
    • bug 280464: API tooling performance must be improved
  • Improve overall memory usage
    • bug 231936: Improve API description memory usage
  • Integrate target platforms more into scans / Ant tasks
    • bug 273621: API descriptions for source from the host are not properly loaded in target workspace
  • Improve code coverage
  • Examine support for using source attachments to resolve the use of in-lined Java members
    • bug 218566: Restricted field access not flagged as problem

API Use Scans

  • Make it really easy to generate API use scans
  • Output can be HTML report or search results in the IDE (with attached source)
  • Compare API use scans to see summary of dependencies added/removed between successive scans
  • Analyze scans for potential breakage (internal dependencies) when moving to a new version of required components (for example WTP moving to a new version of the Eclipse SDK).
  • Consider scans taylored to show API use based on frequency of use - i.e. what APIs internals are used most heavily.
  • Performance improvements

UI Consumability / Search

  • Provide current UI offering in core code. The current offering is available here.
  • Update the code to be in a wizard, not necessarily in the search dialog
  • Provide output to search view / API tooling view along with reports

Internal Use Breakage Analysis

  • Provide tooling to inspect internal use and breakage (potential or otherwise)
  • Provide as user-run tooling and evaluate build-time tooling

Required Bundle Validation

  • Validate the bounds of required bundles based on the references from the bundle
  • Provide as user-run tooling and evaluate build-time performance

Package Version Support

  • Validate package versions wrt bundle versions / usage from required bundles
  • Provided as user-run tooling and evaluate build-time performance

Build

Consumability

  • Invest in build technology - ideally any developer should be able to build the Eclipse SDK from any machine with relative ease. The result(and underlying process) should be the same as that produced by a release engineering build.
  • Improve error reporting from PDE/Build. Compilation errors can cause a cascade of errors making it difficult to see where a root problem lies. A dependency analysis should be performed on bundles that have compilation errors to derive error message ordering (bundles lowest on the stack first).
  • Particiapate in the b3 project

Extensibility

  • Make PDE/Build extensible. Allow some information to be contributed by extension points. This can enable other bundles (pde.ui, or others) to contribute information that, for example, may be available in the workspace.
    • bug 106594: Make PDE fully workspace aware
    • bug 266311: PDE Build should use the new target definition mechanism

Source bundles provide repo info

  • bug 243582 Support embedding repository information in released bundles

Single Entry Point Ant Tasks

  • Consider single-entry-point ant tasks for building features/plugins/sites/products. These would automatically set up default builders according to some defaults and then run them. This could be considered an analog of export, and becomes more effective given the extension points above.

p2 Integration

  • Integration with p2.
    • p2 as input to build, extend use of p2 in fetching pre-reqs
    • how can building p2 enabled products be simplified

Other

  • bug 154083: Incremental Plug-in Build
  • bug 222965: Use frameworkadmin to generate config.ini / eclipse.ini
  • Make PDE/Build match the development environment settings:
    • Changes in build path should be reflected in build.properties and visa versa
    • Pass extra project compiler settings to build for Eclipse Java compiler
    • bug 155015 bug 260997 bug 286808

Platform Support

  • Eclipse: 3.6
  • Target Platforms back to 3.0 supported
  • Java: J2SE 1.4 or later required
  • Operating Systems: all supported by Eclipse