Bug 252041 - Getting started guide
Summary: Getting started guide
Status: RESOLVED FIXED
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: Dash Athena (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Eclipse Management Organization CLA
QA Contact:
URL:
Whiteboard:
Keywords: Documentation
: 275582 (view as bug list)
Depends on: 252572
Blocks: 264713
  Show dependency tree
 
Reported: 2008-10-24 14:31 EDT by Kim Moir CLA
Modified: 2012-01-30 11:32 EST (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Kim Moir CLA 2008-10-24 14:31:49 EDT
We need a getting started guide for projects to use the common builder.

Not sure if this document should be expanded or a new document written.

http://wiki.eclipse.org/Common_Build_Infrastructure#End_User
Comment 1 Nick Boldt CLA 2008-11-29 01:43:39 EST
First draft here:

http://wiki.eclipse.org/Common_Build_Infrastructure/Getting_Started
Comment 2 Nick Boldt CLA 2009-02-26 00:51:57 EST
Bjorn, you'd asked about different tagging/releasing policies and methods. There are four. Please reorg this as you see fit and dump it in the wiki somewhere, linked from the Athena page(s).

---

a) Manual tag&release, either by hand or using platform .releng tool

Developers manually release code by tagging/rtagging commandline, or by using the releng plugin provided by the platform to release changes. Time consuming and error prone. AFAIK the Eclipse Platform still uses this technique, as evidenced by this mailing list traffic. Builds happen on schedule and therefore do not necessarily contain the latest released changes; I suspect builds are rarely done from HEAD as a result.


b) EMF style : tag before building; all qualifiers the same (shell script)

Before every build (in fact, during the early steps of the build), perform a `cvs rtag` to tag sources with a tag such as build_200902260033. Generate map file using that tag in place of HEAD.

All builds are effectively from HEAD, with all plugins/features for a given build bearing the same qualifier.


c) GEF/GMF style : automated tag&release, then build (shell script)

On a weekly schedule, CVS is checked for changes and if any are found, a tool [1], [2] is used to rtag and generate the map file using that new tag. Rather than all entries in the map having the same tag, only the plugins/features which were changed since last time are updated to the new tag, eg., v20090226-0036. After tagging and releasing those changes to the mapfile, the change is committed to cvs and IIRC the map itself is tagged too. Then a build is fired.

All builds are effectively from HEAD, with individual plugins/features showing the timestamp of the last time they were updated in their qualifier.


d) Hudson style : tag after successful build (Hudson plugin)

SVN- and CVS-based builds have the option to tag after a successful build [3], [4]. Builds are therefore from mapfile or from HEAD depending on how the build is configured, and tagged afterwards instead of beforehand.

---

[1]http://wiki.eclipse.org/Modeling_Project_Releng/Releasing/Scheduled_Releases
[2]http://dev.eclipse.org/viewcvs/index.cgi/releng-common/tools/org.eclipse.releng.tools.tagandrelease/update_tags.sh?root=Modeling_Project&content-type=text%2Fplain&view=co
[3]http://wiki.hudson-ci.org/display/HUDSON/Subversion+Tagging+Plugin
[4]http://wiki.hudson-ci.org/display/HUDSON/CVS+Tagging+Plugin
Comment 3 David Carver CLA 2009-02-26 10:04:29 EST
You might also want to add a link to the Continuous Integration article by Martin Fowler.

http://martinfowler.com/articles/continuousIntegration.html

As it explains in detail why their is a need for automated builds, and particularly the way that Hudson is setup to build (i.e. check out code from head, then tag).

Comment 4 Nick Boldt CLA 2009-02-26 11:38:59 EST
(In reply to comment #3)
> You might also want to add a link to the Continuous Integration article by
> Martin Fowler.
> http://martinfowler.com/articles/continuousIntegration.html

Feel free to edit any wiki.eclipse.org page you'd like. We welcome all contributions! :)
Comment 5 David Carver CLA 2009-02-26 11:45:36 EST
(In reply to comment #4)
> (In reply to comment #3)
> > You might also want to add a link to the Continuous Integration article by
> > Martin Fowler.
> > http://martinfowler.com/articles/continuousIntegration.html
> 
> Feel free to edit any wiki.eclipse.org page you'd like. We welcome all
> contributions! :)
> 

Darn this self contribution thing, and community update thing. :)
Comment 6 Nick Boldt CLA 2009-05-11 12:01:19 EDT
*** Bug 275582 has been marked as a duplicate of this bug. ***
Comment 7 Nick Boldt CLA 2009-05-11 12:02:03 EDT
See bug 275582 for additional feedback on usbaility problems w/ the getting started guide.