Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
PDE/Plan/3.6
Contents
Schedule
Dates are listed in the Eclipse Platform Releng Calendar (view as iCal)
M1 - August 7th
Use Wiki for meetings/planning
Combine mailing lists (281272)
Handle xml parse errors in Ctx Help editor (284496)
Handle xml parse errors in ToC editor (280119)
M2 - September 18th
Support spell checking in Cheat Sheet, TOC and Context Help Editor (286203)
User interface for generating API Use Reports (280467)
Override internal/API package name patterns for API use scan (289139)
M3 - October 30th
Support headless launching for Eclipse and Equinox applications (278845)
Synchronize target contents with Java search (175134)
Provision metadata for launching (p2 self-hosting) (250126)
PDE build should honor project settings:
- File specific encodings (bug 155015, bug 260997)
build.properties validation (bug 286808, bug 276931, bug 253950)
A single line for each different piece of API being used (289903)
Find migration issues based on use scan (280463)
Graduate the PDE Bundle Visualizer (106676)
- Deferred to M4:
- Add support for custom extension point attributes bug 227055
- Compare API use reports bug 266903
M4 - December 11th
PDE build should honor project settings (154292)
Performance improvements for API tools (296487)
M5 - January 29th
Manage all target contents with a p2 profile (287619)
Performance improvements for API tools - continued
- Incremental build bug 233643
- Memory foot print bug 231936
Illegal API use should be reported in API use reports (296189 )
Headless API for plug-in project creation (188795 )
Flexible bundle root location in plug-in projects (297895)
M6 - March 12th (API Freeze)
Use features to manage launch contents (feature based launching) (284885)
Use features to manage target contents (284882)
Embed source repository information in bundles (243582)
API tools incremental build performance [more] (299968)
API Use Report enhancements (288557)
Compatibility fixes (301178)
M7 - April 30th (Feature Freeze)
Enhance error reporting from PDE build (290172)
Provide metadata repositories to PDE Build on export (272061)
PDE build should honor compiler errors/warnings settings (169740)
PDE build should honor encoding settings: (155015)
Support bundle version ranges in product files (292542)
RC Builds
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
- bug 253105 [templates] RCP Mail 2.0
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
- Feature patches? bug 84351
- 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