Skip to main content
Jump to: navigation, search


< EclipseLink‎ | Development
Revision as of 11:03, 4 December 2008 by (Talk | contribs) (Development Stream(s))

EclipseLink Incubation

The (proposed) Incubation component of EclipseLink allows new functionality to be developed in isolation of the shipped components. The purpose is to allow consumers to optionally try out the incubation functionality and provide feedback so that it can evolve to meet the needs of the community.

What should incubate? In deciding when a new incubation sub-component should be created the committers should consider the opportunity incubation allows to gather feedback and evolve the solution without effecting the existing product or imposing any backwards compatibility requirements.

Current Incubation Sub-Components

Name Committer(s) Wiki SVN Location
200045 Dynamic Persistence dclarke EclipseLink/Development/JPA/Dynamic /svnroot/rt/org.eclipse.persistence/trunk/incubation/dynamic

Incubation Process Guidelines

The development of incubation sub-components is intended to allow rapid innovation of ideas independent of the main development while still conforming to the Eclipse development and IP rules.

Creating a new Incubation Sub-Component

In order to create a new incubation sub-component the following steps should be followed:

  1. Open a bug or enhancement request for the proposed incubation work and assign it to the Incubation component
  2. Send an email to the mailing list proposing the bug for development in the incubation component
  3. After approval at the weekly meeting assign it to yourself in status Assigned

The creation and development of the sub-component should include the following:

  • Create a WIKI for the work under:
    • Explain the work being developed
    • Functional requirements and design
    • How to download use and provide feedback
    • What version does it work with and which version the work is being developed in
    • Any build/test/package instructions
    • Any usage documentations
    • Any other useful information to facilitate use and feedback

  • Create a folder in the incubation component for the work /trunk/incubation/...
    • Folder should contain a project and ANT build/package scripts (Note: These will only be executed manually)
  • During development ensure all commits clearly indicate the incubation sub-component and bug #
    • EXAMPLE: Incubation-Dynamic-200045: Added support for JPA eclispelink-orm.xml metadata processing

Promoting an Incubation Sub-Component

After the incubation work has reached maturity and the owning committer(s) wish to promote it into the product. This should be done under standard project development with other committers reviewing the requirements, design, implementation, and tests prior to committing.

Upon completion of moving an incubation sub-component into the main project components the incubation folders should be deleted in an SVN transaction and the wiki pages involved should be updated to reflect the completed state of the work.

Common Incubation Header


* This program and the accompanying materials are made available under the 
* terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0 
* which accompanies this distribution. 
* The Eclipse Public License is available at
* and the Eclipse Distribution License is available at 
* Contributors:
*  Joe Shmoe     Initial Check in  2008/12/01


* EclipseLink INCUBATION project: {project-name} - {bug#}
* This code is being developed under incubation and is not currently included 
* in the automated EclipseLink build.  The API in this code may change, or 
* may never be included in the product.  Please provide feedback through mailing 
* lists or the bug database.

Development Stream(s)

In general incubation sub-components will be developed in the trunk. Branches made where the incubation sub-component is not going to be worked on should have the work removed from the new branch to avoid confusion. Ultimately it is up to the sub-compoenent's owner to ensure it exists in only the relevant streams and that the wiki page properly documents this for other developers.

Back to the top