Getting Involved

Everyone is invited to getting involved with the EMFStore project. Before you plan any kind of contribution, it is a good idea to contact the project team.
Contributing may include:

  • Writing bug reports: Please provide a short and concise explanation of the problem, a snippet to reproduce the issue, ideally a JUnit test case that outlines the expected behavior. See the support page for details. You are also invited to enter feature requests.
  • Providing a patch to an existing bug report: If you are no committer on the project, please upload your bug report in the bugzilla
  • Contribute documentation, i.e. if you found something which 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

Follow the steps below to setup the development environment for EMFStore:

Step 1: Setting up the Eclipse Instance

We currently use Eclipse Indigo for development. We recommend to download the Eclipse Modeling Tools package. Furthermore you need to install the Checkstyle from their update site.

Step 2: Check-out the source

The source code of EMFStore is split into three GIT repositories. If you want to use GIT as a committer please use the following URIs:
  • org.eclipse.emf.emfstore.core.git (ssh://committer_id@git.eclipse.org/gitroot/emf-store/org.eclipse.emf.emfstore.core.git): Contains all core plugins, this is what you usually need as a developer
  • org.eclipse.emf.emfstore.other.git (ssh://committer_id@git.eclipse.org/gitroot/emf-store/org.eclipse.emf.emfstore.other.git): Contains additional optional features (e.g. XMI Workspace)
If you want to use GIT as an anonymous user (read only) please use the following URIs:
  • org.eclipse.emf.emfstore.core.git (git://git.eclipse.org/gitroot/emf-store/org.eclipse.emf.emfstore.core.git)
  • org.eclipse.emf.emfstore.other.git (git://git.eclipse.org/gitroot/emf-store/org.eclipse.emf.emfstore.other.git)
In our team we often resort to using the commandline for Git since it works more reliably. On Windows you might use msysgit. If you want to use EGit in Eclipse for cloning the repos, please refer to this tutorial to clone GIT repositories.

Now, you can import the projects from the cloned GIT repository with EGit. See here how to import projects from a GIT repository

Step 3: Configuring Checkstyle and setting the formatter

The step is to create a style configurations. We are using checkstyle 5.5. Please open the global preferences (Window => Preferences) and add a new Checkstyle project relative configuration named "emfstoreStyle" poiting to the project EMFStoreDeveloper and its file coding/emfstoreStyle5.x.xml.

The EMF Store project also uses specific Java formatting settings to avoid whitespace conflicts. All existing plugins are configured to use these settings by default, but you have to import the EMF Store formatter file into Eclipse as follows:

  1. Open preferences
  2. Select Java/Code Style/Formatter
  3. Select "Import..."
  4. Choose the EMF Store formatter file found in the org.eclipse.emf.emfstore.core plugin under developer/coding/emfstoreFormatter.xml.
  5. Confirm with ok

Now the EMF Store specific auto-formatting rules should be applied every time format is called.

Step 4: Setting UTF-8 Encoding and line delimiters

In order to improve compatibility with different Operating Systems and their default settings for text encoding and line delimiters, you need to change your default Eclipse Settings to UTF-8 and Unix line delimiters.

Run the EMFStore

To run the EMFStore please include an EMF model in the launch configuration. For testing, you can use this example model. Import it into your EMFStore workspace and start it along with EMFStore. More hints are available at the getting started page.