Difference between revisions of "Europa Simultaneous Release"
|Line 45:||Line 45:|
| [http://www.eclipse.org/mdt/ MDT] || +2 || Kenn Hussey
| [http://www.eclipse.org/mdt/ MDT] || +2 || Kenn Hussey
Revision as of 18:47, 13 December 2006
(This is the easily-community modifiable wiki page about the Europa Simultaneous Release. This page (and its siblings) should be the main developer information pages. The master page on the eclipse.org site mostly points here.)
The projects that plan to participate in the Europa Simultaneous Release are: (and their milestone offsets and their project lead)
|DSDP DD||+2||Doug Gaff|
|DSDP TM||+2||Martin Oberhuber|
|Web Tools||+2||Tim Wagner|
Requirements For Participation
Projects that are part of Callisto agree to abide by the following requirements.
These are required for participation:
- The projects must work together.
- Projects must have build process maturity and their own functional project update site - the Europa site will reference these sites, not replace them.
- Projects must optimize their update site using pack200 to reduce bandwidth utilization and provide a better update experience for users. Additionally, they should do site digesting.
- Projects must use 4-part version numbers.
- Projects must provide both run-times and SDKs through their update sites and thence through the Europa update site. (The Planning Council identified that this might not be technically possible due to bugs in the update manager's computation of required dependencies. We will remove this requirement if it proves to be impossible.)
- Projects must use signed plugins using the Eclipse certificate.
- Any third-party plug-ins that are common between projects must be consumed via Orbit; the final Europa release will not have duplicate third-party libraries (note that this only applies to identical versions of the libraries; thus if project A requires foo.jar 1.6 and project B uses foo.jar 1.7, that's ok).
- All plug-ins must correctly list their required JVM versions in the manifest/plugin.xml.
- Project representatives must attend the planning meetings and conference calls - you have to be involved to be involved.
- At least one person from each project must subscribe to cross-project bug inbox, i.e. edit Bugzilla prefs to watch "email@example.com"
- Build team members from each project will provide communication channels: phone, mail, IM, IRC and will be available during to-be-specified crucial integration times
- Projects must have stated and demonstrated their intent to join Europa by the M4+0 date. Projects do so by adding themselves to the table/list above, along with their contact information.
- Projects that have demonstrated an inability to synchronize with Europa milestones by M6 will be removed from the Europa simultaneous release unless the remaining Europa projects vote to retain said project.
These are recommended for participating projects:
- Projects should have jar'ed plug-ins because this is good Eclipse citizenship.
- Projects should use Eclipse message bundles, not Java bundles because this is a good Eclipse citizenship. (see Message Bundle Conversion Tool and )
- Build reproducibility? Require that projects be buildable by community members. Should be identical bits (but not required). All build assets and documentation in CVS/Subversion.
- Non-project-team-members should be able to build each project.
- Non-project-team-members should be able to run unit tests on each project.
- Source tarballs should be created for Linux distros to build with.
- Should have new & noteworthy for each milestone. Should be something readable and usable not just a static list of all the bugs. Corollary: individual new & noteworthy should be linked in to the collective New & Noteworthy.
- Projects should use ICU4J.
- Projects should provide build RSS feeds as per the build workshop.
- Projects should have a written ramp down policy. (One of the issues identified with this guideline is that its not so much the ramp down policy of how many votes are needed for each bug fix that we need to be consistent on, but rather the meaning of each of the milestones and release candidates. Here  is the Platform 3.2 ramp down policy as a guideline for other projects.)
Milestones and Release Candidates
These milestone and release candidate dates are based on the dependencies of the projects (we call these the +0, +1, and +2 dependencies). Obviously, if a +0 date slips, then it will cause the +1 and +2 dates to slip; similarly for a +1 slip causing +2 slips.
Candidate milestone dates:
|M4||Dec 15||Dec 21||Jan 4|
|M5||Feb 9||Feb 16||Feb 23|
|M6 - API Freeze||Mar 23||Mar 30||Apr 6|
|M7 - RC0||May 4||May 11||May 18|
To avoid confusion amongst the various mailing lists in existence, Europa projects will use these lists:
- eclipse.org-planning-council  - the main list for the project leaders who are coordinating Europa
- cross-projects-issues-dev  - a list for developers and users who encounter problems with Europa: can't download, can't install, unable to make these two projects work together, etc.
- europa-build-workshop  - a list for the buildmeisters of Europa projects
Wednesdays, 7am PT, 10am ET, 4pm CET, 5pm IT. 613.287.8000 or 866.362.7064 passcode 874551#
October 18 - Finalize rules and dates (time)
- December 20 - mid-M4 (time)
- Jan 3 - post-M4 (time)
- Jan 23-24 - F2F @SFO (time)
- Feb 7 - pre-M5 (time)
- Feb 14 - mid-M5 (time)
- Feb 21 - mid-M5 (time)
- Mar 4 - F2F@EclipseCon post-M5 (time)
- Mar 21 - pre-M6 (time)
- Mar 28 - mid-M6 (time)
- Apr 4 - mid-M6 (time)
- Apr 11 - post-M6 (time)
- May 2 - pre-RC0; plan for remaining RC calls (time)
- May 9 - mid-RC0 (time)
- May 16 - mid-RC0 (time)
- May 23 - post-RC0 (time)
- June 6 - pre-RCX (time)
- June 13 - mid-RCX (time)
- June 20 - mid-RCX (time)
- June 27 - final RCX (time)
Europa CVS Projects
A number of utilities have been written to automate the assembly of Callisto (and now Europa) builds. These are available in their own CVS respository. You can find more information about how this is organized and individual project responsibilities for the build on this Callisto build page.