Skip to main content
Jump to: navigation, search

Libra/Contributor Guide

Obtaining Sources

You can find the sources available in Git repository

In order to synchronize them locally, you may use the EGit step-by-step procedure.

The EGit/User Guide provides detailed instruction how to work with EGit.

Updating/Installing EGit

  • Start your Eclipse IDE and navigate to Help->Install New Software->Add...
  • Enter the software update site [1]
  • Select the Eclipse EGit (Incubation) and Eclipse JGit (Incubation) and choose Next> to finish the installation.

During the installation you will be asked to accept the License Agreements.


Identifying Yourself

To identify yourself, follow these instructions these instructions

Setting up the Home Directory on Windows

To set up the HOME directory, go through these steps

Configuring SSH in Eclipse

To configure ssh, proceed as follows.

Clone Git Repository

  • Open the Git Repository Exploring perspective and in the Git Repositories view choose the Clone a Git Repository toolbar button
  • In the URI field of the opened Clone Git Repository wizard enter the URI of the libra git repository: [2] and choose Next


  • Select the added repository and from its context menu choose Import Projects...
  • Expand the repository tree to Remote Tracking level, select the remote branch origin/master and from its context menu choose Create Branch... to create a new local branch

Updating Sources

To keep the sources up to date you have to pull the new changes from the upstream branch.

Build Infrastructure

The build is based on Maven (at least 3.0.0) and Tycho, executed on the Hudson server, hosted at Eclipse Foundation.

There are two Hudson jobs available for Libra:

  • libra - for building the master git branch.
  • libra-indigo - for building the indigo git branch.

Maven Build Sequence

Complete build sequence for a clean build (assuming $M2_HOME/bin is on the path and local Maven repository at ~/.m2/repository):

[~/org.eclipse.libra/development/org.eclipse.libra.releng] $ mvn clean install

Note that you may need to configure your proxy settings

Proposing and Committing a Patch

The patch file contains a description of changes of a set of resources which can be automatically applied to another eclipse workspace or git repository. If you want to propose or commit a patch you need to know that the Eclipse update hook will examine the Committer's entries of an incoming push. All the committer's entries have to be made by the committer performing the push, otherwise the push will fail. Furthermore, your committer ID, or the committer e-mail address registered with your committer account at the Eclipse Foundation must be present in the Committer Email record. For more information on that restriction see: this page.

Proposing a Patch

If you want commit a change on a local feature or bugfix branch and then to export this change into a patch file, follow the steps below:

  1. Open a bug
    • Specify the bug component (General; OSGi Facet or WAR)
    • Complete the fields about the product version, bug severity, type of your hardware, operating systems and write a summary and description of the patch
  2. Open the History view of your Eclipse IDE and choose Create Patch... (The patch file will contain the difference between the commit and its parent in the history view. Note that the filter of the history view applies also for patch creation.)
  3. Start the Patch Wizard, select the location of the patch and choose Next (The name of the patch file is created from the first line of the commit message.)
  4. Change the patch format, if necessary.
  5. Attach the patch created to the bug
  6. Submit the bug

Committing a Patch

To commit a patch, proceed as follows:

  1. Apply the proposed patch using the Patch Wizard
  2. Test the patch
  3. Commit the patch
  4. Setup push configuration with the following push URL:
  5. Push the patch and see its change number in order to be able to inspect it

Reproducing a Build to a Certain Change List

Fetch to the specific change and build with Maven as described above.

Back to the top