Difference between revisions of "Galileo Simultaneous Release"

From Eclipsepedia

Jump to: navigation, search
(Milestones and Release Candidates)
Line 1: Line 1:
 
<div style="border: thin solid black; background-color: #F4FFF4; margin: 3px"><div style="margin: 4px">
 
<div style="border: thin solid black; background-color: #F4FFF4; margin: 3px"><div style="margin: 4px">
This page is for '''developers''' of the June 2009 Galileo Simultaneous Release. If you are a consumer of the Release, perhaps a tester or an early adopter, you'll want [[Galileo Simultaneous Release/For Users | Galileo Simultaneous Release For Users]]. Note that [http://www.eclipse.org/projects/galileo.php the master page on the eclipse.org site] points here.
+
This page is for '''developers''' of the June 2009 Galileo Simultaneous Release. Note that [http://www.eclipse.org/projects/galileo.php the master page on the eclipse.org site] points here.
 
</div></div>
 
</div></div>
  

Revision as of 12:33, 4 January 2010

This page is for developers of the June 2009 Galileo Simultaneous Release. Note that the master page on the eclipse.org site points here.

Contents

Project Plan

A roll up project plan for projects participating in the Galileo simultaneous release is found here: http://www.eclipse.org/projects/project-plan.php?projectid=galileo

Requirements For Participation

Projects that are part of Galileo agree to abide by the following requirements. Note: the EMO will remove projects that do not meet the required constraints.

For a report of overall Galileo status, see this report. Note: this report is bugzilla intensive, so please use sparingly.

Must Do

Galileo Release "Must Do" Items
Category Item Description Target Milestone Verification Method Master Bug
Participation Intent Projects must have stated and demonstrated their intent to join Galileo by the M4+0 date. Projects do so by adding themselves to bug 251715 and asking to have their project-specific bugs created as clones of each of those referenced in this table. M4 Manual 251715
Projects must have an project plan in XML format. M4 Manual 252790
Communicate 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". Build team members (or their designated alternates) from each project will provide communication channels: phone, mail, IM, IRC and will be available during the milestone integration periods. M4 Manual 252789
Attendance Project representatives must attend the planning meetings and conference calls - you have to be involved to be involved. M4 Manual 252791
Ramp Down Policy Projects must have a written ramp down policy by M6+0, linked in the table above pending inclusion of ramp down element in the XML project plan. (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. See Platform 3.4 Endgame plan as a guideline. See also Galileo Final Daze.) M5 Script 252792
IP Projects must have their IP approved (a normal Eclipse requirement) and will follow the Eclipse Legal deadlines to do so. See also bug 220977. CQs submitted by M5, completed by RC3 Manual (Legal) 252793
Development APIs Projects should leverage only published APIs of dependencies. As a Release Review requirement, all deviations must be documented. Additionally, rectification for the issues should be listed as part of a migration plan, with bugs listed where APIs need to be provided by dependent projects. Perhaps a '99 44/100% Pure APIs' indicator for projects with no improper usage can be used to advertise the 'cleanest' projects? ;) M6 PDE API Tools 252794
Message Bundles Projects must use Eclipse message bundles unless there are technical reasons not to. (see Message Bundle Conversion Tool and [1]) M4 Manual 252795
Bundles Version Numbering Projects must use 4-part version numbers. M5 Manual (script?) 252796
Leverage OSGi 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. With that, empty plugin.xml files in the presence of a manifest.mf file should not be included in a bundle. M5 Manual (script?) 252797
Execution Environment All plug-ins must correctly list their required JVM versions in the manifest.mf. See the wiki page about selecting the correct JVM [2]. M5 Manual (script?) 252798
Signing Projects must use signed plugins using the Eclipse certificate. Exceptions must be authorized by the planning council for technical reasons. M4 Script 252799
Use Jars Projects must use jar'ed plug-ins (with unpack=false) unless authorized by the planning council for technical reasons. Nested jars should be avoided if possible since it creates problems for projects that has dependencies to such plug-ins. The OSGi runtime is fine with it but the compiler is not able to handle classpaths that contain nested jars. In case only one nested jar exists, it is often better to expand the contents of that jar into the root folder (i.e. unnest the jar). If a plug-in contains large files that are frequently used (opened and closed), a jar'ed plug-in might degrade performance significantly since the file must be decompressed each time it is opened. M4 Manual (script?) 252800
Releng Builds Projects must have build process maturity: scripted, repeatable, and executable by others. M4 Manual 252801
Orbit Any new third-party plug-ins that are common between projects must be consumed via Orbit; the final Galileo 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). M4 Manual & Script 252803
Optimization Projects must optimize their own update site using pack200 to reduce bandwidth utilization and provide a better update experience for users. With the introduction of p2, project update sites must generate metadata (artifact and content repository info). M4 Script 252804
New & Noteworthy Must have New & Noteworthy for each milestone. Must be something readable and usable not just a static list of all the bugs, e.g. platform. Corollary: individual new & noteworthy should be linked in to the collective New & Noteworthy. RC Manual 252805
Deployment Work Together This means that users can load any subset of the Galileo projects into Eclipse and each of the loaded projects will pass all the same tests as if it had been loaded independently. If such a problem is identified, the affected projects must fix the problem. RC Manual 252806
Capabilities Each project will provide basic capability/activity definitions to allow for their UI contributions to be hidden. These must be provided in a separate plugin/feature to facilitate inclusion/exclusion by consumers in product development. M6 Manual 252807
Localization The project participates in Babel, meaning it is registered and available for string translation, etc. M6 Script 252808
Must use ICU4J. M5 Manual 252809
Branding Each major project (as determined by participating PMCs) should have an About dialog icon with descriptive text (e.g. provider name = "Eclipse Modeling Project" and not simply Eclipse.org) and contribute to the welcome page. RC Manual 252813

Should Do

Galileo Release "Should Do" Items
Item Description Target Milestone Verification Method Master Bug
Usability Should follow the User Interface Guidelines. The UI Checklist is a good place to start. Also, should participate in a User Interface Best Practices Working Group UI walkthrough. M5 Manual [3]
Accessibility Should design and test for accessibility. M4 ACTF [4]
Performance Projects should devote at least one milestone to performance and scalability improvements. M7 [5] [6]
Localization The project should use the Babel Pseudo Translation Test to verify their translatablity. M6 Manual [7]
Should freeze the UI sufficiently early to allow the Babel project time to translate strings. M6 Manual [8]
Should design and test for enabling all languages including bidi, unicode characters, etc. M7 Manual [9]

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 +3 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.

Note: in the following table, RC5 on the 'Galileo' line does not mean this final build is a release 'candidate' ... it is still to be the 'final build' for this Release ... but 'RC5' is the suggested "target" to have some consistent terminology in Bugzilla, and similar things, to be able to mark things that are different in the final release build than in the RC4 build. [The full word, "Galileo" doesn't make a very good bugzilla milestone target, since it's a little too inclusive, and "R" (for "Release") is too short. TODO: next year consider "GA" for this final target?]

Hopefully there will not by ANY differences between RC4, and RC5 ... but, some projects may find they have to make doc additions, readme files, etc., so ... this just provides a way that such changes can be consistently marked, tracked, etc., to better keep everyone informed about what might be different between RC4 and the RC5 (the final released code). [Note: it's probably obvious, but this does not mean "RC5" should be part of the final zip file names or anything. those can still be what ever "final" name they would always have.]

The calendar is available in the following formats: ICal,ATOM News Feed,HTML

Communication

Cross-Project Milestone & RC Status Reporting

As with Ganymede, reporting on status will be done using a wiki table.

We have decided that instead of affirmative signoffs, projects should post exceptions to the cross-project dev mailing list.

Conference Calls

The Planning Council is the body responsible for coordinating the Galileo release train. Thus, its conference calls are the Galileo planning and coordination calls.

Mailing Lists and Newsgroups

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

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

Bugs & Feature Requests

Galileo Builds and P2 repository

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

And with Galileo we are using the Buckminster Galileo Builder.

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

p2 Repository

To obtain the latest published bits from Galileo, use this URL:

http://download.eclipse.org/releases/galileo

It contains the latest milestone, release candidate, eventually the release itself, and then eventually service releases.

To obtain the latest working version, as we build up to a milestone or release, you can test the site at

http://download.eclipse.org/releases/staging

Coordinated Service Releases

SR1

GA: 9/25/09 (last Friday of September)

In the SR1 rampdown, as shown in the following table, there will be 4 RCs, each spanning one week, with projects staging themselves into the build just one day apart.

Projects may elect not to participate in a particular RC, but have an obligation to fix any build problems that is related to their code or p2 repository.

RC1 will be in the middle of August, several weeks earlier than previous years, just to make sure we can still build, etc. Subsequent RCs dates are similar to previous years, except a "quiet" final week is also planned. (It is normally pretty quiet anyway ... this just formalizes it).

The Final week before GA will not have any further builds or contributions, but instead be reserved for final adopter testing and preparation and only emergency fixes for very serious regressions will be considered.

The 'promote' day (9/24) will be the day projects put final zips in their final spot (without displaying them) so they can propagate through the mirroring system. Similar for the p2 repository -- it will be replaced on 9/24 with the new content so it can start mirroring. Note: there is no plan to retain multiple versions in the common discovery repository (unless someone volunteers to do what's required to make that happen). At noon on 9/25 projects can make their final maintenance releases visible.

+0
Mon.
+1
Tues.
+2
Wed.
+3
Thur.
EPP
Fri.
RC1 8/10 8/11 8/12 8/13 8/14
RC2 8/31 9/1 9/2 9/3 9/4
RC3 9/7 9/8 9/9 9/10 9/11
RC4 9/14 9/15 9/16 9/17 9/18
Galileo SR1 ("GA") promote: 9/24 GA: 9/25

SR2

2/26/10 (last Friday of February)

Rampdown similar to SR1.


+0
Mon.
+1
Tues.
+2
Wed.
+3
Thur.
EPP
Fri.
RC1 1/18 1/19 1/20 1/21 1/22
RC2 2/1 2/2 2/3 2/4 2/5
RC3 2/8 2/9 2/10 2/11 2/12
RC4 2/15 2/16 2/17 2/18 2/19
Galileo SR2 ("GA") promote: 2/25 GA: 2/26

Projects

The projects that plan to participate in the Galileo Simultaneous Release are listed below, along with their milestone offsets, leaders, release engineer, and ramp down policy.

Project/Component Project/Component Lead(s) Release Engineer Offset Ramp down Policy

Accessibility Tools Framework (ACTF)

Chieko Asakawa Kentarou Fukuda +3 ACTF Ramp-down

Business Intelligence and Reporting Tools (BIRT)

Wenfeng Li Xiaoying Gu +2 BIRT Ramp-down Policy for Galileo

Buckminster

Thomas Hallgren, Henrik Lindberg Thomas Hallgren +2 Buckminster Ramp-down

CDT

Doug Schaefer Vivian Kong +1 CDT 5.0 Ramp-down

DLTK

Andrey Platov Andrey Platov +3 DLTK 1.0 Ramp Down Policy

DSDP DD

Pawel Piech Ted Williams +2 DD Ramp-down

DSDP TM

Martin Oberhuber Martin Oberhuber +1 TM Ramp-down

DSDP TmL

Eric Cloninger, Fabio Fantato Fabio Fantato +0 TmL Ramp-down

DSDP MTJ

Gustavo de Paula Diego Madruga Sandin +1 MTJ Ramp-down

Data Tools Platform (DTP)

Brian Fitzpatrick Xiaoying Gu +1 DTP Ramp-down

Eclipse Communication Framework (ECF)

Scott Lewis Ted Kubaska/Scott Lewis +2 ECF Ramp-down

Eclipse Persistence Services Project (EclipseLink)

Peter Krogh, Doug Clarke Peter Krogh +1 EclipseLink Ramp Down

The Eclipse Project

Platform, JDT, PDE
Mike Wilson Kim Moir
Build Schedule
0 Eclipse 3.5 Endgame plan

Equinox

Thomas Watson, Jeff McAffer Kim Moir
Build Schedule
0 Equinox 3.5 Endgame plan

EMF

EMF (Core)
Query, Transaction, Validation,
Teneo
Net4j, CDO
Ed Merks
Ed Merks
Christian Damus
Martin Taal
Eike Stepper

Nick Boldt
Christian Damus
Martin Taal
Eike Stepper

+1
+2
+2
+1, +2

Modeling Project
Ramp-down

EMFT

EMF Search
EMF Compare
Ecore Tools
Mint
MWE
Ed Merks
Lucas Bigeardel
Cédric Brun
David Sciamma
Peter Nehrer
Bernd Kolb

Lucas Bigeardel
Cédric Brun
Jacques Lescot
Peter Nehrer
Dennis Huebner

+2

Modeling Project
Ramp-down

EPP

Markus Knauer
Wayne Beaton

Wayne Beaton

+2 EPP Ramp Down Policy

Graphical Editing Framework (GEF)

Anthony Hunter Anthony Hunter +1

GEF 3.4 Ramp-Down

Graphical Modeling Framework (GMF)

Richard Gronback Richard Gronback +2 Modeling Project
Ramp-down

JWT

Marc Dutoo, Florian Lautenbacher Mickael Istria +3 JWT Ramp-Down

Memory Analyzer (MAT)

Andreas Buchen Erwin Margewitsch +3

MDT

OCL
UML2
UML2 Tools
XSD
Kenn Hussey
Aleksandr Igdalov
James Bruck
Michael Golubev
Ed Merks

Aleksandr Igdalov
James Bruck
Michael Golubev
Nick Boldt

+1
+1
+3
+1

Modeling Project
Ramp-down

M2M

ATL
QVTO
Frédéric Jouault
Frédéric Jouault
Radek Dvorak

William Piers
Radek Dvorak
 

+2

M2T

JET
Xpand
Acceleo
Paul Elder
Paul Elder
Sven Efftinge
Jonathan Musset'

Paul Elder
Dennis Huebner
Cédric Brun

+1
+2
+2

Mylyn

Mik Kersten Steffen Pingel +3

Ramp Down

PHP Development Tools (PDT)

Roy Ganor Roy Ganor
Nick Boldt (backup)
+3

Rich Ajax Platform (RAP)

Jochen Krause, Ruediger Herrmann Ralf Sternberg, Ruediger Herrmann +2 RAP Ramp down

Riena

Christian Campo Christian Campo +3 Ramp down

SOA Tools Platform (STP)

SCA Tools
BPMN
Oisin Hurley
Stéphane Drapeau
Antoine Toulmé
Oisin Hurley
Stéphane Drapeau
Antoine Toulmé
+3 Ramp-down

Subversive

Igor Vinnykov Igor Burilo +2

Ramp-down

Swordfish

Oliver Wolf Oliver Wolf +3

Ramp-down

TMF

Xtext
Sven Efftinge, Frédéric Jouault
Sven Efftinge

Dennis Huebner


+2

Modeling Project
Ramp-down

Test & Performance Tools Platform (TPTP)

Platform, Test, Trace, Monitoring
Kathy Chan Joel Cayne +2 Policy

Web Tools Platform (WTP)

David Williams David Williams +2 WTP 3.1 Ramp down Plan for Galileo