Contributing to PDE - Plug-in development Environment
=====================================================

Thanks for your interest in this project.

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

The PDE project the Eclipse tooling to develop plug-ins and OSGI bundles.  
Website: <https://www.eclipse.org/pde/>

- <https://projects.eclipse.org/projects/eclipse.pde>

How to contribute:
--------------------
Contributions to PDE are most welcome. There are many ways to contribute, 
from entering high quality bug reports, to contributing code or documentation changes. 
For a complete guide, see the [How to Contribute] [1] page on the team wiki.

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

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

- <https://projects.eclipse.org/projects/eclipse.pde/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>


How to build on the command line
--------------------------------

You need Maven 3.3.1 installed. After this you can run the build via the following command:

mvn clean verify -Pbuild-individual-bundles


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

This project uses Bugzilla to track ongoing development and issues.

- <https://bugs.eclipse.org/bugs/buglist.cgi?bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&product=PDE&query_format=advanced>

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=PDE;component=UI>

Contact:
--------

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

- <https://dev.eclipse.org/mailman/listinfo/pde-dev>

License
-------

[Eclipse Public License (EPL) v1.0][2]

[1]: https://wiki.eclipse.org/PDE/Contributor_Guide
[2]: http://wiki.eclipse.org/EPL
