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.
- 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 Client Platform
- Step 1: Download and install Eclipse
Please use the Eclipse Modeling Tools from the Eclipse downloads section.
- Step 2: Additional Plug-Ins and Settings
Install Checkstyle Plug-In from either the Marketplace (Help->Eclipse Marketplace...) or from the Checkstyle Updatesite . All projects have a project specific checkstyle setting, so no need to set this.
Set the API baseline to the latest release. For this you need to download the release as a zip file and create a new baseline using Preferences => Plug-In Development => API Baselines.
All bundle contain bundle specific settings for formater, warnings and so on, so you don't need to set them. If you create a new bundle, please copy the .settings folder from an existing one
Install the "API Tools Execution Environment Descriptions" from the "Eclipse Project Updates" site. The required update site for your Eclipse version is already available in the IDE.
- Step 3: Check out the source via GIT
If you want to use GIT as an anonymous user (read only) please use the following URL:
If you want to use Gerrit please use the following URL:
If you want to use GIT as a committer without Gerrit please use the following URL:
Please refer to this tutorial to clone GIT repositories. You only need to clone the "master" branch. Now, you can import the projects from the cloned GIT repository. See here for information on how to import projects from a GIT repository.
- Step 4: Set the target
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. Please note that the resolution of the target platform may take a while to load the first time you open it.
- Step 5: Configure your workspace
Set the API baseline
To help detecting source changes that would break the API of ECP, we use the API tools provided by Eclipse. Therefore you'll need to set up an API baseline which Eclipse will compare your current workspace against.
To set up an API baseline, download the latest ECP release and open up your Preferences. Navigate to Plug-in Development > API Baselines. Select "Add Baseline", name your baseline meaningful and click "Browse" to select the root folder of your downloaded ECP SDK. Click OK and once the baseline is initialized, click Finish.
Set encoding and line delimiter
Navigate to General > Workspace and and set the Text file encoding to UTF-8 and the New text file line delimiter to Unix.
- Set the API baseline
- Step 6: Start ECP
You can start the EMF Client platform by using the existing ECP.launch launch configuration located in the org.eclipse.emf.ecp.releng bundle. Right click this file and select Run As > ECP. This will present you with an empty EMFCP workbench.
Please also refer to this tutorial to learn about how to set up launch configurations for EMFCP.
Framework Developer Documentation
We keep this information in our developer wiki.
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.