|
25 | 25 | | commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates | |
26 | 26 | +======================================================================+ |
27 | 27 | | | |
28 | | - | 1) Re-generate using: mvn commons:contributing-md | |
| 28 | + | 1) Re-generate using: mvn commons-build:contributing-md | |
29 | 29 | | | |
30 | 30 | | 2) Set the following properties in the component's pom: | |
31 | 31 | | - commons.jira.id (required, alphabetic, upper case) | |
|
41 | 41 | Contributing to Apache Commons BeanUtils |
42 | 42 | ====================== |
43 | 43 |
|
44 | | -You have found a bug or you have an idea for a cool new feature? Contributing code is a great way to give something back to |
45 | | -the open source community. Before you dig right into the code there are a few guidelines that we need contributors to |
46 | | -follow so that we can have a chance of keeping on top of things. |
| 44 | +Have you found a bug or have an idea for a cool new feature? Contributing code is a great way to give something back to the open-source community. |
| 45 | +Before you dig right into the code, we need contributors to follow a few guidelines to have a chance of keeping on top of things. |
47 | 46 |
|
48 | 47 | Getting Started |
49 | 48 | --------------- |
50 | 49 |
|
51 | 50 | + Make sure you have a [JIRA account](https://issues.apache.org/jira/). |
52 | | -+ Make sure you have a [GitHub account](https://github.com/signup/free). |
53 | | -+ If you're planning to implement a new feature it makes sense to discuss you're changes on the [dev list](https://commons.apache.org/mail-lists.html) first. This way you can make sure you're not wasting your time on something that isn't considered to be in Apache Commons BeanUtils's scope. |
54 | | -+ Submit a ticket for your issue, assuming one does not already exist. |
| 51 | ++ Make sure you have a [GitHub account](https://github.com/signup/free). This is not essential, but makes providing patches much easier. |
| 52 | ++ If you're planning to implement a new feature it makes sense to discuss your changes on the [dev list](https://commons.apache.org/mail-lists.html) first. This way you can make sure you're not wasting your time on something that isn't considered to be in Apache Commons BeanUtils's scope. |
| 53 | ++ Submit a [Jira Ticket][jira] for your issue, assuming one does not already exist. |
55 | 54 | + Clearly describe the issue including steps to reproduce when it is a bug. |
56 | 55 | + Make sure you fill in the earliest version that you know has the issue. |
57 | | -+ Fork the repository on GitHub. |
| 56 | ++ Find the corresponding [repository on GitHub](https://github.com/apache/?query=commons-), |
| 57 | +[fork](https://help.github.com/articles/fork-a-repo/) and check out your forked repository. If you don't have a GitHub account, you can still clone the Commons repository. |
58 | 58 |
|
59 | 59 | Making Changes |
60 | 60 | -------------- |
61 | 61 |
|
62 | | -+ Create a topic branch from where you want to base your work (this is usually the master/trunk branch). |
| 62 | ++ Create a _topic branch_ for your isolated work. |
| 63 | + * Usually you should base your branch on the `master` branch. |
| 64 | + * A good topic branch name can be the JIRA bug ID plus a keyword, e.g. `BEANUTILS-123-InputStream`. |
| 65 | + * If you have submitted multiple JIRA issues, try to maintain separate branches and pull requests. |
63 | 66 | + Make commits of logical units. |
| 67 | + * Make sure your commit messages are meaningful and in the proper format. Your commit message should contain the key of the JIRA issue. |
| 68 | + * e.g. `BEANUTILS-123: Close input stream earlier` |
64 | 69 | + Respect the original code style: |
65 | 70 | + Only use spaces for indentation. |
66 | | - + Create minimal diffs - disable on save actions like reformat source code or organize imports. If you feel the source code should be reformatted create a separate PR for this change. |
67 | | - + Check for unnecessary whitespace with git diff --check before committing. |
68 | | -+ Make sure your commit messages are in the proper format. Your commit message should contain the key of the JIRA issue. |
69 | | -+ Make sure you have added the necessary tests for your changes. |
70 | | -+ Run all the tests with `mvn clean verify` to assure nothing else was accidentally broken. |
| 71 | + + Create minimal diffs - disable _On Save_ actions like _Reformat Source Code_ or _Organize Imports_. If you feel the source code should be reformatted create a separate PR for this change first. |
| 72 | + + Check for unnecessary whitespace with `git diff` -- check before committing. |
| 73 | ++ Make sure you have added the necessary tests for your changes, typically in `src/test/java`. |
| 74 | ++ Run all the tests with `mvn clean verify` to ensure nothing else was accidentally broken. |
71 | 75 |
|
72 | 76 | Making Trivial Changes |
73 | 77 | ---------------------- |
74 | 78 |
|
| 79 | +The JIRA tickets are used to generate the changelog for the next release. |
| 80 | + |
75 | 81 | For changes of a trivial nature to comments and documentation, it is not always necessary to create a new ticket in JIRA. |
76 | 82 | In this case, it is appropriate to start the first line of a commit with '(doc)' instead of a ticket number. |
77 | 83 |
|
| 84 | + |
78 | 85 | Submitting Changes |
79 | 86 | ------------------ |
80 | 87 |
|
81 | | -+ Sign the [Contributor License Agreement][cla] if you haven't already. |
| 88 | ++ Sign and submit the Apache [Contributor License Agreement][cla] if you haven't already. |
| 89 | + * Note that small patches & typical bug fixes do not require a CLA as |
| 90 | + clause 5 of the [Apache License](https://www.apache.org/licenses/LICENSE-2.0.html#contributions) |
| 91 | + covers them. |
82 | 92 | + Push your changes to a topic branch in your fork of the repository. |
83 | | -+ Submit a pull request to the repository in the apache organization. |
| 93 | ++ Submit a _Pull Request_ to the corresponding repository in the `apache` organization. |
| 94 | + * Verify _Files Changed_ shows only your intended changes and does not |
| 95 | + include additional files like `target/*.class` |
84 | 96 | + Update your JIRA ticket and include a link to the pull request in the ticket. |
85 | 97 |
|
| 98 | +If you prefer to not use GitHub, then you can instead use |
| 99 | +`git format-patch` (or `svn diff`) and attach the patch file to the JIRA issue. |
| 100 | + |
| 101 | + |
86 | 102 | Additional Resources |
87 | 103 | -------------------- |
88 | 104 |
|
89 | 105 | + [Contributing patches](https://commons.apache.org/patches.html) |
90 | | -+ [Apache Commons BeanUtils JIRA project page](https://issues.apache.org/jira/browse/BEANUTILS) |
| 106 | ++ [Apache Commons BeanUtils JIRA project page][jira] |
91 | 107 | + [Contributor License Agreement][cla] |
92 | 108 | + [General GitHub documentation](https://help.github.com/) |
93 | | -+ [GitHub pull request documentation](https://help.github.com/send-pull-requests/) |
| 109 | ++ [GitHub pull request documentation](https://help.github.com/articles/creating-a-pull-request/) |
94 | 110 | + [Apache Commons Twitter Account](https://twitter.com/ApacheCommons) |
95 | | -+ #apachecommons IRC channel on freenode.org |
96 | 111 |
|
97 | 112 | [cla]:https://www.apache.org/licenses/#clas |
| 113 | +[jira]:https://issues.apache.org/jira/browse/BEANUTILS |
0 commit comments