Modeling Project Releng/Component Creation
This is a process workflow for creating a new EMFT component.
Names in square brackets are assignees. If more than one assignee is listed, the first listed is the principal w/ other(s) as backup.
- WM = Webmaster(s)
- PMC = Project Management Chair
- REL = Release Engineer
- COMP = Component Owner
- (The proposal submission process is subject to change. If you see anything glaringly wrong here, please correct it.)
- [COMP] contact PMC via or mailing list to pitch component idea. Should have a first draft of the proposal doc (.doc, .ppt, .pdf, or ideally, in wiki format) and maybe some sample code at this point
- [COMP] with PMC approval, post announcement to relevant newsgroup(s) to gather community/peer feedback.
- Wait two weeks
- [COMP] post announcement to project's developer mailing list to gather approval votes from existing project committers.
- Wait one week
- [COMP] post announcement to PMC mailing list after successful conclusion of committer vote.
- [COMP] formalize proposal document in wiki; link from Proposed Components page. Example
- [COMP] send note to EMO for planetwide announcement, including short paragraph describing component and link to proposal doc in wiki.
Committer Legal Setup
- [PMC] submit New Project Provisioning Request (NPPR) for new component and COMP, per http://www.eclipse.org/projects/project_provisioning_request.php
- [PMC] submit New Committer Request Form (NCRF) for COMP, per http://www.eclipse.org/projects/dev_process/new-committer.php
- [COMP] fax committer agreement to the EMO
- [COMP] fax company agreement to the EMO
- [COMP] submit Committer Questionnaire
Commiter Account Setup
- [WM] create dev.eclipse.org userid for COMP; user requires a full shell, not a restricted one
- [WM] add COMP to groups emf-jcrm, emf-jcrm-releng
- [WM] add COMP to groups emftadmin (download.eclipse) & modeling-home (www.eclipse)
- [WM] add REL to group emf-jcrm-releng
- [COMP] provide component description text to PMC & REL for website intro/detail & Bugzilla component description
- [COMP] provide introductory wiki page, linked from EMFT page
- [COMP] register with Bugzilla to create an account
- [REL] add new component, with COMP as default assignee
- [WM] change group id on /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf.jcrm/ to emf-jcrm
- [WM] change group id on /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf.jcrm.releng/ to emf-jcrm-releng
- [COMP] commit code into /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf.jcrm/ (details here). Recommend setting plugins to version 0.7.0 if based on EMF 2.2 or 0.8.0 if based on EMF 2.3; or, if code is really new, could start with 0.5.0.
- [COMP] Third party code must be submitted to IPzilla for legal clearance before being committed to CVS. Note also that many 3rd party libraries are available via the Orbit project, and so can be added to the project at build time (rather than needing to be duplicated in CVS).
- [COMP] add new component to the EMFT website; identify as having no downloads yet
- [COMP] contact REL via IM (eg., User:nickb) to begin releng coordination
- [COMP] provide component compilation requirements to REL: upstream dependencies (eg., EMF, UML2, OCL...), 3rd party libraries (from Orbit or other), JDK version (1.4 or 5.0), plugin version (eg., usually 0.7.0 to start). See also Build UI.
- [REL] set up build server (emft.eclipse.org or build.eclipse.org)
- [COMP] set up SSH keys for connecting passwordlessly from emft.eclipse.org to download1.eclipse.org and dev.eclipse.org
- [COMP] publish first JCRM build to download1.eclipse.org
- [COMP] update website to reflect project has first successful build. See Site Navigation.
- [REL] update Search CVS (incl. relupdate.php) to ensure component is being logged (release notes, build news)