Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Indigo/Contributing to Indigo Build
This instructions outline how to contribute to the Indigo aggregation build for the common repository. They also may be useful for those updating contributions for Helios maintenance releases, though Helios not covered explicitly (the basics are the same).
If at anytime, there are questions, issues or problems, don't hesitate to ask on cross-project mailing list, or open a cross-project bug.
Contents
Checkout CVS indigo.build project
Check out project org.eclipse.indigo.build
from dev.eclipse.org:/cvsroot/callisto
. If you do not have write access to this repository location, contact the webmaster, explaining which project you are working with, and CC the Planning Council chairperson (currently david_williams@us.ibm.com).
Install the b3 Aggregator
- Update as of 8/10/11: While following the following instruction, to work with Indigo aggregation build files, it is recommended, if not required, to use the 0.1.x version of the b3 aggregator, running on Eclipse 3.6, installed from b3's "3.6 repo", at following URL:
http://download.eclipse.org/modeling/emft/b3/updates-3.6/
- Follow instructions to install the b3 Aggregator editor (and checkout the above mentioned CVS project). Tip: many find it preferable to have a separate workspace for this aggregation work, as it works with many p2 repositories and can add a lot of background processing as it works with all those repositories.
- Open the file
indigo.b3aggr
using the Aggregator Model Editor
- Note: at this stage metadata from a lot of repository will be downloaded, the UI may become unresponsive, but after some minutes it should return to a working state, see bug 323733.
- Because of this initial, first time, long download time, it is advisable that all indigo releng engineers install the editor, and open the indigo.b3aggr file "early" before its actually needed.
- Tip: Having the model "loaded" and allowing it to update itself (staying current with latest contents of referenced repos) and syncing up the indigo.build project on a regular basis, can often help you spot errors or inconsistencies with your own contributions, and allow fixes to be made before committing your own updates.
For new project contributions
- Tip: if you are nervous about making large changes you can always tag the CVS indigo.build project before making large changes, so there is an obvious restore point. For example, you could tag with <youruserid>_pre<project>addition<datetime> or some such easily recognizable marker.
- Create the following elements (New Child) under Aggregator Indigo:
- One or more Contacts (show Property View to specify Email and Name)
- A Contribution (specify Label and link to Contact)
- A Mapped Repository (specify Location: URL of your p2 repository)
- Your Features (select name from features found in your repository, select Categories from pre-defined set, specify exact version to be included in aggregation under Version Range)
- A Mapped Repository (specify Location: URL of your p2 repository)
- Select your Contribution and invoke Detach Resource from the context menu. Choose a filename like
projectname.b3aggrcon
(renaming this file at a later stage is not supported). For ease of bookkeeping, it is advisable to use the "exact" name of your project as it appears in the Eclipse Foundation databases, including top level and subproject names, as appropriate, for example,emf-validation.b3aggrcon
is preferable tovalidation.b3aggrcon
orwebtools.b3aggrcon
preferable towtp.b3aggrcon
.
- Verify. To ensure that your contribution will not break the build, right-click on your contribution and select "Verify Repository".
- Checkin. At this point, you are ready to checkin your contribution. You will need to synchronize and check in changes to the indigo.b3aggr file, as well as your
projectname.b3aggrcon
file.
Updating contributions
- To change things like Contributors, Categories, or adding or removing features, you should use the b3 Aggregator with the top level
indigo.b3aggr
file ... as these things often have relationships that cross files and you need to update, synchronize and checkin all effected files. Note: the Categories are normally only added or edited by Planning Council, so be sure large changes there have been discussed via bugzilla, etc. (You can do this via e-mail, or a bugzilla entry).
- To changes values of feature versions, or repository URLs, you can directly change your
projectname.b3aggrcon
file with text editor (or build scripts) and check those in, in isolation. Of course, you still can use the b3 aggregator editor, and it is often desirable to so, as it will do a "workbench build" and will tell you if something is wrong. For example, if the repository URL does not point to a valid repository, you'll know about it right away, if you use the b3 Aggregator Editor.
- Note that contributions, features, and repositories can be enabled or disabled, via property page. This allows temporary changes with minimal disruption. For example, if you disable a contribution or feature, it will be left out of a category, without having to also edit the category). This is especially useful if there is a leaf component that is "broken" and should temporarily be omitted from the build. Important: One implication of this is you may need to sometimes re-enable your contribution or feature, even if you did not disable it. These are sometimes disabled by others -- without notice -- especially if a contribution or feature is causing build breaks for an extended period of time especially if there's been no communication explaining it or describing status or outlook on cross-project list. Of course, fixing the issue is the desired first choice, as disabling one contribution or feature will often require other contributions or features to be disabled simply because they depend on the broken one.
Historical References
- For Helios June release, the b3 aggregator was used on the backend, translating the previous .build files under the covers, in batch mode. See bug 312645.
- For Helios maintenance and the Indigo release, the .build file format was dropped and the b3 aggreator native format files used instead. See [cross-project-issues-dev] Ready for Helios SR1 builds? .... and file format change?