Skip to content

Contributing

David Carver edited this page Feb 7, 2015 · 2 revisions

Commit Message Format

The Eclipse Foundation requires that git commit messages follow particular format. An example is as follows:

[410937] Auto share multiple projects in single job

When multiple projects are imported together, perform all the necessary
auto shares in a single job rather than spawning a separate job for each
project.

Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=410937
Also-by: Some Otherperson <otherperson@someplace.net>
Signed-off-by: Joe Somebody <somebody@someplace.net>

Andmore contains a template that should be enabled on your forks to provide the template. This is located in the templates directory.

To configure git to use this template for all commit messages do the following:

git config commit.template ./template/commit.template

This will provide the following information for you to fill out:

[bugnumber] Summary Description

Detail Description here about the commit.

Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=bugnumber
Signed-off-by: Joe Somebody <somebody@someplace.net>

All commits need to reference an existing Bugzilla number. Any pull request that does not reference a bugzilla number won't be merged until a bugzilla is filed. You can file new bugs and feature requests at https://bugs.eclipse.org/bugs/enter_bug.cgi?product=andmore

Please make sure that your CLA is signed in eclipse, and that your commits are authored by the same email address as you referenced in your CLA.

You can change your default user.email address for the git repository:

 git config user.email youremail@someplace.com

Building

Andmore uses Tycho and Maven for the build system. You need at least Maven 3.0.5 installed. In the future we may use the maven wrapper which behaves like the gradle wrapper and downloads the necessary maven repository for you.

mvn clean install

This will build the system and generate a p2 repository. The p2 repository can be installed into an existing eclipse system.

If you want to build a standalone IDE then run the following command:

mvn clean install -Pproduct

This will build Windows, Mac, and Linux versions of the IDE with everything you need to get started. The artifacts are found in andmore-core/site/target/products.

GitFlow

The project follows the GitFlow workflow. The main branches are as follows:

  • develop - all development work happens on this branch.
  • master - released and tagged versions of stable code goes into this. Master allows shows the state of the last stable version. Releases are tagged after they have been merged.

In addition to the above there may be transient branches or short lived branches. Most of these should reside locally in your cloned repos.

  • feature/issuenumber - new development and a reference to the corresponding bugzilla issue number where the work originated from.
  • bugfix/issuenumber - fixes that are related to actual bugs, again the issue number is the corresponding bugzilla issue number.
  • hotfix/issuenumber - any hot fixes that need to occur and the corresponding bugzilla number. Hotfixes only occur against releases.
  • release/version-milestone - working branch for a release, after work has completed it will be merged into master and develop.

Pull Requests

Currently pull requests are enabled on the project. In the future, Eclipse's Gerrit Code review system will also be used. Outside contributors must have an Eclipse CLA on file. All pull requests should be done against the develop branch and work based on that particular branch.

More information around contributing pull requests either via Gerrit or Github will be documented as we go forward.