Everyone is invited to get involved with the EMF Client project. Before you plan any kind of contribution, it is a good idea to contact the project team.
- Writing bug reports
Please provide a short and concise explanation of the problem and a snippet to reproduce the issue, ideally a JUnit test case that outlines the expected behavior. You are also invited to enter feature requests. Please use Bugzilla to report bugs and feature requests.
- Commit Message Guidelines
We have the following commit message template:
(Bug <Bug ID> - <Bug Title>) | (TCI - <Fix>) <Commit Description>? Change-Id: <Generated Gerrit Change ID> Signed-off-by: <sign off name and email>Instructions (Please continue READING):
- TCI commits: For trivial code changes please use a TCI commit message. See list below for examples. If in doubt please discuss with reviewer.
- Normal Commits: For all other commits use a commit message starting with 'Bug'. Bug reports with Proper Titles: Before using a Bug title for a commit, committer must update the Bug title to a reasonable and descriptive title for the task they have worked on
- Commit Description: Additionally to the title, the commit message can describe briefly (2-3 sentences) how this commit fixes the bug from a technical perspective
- Multiple Commits for same bug: Of course you may use the same bug and therefore bug title for multiple commits and their message, in this case please provide a unique description
- Reviewers responsibility: The reviewer is responsible also for checking that the bug title is descriptive and reflects the committed change and that the description if any reflects the technical change
- Version Update of manifest and pom
- anonymous to inner class Conversion
- Renaming local vars, e.g. because of typos
- Externalizing strings
- Use Gerrit to contribute to ECP
- Providing a patch to fix a bug or add a feature
Please attach your patch to the bug report in question or create a new report using Bugzilla .
- Contribute documentation
If you found something that is not documented yet, please share your knowledge with other users. Please contact us to find the appropriate place to add your documentation.
Developer Resources for EMF FormsUsing Oomph we want to ease the setup pain for new contributors and committers of EMFForms. Here are the necessary steps:
- Step 1: Download Oomph for your Platform
- Step 2: Start Oomph
- Update Oomph to the latest version if required (Simple Mode: Upper right corner or Advance Mode: left bottom)
- Switch to Advanced Mode (Upper Right corner, Advanced Mode)
- Drag and Drop / add ("+" in the upper right corner) this profile EclipseSource Profile
- Select the 'EclipseSource IDE' entry and press next
- Drag and Drop / add ("+" in the upper right corner) this setup file: EMFForms.setup into the top list. You should now see a new Entry at the top: Select the EMFForms entry and double click it, it should be BOLD now:
- Press next and select the way you want Oomph to install your Eclipse and Workspace
- Press Finish and let Oomph do the magic
- Step 3: When Oomph finishes you still have to do some manual steps
- Locate and open the ecp.target file in the org.eclipse.emf.ecp.target.rcp bundle imported from the repository. When it is resolved, set this definition as the target platform. This may take quite some time at first.
- Step 4: Start developing using ECP
Framework Developer Documentation
See the developer documentation.
In our GIT Repositories we are using the branching scheme described here.
We have a master branch containing the last release. A development branch containing the current development state and (hopefully) some feature branches containing new feature developments.
So if you are a developer please commit on the develop branch in the future. If you develop a new feature please open a feature branch and merge it back to the develop branch when your feature is finished. Don't commit on the master branch as it should only contain stable release versions merged there by the release engineer.
Profiling and Performance Debugging
- YourKit is kindly supporting the EMF Client Platform open source project with its full-featured YourKit Java Profiler, which helped us to greatly improve EMFCP.