This page describes the Galileo builder, including how to specify project/component contributions and generate/execute locally.
Galileo is built using PDE build and p2. A galileo.product file is augmented with a build model to define all of the necessary parameters needed for build script generation. The build model is composed of individual contribution models (.build files), similar to the Ganymede build's use of .sc files. The build is produced through the following steps, which are (to be) invoked using Hudson:
- Ant is used to download a DSL Toolkit configuration, as it contains the necessary modeling plug-ins and builder project provided by Amalgam
- Ant then invokes QVT model-to-model and Xpand model-to-text transformations on the galileo.product and galileo.build models to produce the build scripts and artifacts
- The generated build.xml is invoked, which starts a PDE product build followed by p2.director calls to assemble the Galileo product
- The p2 repository produced by the build process is published
Contributing to Galileo
The following steps are required when contribute to Galileo:
- Checkout the project org.eclipse.galileo.build from /cvsroot/callisto. If you do not have write access to this repository location, contact the webmaster.
- Modify the content of your project/component build model to indicate the features, versions, contact info, and category information for your contribution. Below is an example of a build model:
<?xml version="1.0" encoding="ASCII"?> <build:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:build="http://www.eclipse.org/amalgam/2008/build" label="GMF"> <contacts name="Richard Gronback" email="firstname.lastname@example.org"/> <features id="org.eclipse.gmf.sdk" version="2.2.0.v20080917-1925-7A7A3AImms9uVK-KldWYTMMy9wOh" repo="//@repositories.1"> <category href="email@example.com"/> </features> <repositories location="http://download.eclipse.org/modeling/gmf/updates/milestones/" label="GMF milestones"/> <repositories location="http://download.eclipse.org/modeling/gmf/updates/interim/" label="GMF interim"/> </build:Contribution>
If you're not comfortable modifying EMF-based model instances in a text editor, download the latest DSL Toolkit, as it provides an EMF generated editor for build models. The editor allows each contribution to be maintained in its own file, so when creating a new Contribution within the galileo.build model, use the right-click Control... menu to specify a new .build model. Model files can be opened individually, or you can open the main galileo.build model to edit your contribution.
Repository elements are maintained within each contribution .build model, as are the list of contacts used to inform contributors of build breakage. A number of repositories may be listed in each contribution, as each feature/version references a specific repository location for installation during the build. Having multiple entries allows for easy switching between repositories.
Note that categories are specified in the main galileo.build model and are not intended to be modified. The categorizations are determined by the Planning Council. When mapping to a category, it's best to load the models in the build model editor provided in the DSL Toolkit. Once set, updating the build model feature version is easily done in a text editor.