Contributing to Mylyn Builds
=============================

Thanks for your interest in this project.

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

Mylyn is a Task-Focused Interface for Eclipse that reduces information overload and makes multi-tasking easy.

- https://projects.eclipse.org/projects/mylyn

Mylyn Builds Sub-Project description:
--------------------

Integration of continuous integration and build systems and seamless access to software build and assembly technologies. Mylyn users will be able to access continuous integration processes, control build execution and associate build results with tasks and context.

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

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

- http://wiki.eclipse.org/index.php/Mylyn_Contributor_Reference
- https://projects.eclipse.org/projects/mylyn/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/mylyn-dev

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

This project uses Bugzilla to track ongoing development and issues.

- https://bugs.eclipse.org/bugs/buglist.cgi?product=Mylyn Builds

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=Mylyn Builds
