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.
- 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.
- 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 GIT as a committer please use the following URL:
Select only the "master" branch. Press "Select all" and proceed with the import.
- Step 4: Set the target
Locate and open the ecp.target file in the _target 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
For testing purposes, you can use this example model, which you can import into your EMFCP workspace.
Now you can start the model with EMF Client platform by creating a run configuration. This run configuration will automatically also contain the example model from your developer workspace. To create a run configuration, select Run → Run Configurations from the Eclipse menu.
Create a new run configuration and run the application org.eclipse.emf.ecp.application.e3.application, as shown in the following screenshot.
Now you can start your application; it should present you with an empty EMFCP workbench containing the example model.
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.