Contributing to Papyrus SysML 1.4
==================================

Thanks for your interest in this project.

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

A DSML for the [SysML 1.4 OMG](http://www.omg.org/spec/SysML/1.4/) norm based upon the [Eclipse Papyrus project](https://projects.eclipse.org/projects/modeling.mdt.papyrus).

Create a new [bug](https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Papyrus&component=SysML):
-----------------

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

Search for [bugs](https://bugs.eclipse.org/bugs/buglist.cgi?product=Papyrus&component=SysML):
----------------

This project uses Bugzilla to track ongoing development and issues.

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 and users via the project's ["user" list](https://dev.eclipse.org/mailman/listinfo/papyrus-sysml-users/).

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

 * Check the README.md file for developing information
 * Continuous integration with [Hudson](https://hudson.eclipse.org/papyrus/)
 * Contribution review with [Gerrit](https://git.eclipse.org/)
 * Code quality with [SonarQube](https://dev.eclipse.org/sonar/dashboard/index/113161)

 