Contributing to Graphical Modeling Framework (GMF) Tooling
==========================================================

Thanks for your interest in this project.

Project description:
--------------------

The GMF Tooling project provides a model-driven approach to generating graphical editors in Eclipse.
By defining a tooling, graphical and mapping model definition, one can generate a fully functional graphical editor based on the GMF Runtime.
For more details, latest news, please visit new GMF-Tooling home site

- https://projects.eclipse.org/projects/modeling.gmp.gmf-tooling

Developer resources:
--------------------

Information regarding source code management, builds, coding standards, and more.

- https://projects.eclipse.org/projects/modeling.gmp.gmf-tooling/developer

Contributor License Agreement:
------------------------------

Before your contribution can be accepted by the project, you need to create and electronically sign the Eclipse Foundation Contributor License Agreement (CLA).

- http://www.eclipse.org/legal/CLA.php

Contact:
--------

Contact the project developers via the project's "dev" list.

- https://dev.eclipse.org/mailman/listinfo/gmf-dev

Search for bugs:
----------------

This project uses Bugzilla to track ongoing development and issues.

- https://bugs.eclipse.org/bugs/buglist.cgi?product=GMF-tooling

Create a new bug:
-----------------

Be sure to search for existing bugs before you create another one. Remember that contributions are always welcome!

- https://bugs.eclipse.org/bugs/enter_bug.cgi?product=GMF-tooling
