|
| 1 | +# Contributing to the Android Connector for Maven Eclipse |
| 2 | + |
| 3 | +The **Android Connector for Maven Eclipse** project follows the |
| 4 | +[Github Workflow](http://scottchacon.com/2011/08/31/github-flow.html) |
| 5 | +and contributions can be made by sending a |
| 6 | +[pull requests](https://help.github.com/articles/creating-a-pull-request) |
| 7 | +or [raising issues](https://github.com/rgladwell/m2e-android/issues/new). |
| 8 | + |
| 9 | +##Pull requests should... |
| 10 | + |
| 11 | +###...focus on quality |
| 12 | + |
| 13 | +Code should be readable, maintainable, |
| 14 | +[clean](http://www.amazon.co.uk/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882), |
| 15 | +follow |
| 16 | +[SOLID principals](http://butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod), |
| 17 | +not repeat code elsewhere ([DRY](http://c2.com/cgi/wiki?DontRepeatYourself)) |
| 18 | +and conform to the |
| 19 | +[style guide](https://github.com/rgladwell/m2e-android/blob/master/formatter.xml). |
| 20 | + |
| 21 | +###...be fully testable |
| 22 | + |
| 23 | +Tests should verify new functionality or bugs and be well written with good |
| 24 | +coverage. To run the tests in Maven execute the following from within the |
| 25 | +cloned project folder: |
| 26 | + |
| 27 | +``` |
| 28 | +$ mvn verify |
| 29 | +``` |
| 30 | + |
| 31 | +###...have a clear intention |
| 32 | + |
| 33 | +Commits should be traceable and grouped according to their intention as |
| 34 | +outlined in the |
| 35 | +[Government Digital Service Manual](https://www.gov.uk/service-manual/making-software/version-control.html). |
| 36 | +Commit messages should be clear and follow the |
| 37 | +[standard git format](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html). |
| 38 | + |
| 39 | +##Bug reports should be... |
| 40 | + |
| 41 | +###...Clear |
| 42 | + |
| 43 | +Bug reports should have: |
| 44 | + |
| 45 | + - Precise, descriptive summaries. |
| 46 | + - Informative, concise descriptions. |
| 47 | + - A neutral tone, avoiding complaints or conjecture. |
| 48 | + |
| 49 | +###...Reproducible |
| 50 | + |
| 51 | +Bug reports should contain: |
| 52 | + |
| 53 | + - The simplest **steps to reproduce** the issue, or... |
| 54 | + - A failing **test fixture** for the bug. |
| 55 | + |
| 56 | +###...Specific |
| 57 | + |
| 58 | +Only publish **one bug** per report accompanied by: |
| 59 | + |
| 60 | + - A **detailed description** of the issue focusing on the **facts**. |
| 61 | + - **Expected** and **actual results**. |
| 62 | + - **Versions** of software, platform and operating system used. |
| 63 | + - **Crash data**, including [stack traces](http://i.imgur.com/jacoj.jpg), log |
| 64 | +files, screenshots and other relevant information. |
| 65 | + |
| 66 | +###...Unique |
| 67 | + |
| 68 | +Please search for duplicates before reporting a bug and ensure summaries are |
| 69 | +include relevant keywords to make it easier for other users to find duplicates. |
| 70 | + |
0 commit comments