Skip to main content
Jump to: navigation, search

Difference between revisions of "Ganymede Simultaneous Release"

(Projects)
m (Should Do)
Line 105: Line 105:
 
# Projects should use Eclipse message bundles, not Java bundles because this is a good Eclipse citizenship. (see [[Message Bundle Conversion Tool]] and [http://www.eclipse.org/eclipse/platform-core/documents/3.1/message_bundles.html])
 
# Projects should use Eclipse message bundles, not Java bundles because this is a good Eclipse citizenship. (see [[Message Bundle Conversion Tool]] and [http://www.eclipse.org/eclipse/platform-core/documents/3.1/message_bundles.html])
 
# 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.
 
# 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 build each project. ''How is this different from #3? --[[User:Codeslave.ca.ibm.com|nickb]] 17:44, 1 November 2007 (EDT)''
 
# Non-project-team-members should be able to run unit tests on 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.
 
# 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.
 
# 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 | ICU4J when appropriate]].
 
# Projects should use [[ICU4J | ICU4J when appropriate]].
# Projects should provide build RSS feeds as per the build workshop.
+
# Projects should provide build [[:Category:RSS | RSS feeds]] as per the build workshop.
  
 
===Milestones and Release Candidates===
 
===Milestones and Release Candidates===

Revision as of 17:44, 1 November 2007

This page is for developers of the Ganymede Simultaneous Release. If you are a consumer of the Release, perhaps a tester or an early adopter, you'll want Ganymede Simultaneous Release For Users. Note that the master page on the eclipse.org site points here.

Projects

The projects that plan to participate in the Ganymede Simultaneous Release are listed below, along with their milestone offsets and their project lead.

Project/Component Project/Component Lead(s) Release Eng'g Offset
BIRT Wenfeng Li Xiaoying Gu +2
Buckminster Thomas Hallgren, Henrik Lindberg Thomas Hallgren +2
CDT Doug Schaefer Vivian Kong +1
DSDP DD Pawel Piech Ted Williams +2
DSDP TM Martin Oberhuber Martin Oberhuber +2
DTP John Graham +1
ECF Scott Lewis +1
The Eclipse Project (Platform, JDT, PDE and Equinox) Philippe Mulet Kim Moir 0
EMF
Query, Transaction, Validation
Ed Merks
Christian Damus
Nick Boldt +1
EMFT
EMF Search
EMF Compare
Teneo
Ed Merks
Lucas Bigeardel
Cédric Brun
Martin Taal
Nick Boldt +2
GEF Anthony Hunter Anthony Hunter +1
GMF Richard Gronback Max Feldman +2
MDT
OCL
UML2
UML2 Tools
XSD
Kenn Hussey
Christian Damus
James Bruck
Michael Golubev
Ed Merks
Nick Boldt +2
M2T
JET
Paul Elder Nick Boldt +2
Mylyn Mik Kersten +1
SOA Tools Platform (STP) Project Oisin Hurley Oisin Hurley +2
TPTP (Platform, Test, Trace, Monitoring) Joanna Kubasta Joel Cayne +2
Web Tools Platform (WTP) Project David Williams David Williams +2

Requirements For Participation

Projects that are part of Ganymede agree to abide by the following requirements. Unlike the somewhat lax enforcement of previous years, the EMO will remove projects that do not meet the required constraints.

Two Classes of Participation

One thing we are considering for Ganymede is to have two classes of participation:

  • High Fidelity - projects that agree to coordinate their efforts at some higher level; perhaps common user interface efforts? abiding by the user interface guidelines? joining their APIs? dedicated cross-project testing?
  • Simultaneous Release - simultaneous release like we had with Callisto and Europa

Must Do

These are required for participation:

  1. The projects must work together. This means that one should be able to load any subset of the Ganymede projects into Eclipse and each of the loaded projects should be able to pass all the same tests as if it had been loaded independently.
  2. Projects must have build process maturity and their own functional project update site - the Ganymede site will reference these sites, not replace them.
  3. Projects must use 4-part version numbers.
  4. Any third-party plug-ins that are common between projects must be consumed via Orbit; the final Ganymede 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).
  5. All plug-ins (bundles) must use the true bundle form. That is, provide a manifest.mf file, and not rely on the plugin.xml file being 'translated' into a manifest.mf file at initial startup. See bug 130598.
  6. All plug-ins must correctly list their required JVM versions in the manifest.mf. See the wiki page about selecting the correct JVM [1].
  7. Project representatives must attend the planning meetings and conference calls - you have to be involved to be involved.
  8. At least one person from each project must subscribe to cross-project bug inbox, i.e. edit Bugzilla prefs to watch "cross-project.inbox@eclipse.org"
  9. 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
  10. Projects must have stated and demonstrated their intent to join Ganymede by the M4+0 date. Projects do so by adding themselves to the table/list above and to the Ganymede common build infrastructure.
  11. 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 [2] is the Platform 3.2 ramp down policy as a guideline for other projects.)
  12. Projects must have their IP approved (a normal Eclipse requirement) and will follow the Eclipse Legal deadlines to do so.
  13. 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.
  14. Projects must use signed plugins using the Eclipse certificate.
  15. Projects must have download and installed sizes declared in their feature (See bug 131802 for the original request; bug 163406 - Problems with Digest; bug 75285 - auto-compute sizes during build).

Should Do

These are recommended for participating projects:

  1. Projects should have jar'ed plug-ins because this is good Eclipse citizenship.
  2. Projects should use Eclipse message bundles, not Java bundles because this is a good Eclipse citizenship. (see Message Bundle Conversion Tool and [3])
  3. 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.
  4. Non-project-team-members should be able to build each project. How is this different from #3? --nickb 17:44, 1 November 2007 (EDT)
  5. Non-project-team-members should be able to run unit tests on each project.
  6. Source tarballs should be created for Linux distros to build with.
  7. 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.
  8. Projects should use ICU4J when appropriate.
  9. Projects should provide build RSS feeds as per the build workshop.

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. Note that the +0, +1, +2, and EPP dates are roughly equivalent to stable nightly builds in a traditional Eclipse project - each of these partial milestone builds will incorporate more and more of the associated project milestones. The "Release" date is the official M/RC date.

Staging Release
+0 +1 +2 EPP
M2 Sep 21 Sep 26 Oct 3 Oct 5 Oct 9
M2+Oct 22Oct 24Oct 25
M3 Nov 2 Nov 7 Nov 14 Nov 16 Nov 20
M4 Dec 14 Dec 19 Jan 7 Jan 8 Jan 11
M5 Feb 8 Feb 13 Feb 20 Feb 22 Feb 26
M6 - API Freeze
M7 - RC0
RC1
RC2
RC3
RC4
Ganymede June 30

Xml.gif RSS feed
Ical.gif iCal file
Html.gif HTML
Request Invite

Communication

Conference Calls

Mailing Lists and Newsgroups

Eclipse projects have three communication channels: a mailing list for developers, a newsgroup for users, and Bugzilla. Ganymede, although not a "project" per se, will use the same structure:

The old eclipse.org-planning-council mailing list will be used for non-Ganymede Planning Council items.

Ganymede Builds

A number of utilities have been written to automate the assembly of Callisto '06, Europa '07 and now Ganymede '08 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 Ganymede Build page (and old information on the Europa Build page).

The Ganymede Build page is where you go to learn how to add your project to the Ganymede build.

Back to the top