EclipseLink/Development/Process

From Eclipsepedia

Jump to: navigation, search

EclipseLink Development Process

This page describes the process committers should use for developing and submitting code to EclipseLink.

Contents


Code Submission

All code that is checked into the EclipseLink source repository should have gone through the following steps

  • There is a documented reason for the change
    • For bugs, this means an entry in bugzilla
    • For features this means there is an enhancement in bugzilla, a Feature Specification that describes the goal for the feature and how it is used, and an up to date view of how the feature is designed.
  • Code has been reviewed
    • Code changes should be attached to the bug in the form of a patch and a notification should be sent to the eclipselink-dev mailing list
    • The patch should be generated against branch on which the patch is intended to work.
    • If the code goes through multiple iterations, not only should the new patch be attached to the bug, but the old patch should be obsoleted in bugzilla
    • It is the committer's responsibility to ensure that at least one other committer has reviewed the code and agrees it should be committed
    • If there are committers that disagree that the code should be committed, the committers with opposing views should work to come to an agreement and if they do not, ask the EclipseLink Architecture council for guidance
  • Code must be tested
    • New regression tests must be added to completely test the feature or bug
    • An accepted set of regression tests for the whole project must pass
  • When the code review has been completed the code can be committed into repository. A descriptive comment that references the bugzilla link or the feature name should be included with the check-in
  • When the code is checked in:
    • For bugs, the bugzilla entry must have the final patch attached to it and a short description of the fix should be added to bugzilla
    • For features, you must ensure both the functional specification and the design specification reflect the state of the current code
    • For both, send and email to eclipselink-dev and (when applicable)update bugzilla with the following information
      • The name of the feature or the number of the bug
      • A short description of the bug
      • A pointer to the new tests for the bug, and if they require any special configuration, a description of how to run them
      • A list of the tests that have been run
      • The name of the committer who reviewed the bug
      • A link to any related specifications (Functional Specifications, Design Specifications)

If you want to do a check-in that does not follow this process, send an email to the eclipselink-dev mailing list explicitly saying you are hoping to not follow the process and describing your reasoning. This should only be done in exceptional cases