|
| 1 | + |
| 2 | +# Contributing |
| 3 | + |
| 4 | +Spring Cloud is released under the non-restrictive Apache 2.0 license, |
| 5 | +and follows a very standard Github development process, using Github |
| 6 | +tracker for issues and merging pull requests into master. If you want |
| 7 | +to contribute even something trivial please do not hesitate, but |
| 8 | +follow the guidelines below. |
| 9 | + |
| 10 | +## Sign the Contributor License Agreement |
| 11 | +Before we accept a non-trivial patch or pull request we will need you to sign the |
| 12 | +[Contributor License Agreement](https://cla.pivotal.io/sign/spring). |
| 13 | +Signing the contributor's agreement does not grant anyone commit rights to the main |
| 14 | +repository, but it does mean that we can accept your contributions, and you will get an |
| 15 | +author credit if we do. Active contributors might be asked to join the core team, and |
| 16 | +given the ability to merge pull requests. |
| 17 | + |
| 18 | +## Code of Conduct |
| 19 | +This project adheres to the Contributor Covenant [code of |
| 20 | +conduct](https://github.com/spring-cloud/spring-cloud-build/blob/master/docs/src/main/asciidoc/code-of-conduct.adoc). By participating, you are expected to uphold this code. Please report |
| 21 | +unacceptable behavior to [email protected]. |
| 22 | + |
| 23 | +## Code Conventions and Housekeeping |
| 24 | +None of these is essential for a pull request, but they will all help. They can also be |
| 25 | +added after the original pull request but before a merge. |
| 26 | + |
| 27 | +* Use the Spring Framework code format conventions. If you use Eclipse |
| 28 | + you can import formatter settings using the |
| 29 | + `eclipse-code-formatter.xml` file from the |
| 30 | + [Spring Cloud Build](https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/master/spring-cloud-dependencies-parent/eclipse-code-formatter.xml) project. If using IntelliJ, you can use the |
| 31 | + [Eclipse Code Formatter Plugin](https://plugins.jetbrains.com/plugin/6546) to import the same file. |
| 32 | +* Make sure all new `.java` files to have a simple Javadoc class comment with at least an |
| 33 | + `@author` tag identifying you, and preferably at least a paragraph on what the class is |
| 34 | + for. |
| 35 | +* Add the ASF license header comment to all new `.java` files (copy from existing files |
| 36 | + in the project) |
| 37 | +* Add yourself as an `@author` to the .java files that you modify substantially (more |
| 38 | + than cosmetic changes). |
| 39 | +* Add some Javadocs and, if you change the namespace, some XSD doc elements. |
| 40 | +* A few unit tests would help a lot as well -- someone has to do it. |
| 41 | +* If no-one else is using your branch, please rebase it against the current master (or |
| 42 | + other target branch in the main project). |
| 43 | +* When writing a commit message please follow [these conventions](https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html), |
| 44 | + if you are fixing an existing issue please add `Fixes gh-XXXX` at the end of the commit |
| 45 | + message (where XXXX is the issue number). |
0 commit comments