Skip to main content

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.

Jump to: navigation, search

Difference between revisions of "PDE/Plan/3.6"

< PDE‎ | Plan
(Build)
Line 8: Line 8:
 
== Overall Goals  ==
 
== Overall Goals  ==
  
==== Improve PDE code quality  ====
+
==== Code Quality ====
  
 
*Better testing  
 
*Better testing  
Line 25: Line 25:
 
== Work Items  ==
 
== Work Items  ==
  
=== PDE General  ===
+
=== General  ===
  
 
==== Bundles or Plug-ins  ====
 
==== Bundles or Plug-ins  ====
  
*Rename PDE to Bundle Development Environment  
+
*Rename PDE to Bundle Development Environment?
*Use of the word plug-in in UI
+
*Use of the word plug-in in UI needs to stop
  
==== Improve PDE communications ====
+
==== Improve Communications ====
  
 
*Continued web page improvements  
 
*Continued web page improvements  
Line 46: Line 46:
 
=== PDE UI  ===
 
=== PDE UI  ===
  
==== Improve code quality ====
+
==== General ====
  
 
*Write tests for core components  
 
*Write tests for core components  
Line 117: Line 117:
  
 
=== Build  ===
 
=== Build  ===
 +
 +
==== 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.
 
* 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|106594}}: Make PDE fully workspace aware  
 
**{{bug|266311}}: PDE Build should use the new target definition mechanism
 
**{{bug|266311}}: PDE Build should use the new target definition mechanism
 +
 +
==== 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.
 
* 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.   
 
* Integration with p2.   
 
** p2 as input to build, extend use of p2 in fetching pre-reqs
 
** p2 as input to build, extend use of p2 in fetching pre-reqs
 
** how can building p2 enabled products be simplified
 
** how can building p2 enabled products be simplified
 +
 +
==== Other ====
  
 
* Feature patches? {{bug|84351}}
 
* Feature patches? {{bug|84351}}

Revision as of 11:32, 24 July 2009

Note: 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)

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
  • Use of wiki for meetings/planning
  • Combine mailing lists (Complete)
  • Involve incubator projects such as Picasso to the webpage, and use Athena/Hudson to propose builds/update-sites of these projects
  • Integrate wiki based documentation

Graduate PDE Dependency Visualizer

PDE UI

General

  • Write tests for core components
  • Improve code readability and javadoc of APIs
  • Consider code coverage in tests

Target Platform

  • Continue target platform definition enhancements.
  • Target platform/definition contents could be managed entirely with p2 profiles for improved performance and for proper persistence/restoration.
  • OSGi state could be associated with target definitions and leveraged for per-project target build paths.
  • Remove dependency on preferences
  • Improved APIs
    • bug 169340: [API] [target] Expose a means to programmatically set and load a Target Platform
  • Multiple target platforms
    • bug 159072: [target] associate target definitions on a per-project basis (multiple target platforms per 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

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

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

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

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

Back to the top