Update guidelines for contributing.
Let "GitHub" users see the project's policy.
This commit is contained in:
parent
2764b8239f
commit
8ce3448354
|
@ -25,7 +25,7 @@
|
|||
| commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates |
|
||||
+======================================================================+
|
||||
| |
|
||||
| 1) Re-generate using: mvn commons:contributing-md |
|
||||
| 1) Re-generate using: mvn commons-build:contributing-md |
|
||||
| |
|
||||
| 2) Set the following properties in the component's pom: |
|
||||
| - commons.jira.id (required, alphabetic, upper case) |
|
||||
|
@ -50,53 +50,66 @@ Getting Started
|
|||
|
||||
+ Make sure you have a [JIRA account](https://issues.apache.org/jira/).
|
||||
+ Make sure you have a [GitHub account](https://github.com/signup/free).
|
||||
+ 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 Math's scope.
|
||||
+ Submit a ticket for your issue, assuming one does not already exist.
|
||||
+ 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 Math's scope.
|
||||
+ Submit a [Jira Ticket][jira] for your issue, assuming one does not already exist.
|
||||
+ Clearly describe the issue including steps to reproduce when it is a bug.
|
||||
+ Make sure you fill in the earliest version that you know has the issue.
|
||||
+ Fork the repository on GitHub.
|
||||
+ Find the corresponding [repository on GitHub](https://github.com/apache/?query=commons-),
|
||||
[fork](https://help.github.com/articles/fork-a-repo/) and check out your forked repository.
|
||||
|
||||
Making Changes
|
||||
--------------
|
||||
|
||||
+ Create a topic branch from where you want to base your work (this is usually the develop/trunk branch).
|
||||
+ Create a _topic branch_ for your isolated work.
|
||||
* Usually you should base your branch on the `master` or `trunk` branch.
|
||||
* A good topic branch name can be the JIRA bug id plus a keyword, e.g. `MATH-123-InputStream`.
|
||||
* If you have submitted multiple JIRA issues, try to maintain separate branches and pull requests.
|
||||
+ Make commits of logical units.
|
||||
* Make sure your commit messages are meaningful and in the proper format. Your commit message should contain the key of the JIRA issue.
|
||||
* e.g. `MATH-123: Close input stream earlier`
|
||||
+ Respect the original code style:
|
||||
+ Only use spaces for indentation.
|
||||
+ 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.
|
||||
+ Check for unnecessary whitespace with git diff --check before committing.
|
||||
+ Topic branch names should directly correspond to the JIRA issues they are intended to resolve. For example branch names should look like:
|
||||
+ `improvement-MATH-852`
|
||||
+ `bug-MATH-1329`
|
||||
+ `feature-MATH-621`
|
||||
+ Make sure your commit messages are in the proper format. Your commit message should contain the key of the JIRA issue.
|
||||
+ For example, a commit message might look like `MATH-852: Adding documentation for development`
|
||||
+ Make sure you have added the necessary tests for your changes.
|
||||
+ 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.
|
||||
+ Check for unnecessary whitespace with `git diff` -- check before committing.
|
||||
+ Make sure you have added the necessary tests for your changes, typically in `src/test/java`.
|
||||
+ Run all the tests with `mvn clean verify` to assure nothing else was accidentally broken.
|
||||
|
||||
Making Trivial Changes
|
||||
----------------------
|
||||
|
||||
The JIRA tickets are used to generate the changelog for the next release.
|
||||
|
||||
For changes of a trivial nature to comments and documentation, it is not always necessary to create a new ticket in JIRA.
|
||||
In this case, it is appropriate to start the first line of a commit with '(doc)' instead of a ticket number.
|
||||
|
||||
|
||||
Submitting Changes
|
||||
------------------
|
||||
|
||||
+ Sign the [Contributor License Agreement][cla] if you haven't already.
|
||||
+ Sign and submit the Apache [Contributor License Agreement][cla] if you haven't already.
|
||||
* Note that small patches & typical bug fixes do not require a CLA as
|
||||
clause 5 of the [Apache License](https://www.apache.org/licenses/LICENSE-2.0.html#contributions)
|
||||
covers them.
|
||||
+ Push your changes to a topic branch in your fork of the repository.
|
||||
+ Submit a pull request to the repository in the apache organization.
|
||||
+ Submit a _Pull Request_ to the corresponding repository in the `apache` organization.
|
||||
* Verify _Files Changed_ shows only your intended changes and does not
|
||||
include additional files like `target/*.class`
|
||||
+ Update your JIRA ticket and include a link to the pull request in the ticket.
|
||||
|
||||
If you prefer to not use GitHub, then you can instead use
|
||||
`git format-patch` (or `svn diff`) and attach the patch file to the JIRA issue.
|
||||
|
||||
|
||||
Additional Resources
|
||||
--------------------
|
||||
|
||||
+ [Contributing patches](https://commons.apache.org/patches.html)
|
||||
+ [Apache Commons Math JIRA project page](https://issues.apache.org/jira/browse/MATH)
|
||||
+ [Apache Commons Math JIRA project page][jira]
|
||||
+ [Contributor License Agreement][cla]
|
||||
+ [General GitHub documentation](https://help.github.com/)
|
||||
+ [GitHub pull request documentation](https://help.github.com/send-pull-requests/)
|
||||
+ [GitHub pull request documentation](https://help.github.com/articles/creating-a-pull-request/)
|
||||
+ [Apache Commons Twitter Account](https://twitter.com/ApacheCommons)
|
||||
+ #apachecommons IRC channel on freenode.org
|
||||
+ `#apache-commons` IRC channel on `irc.freenode.net`
|
||||
|
||||
[cla]:https://www.apache.org/licenses/#clas
|
||||
[jira]:https://issues.apache.org/jira/browse/MATH
|
||||
|
|
Loading…
Reference in New Issue