103 lines
5.6 KiB
Markdown
103 lines
5.6 KiB
Markdown
<!---
|
|
Licensed to the Apache Software Foundation (ASF) under one or more
|
|
contributor license agreements. See the NOTICE file distributed with
|
|
this work for additional information regarding copyright ownership.
|
|
The ASF licenses this file to You under the Apache License, Version 2.0
|
|
(the "License"); you may not use this file except in compliance with
|
|
the License. You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
-->
|
|
<!---
|
|
+======================================================================+
|
|
|**** ****|
|
|
|**** THIS FILE IS GENERATED BY THE COMMONS BUILD PLUGIN ****|
|
|
|**** DO NOT EDIT DIRECTLY ****|
|
|
|**** ****|
|
|
+======================================================================+
|
|
| TEMPLATE FILE: contributing-md-template.md |
|
|
| commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates |
|
|
+======================================================================+
|
|
| |
|
|
| 1) Re-generate using: mvn commons:contributing-md |
|
|
| |
|
|
| 2) Set the following properties in the component's pom: |
|
|
| - commons.jira.id (required, alphabetic, upper case) |
|
|
| |
|
|
| 3) Example Properties |
|
|
| |
|
|
| <properties> |
|
|
| <commons.jira.id>MATH</commons.jira.id> |
|
|
| </properties> |
|
|
| |
|
|
+======================================================================+
|
|
--->
|
|
Contributing to Apache Commons Math
|
|
======================
|
|
|
|
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
|
|
the open source community. Before you dig right into the code there are a few guidelines that we need contributors to
|
|
follow so that we can have a chance of keeping on top of things.
|
|
|
|
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.
|
|
+ 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.
|
|
|
|
Making Changes
|
|
--------------
|
|
|
|
+ Create a topic branch from where you want to base your work (this is usually the develop/trunk branch).
|
|
+ Make commits of logical units.
|
|
+ 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.
|
|
+ Run all the tests with `mvn clean verify` to assure nothing else was accidentally broken.
|
|
|
|
Making Trivial Changes
|
|
----------------------
|
|
|
|
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.
|
|
+ Push your changes to a topic branch in your fork of the repository.
|
|
+ Submit a pull request to the repository in the apache organization.
|
|
+ Update your JIRA ticket and include a link to the pull request in the ticket.
|
|
|
|
Additional Resources
|
|
--------------------
|
|
|
|
+ [Contributing patches](https://commons.apache.org/patches.html)
|
|
+ [Apache Commons Math JIRA project page](https://issues.apache.org/jira/browse/MATH)
|
|
+ [Contributor License Agreement][cla]
|
|
+ [General GitHub documentation](https://help.github.com/)
|
|
+ [GitHub pull request documentation](https://help.github.com/send-pull-requests/)
|
|
+ [Apache Commons Twitter Account](https://twitter.com/ApacheCommons)
|
|
+ #apachecommons IRC channel on freenode.org
|
|
|
|
[cla]:https://www.apache.org/licenses/#clas
|