Getting Started With Aggregator (Buckminster)
- 1 Installing Eclipse and the Aggregator
- 2 Creating your first aggregation
- 3 Running the aggregation
Installing Eclipse and the Aggregator
Creating your first aggregation
Add a Configuration
In order for validation to take place, you must add platform configurations to the model. You can start by adding a configuration that contains the default values. Expand the top resource and right click on the Aggregation element. Select New Child -> Configuration.
The result of adding a sample configuration of type Operating System = win32, Windowing System = win32, Architecture = x86 is shown in the screenshot.
Note that you can add as many configurations as you want, it may however be the case that they are recognized as invalid or dependencies cannot be satisfied during the aggregation process.
Add a Contribution
Everything that is mirrored is based on Contributions. A Contribution defines one or several P2 repositories to include in the aggregation. You may also specify one or several contacts that will receive emails when problems are encountered that can be associated with the contribution. The contacts are optional. If no one is specified and an email needs to be sent, that email will be sent to the buildmaster.
You add a Contribution the same way that you added the Configuration.
Adding a P2 repository
Once a contribution is added, you can add a MappedRepository to it. Again by right clicking and selecting New Child. The repository has some properties that will become visible and editable in the Properties pane. Type a URL to a valid repository in the Value column of the property named Location and hit return. A short delay where the UI feels locked is to be expected here since the repository is loaded. A sample is shown in the screenshot.
Adding content to the repository
A repository can either be mapped verbatim, in which case you cannot make any changes to categories or, it can be mapped piece by piece. A piece in this case is a category, a feature, a product, or a bundle.
You can map a whole repository as it stands by just adding it to the contribution. You can also specify an optional category prefix which is automatically added to each category label from the original repository.
Choosing specific content
You can map specific categories, features, products, or bundles from a repository by adding them as children. When you add a child, you bind it to one of the features present in the repository denoted by the parent. Like this:
- Right click on the Mapped Repository and select New child (if this choice is not available in the menu, you probably have the Map verbatim flag set to true).
- Put your cursor in the Installable Unit value field in Properties tab. It now turns into a drop-down box.
- Select the feature that you want to map and hit enter.
- The feature can be added to an added category. Such categories can be added after they have been added to the top node, i.e. right click on the Aggregation and choose New Child and then Custom Category
Other types of content can be added the same way. We plan to make it possible to add a category with a rename option in a coming iteration. At present, categories can only be mapped verbatim and you have to create a Custom Category and add features to it manually in case you want another name.
Running the aggregation
Before you run the aggregation, you must make sure that it contains all features that you intend to map along with all their dependencies. The validation will fail unless the repository is self sufficient therefore it might be a good idea to map the Eclipse Platform repository or the repository that represents the Galileo Release.
Also make sure that the Aggregation and its contributions have labels and that you save the model (ctrl-s) before you run. The labels are required.
Starting the aggregation build
Running is easy. Simply right click on the top node in the tree and choose Build Repository. It should take a while. If it doesn't, the you need to bring up the Error log and check what happened (subject to improvement of course). If the Error Log is not already present (as a tab in the same window as the Properties), you will find the errors view by clicking Window on the top level menu of your IDE, select Show View and then Error Log
Where to find the result
The result of the build should end up $HOME/build where the final repository is in the folder named final.