Contribute
Eclipse Contributor Agreement
Since Arrowhead project is governed within the Eclipse Foundation, the authors of any contribution must agree and accept the Eclipse Contributor Agreement ("ECA").
Technically it means that contributors need an Eclipse Fundation Account which makes possible to submit a signed ECA! GitHub Pull Requests could be accepted only when all the authors own an Eclipse Foundation Account with the signed ECA!
ECA verification
The existence of the signed ECA is verified based on the authors commits. Your local Git client should hold and push the commits with the same email address like the Eclipse Foundation Account was created with. When the email address is different, than the verification process will fail and the Pull Request is not possible to merge.
Configuring Git client
Use the command below to configure your git client globally:
$ git config --global user.email anybody@example.com
Whithout the --global
flag you can set the email address only for that specific project where the command was executed.
Way of contributing
1) Fork (and not clone) the project repository.
2) Create a new branch in your fork and from the development
branch for your contribution.
(Creating and pushing new branches within a cloned repository is allowed only for official Committers)
3) Take care of coding clean!
4) Make sure you have a working contribution
- Write unit tests
- Run several test scenario
5) Make sure you are not using restricted third party library
- Build the project with
mvn clean install -P license-check -DskipTests
. After the project build has been finished, you will find a summary about the used libraries in the\target\dash\summary
file. Look for your newly added libraries and make sure they are not restricted.
6) Synchronize the development
branch in your fork and merge it into your contribution branch
7) Rise a Pull Request from your fork to the development
branch of the original project repository.
8) Wait for the review.
- Pull requests with ECA issue, merge conflict, unit test issues or running issues will be closed without review
9) Deal with the requested fixes if any.
10) When your Pull Request is approved, then it will be merged by a committer and will be contained by the coming release