Community
Participate
Working Groups
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
First draft here: http://wiki.eclipse.org/Common_Build_Infrastructure/Getting_Started
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
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).
(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! :)
(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. :)
*** Bug 275582 has been marked as a duplicate of this bug. ***
See bug 275582 for additional feedback on usbaility problems w/ the getting started guide.
We now have lots more docs for getting started... http://wiki.eclipse.org/Common_Build_Infrastructure/Getting_Started/Build_In_Eclipse http://wiki.eclipse.org/Common_Build_Infrastructure/Getting_Started/FAQ http://wiki.eclipse.org/Common_Build_Infrastructure/Defining_Binary_Dependencies and more ... http://wiki.eclipse.org/Category:Athena_Common_Build ... but we're still missing details around tagging & releasing. That can be handled in a separate issue: https://bugs.eclipse.org/bugs/show_bug.cgi?id=264713 Closing.