61 lines
2.3 KiB
Markdown
61 lines
2.3 KiB
Markdown
# Contributing to Spring REST Docs
|
||
|
||
Spring REST docs is released under the Apache 2.0 license. If you would like to
|
||
contribute something, or simply want to work with the code, this document should help you
|
||
to get started.
|
||
|
||
## Sign the contributor license agreement
|
||
|
||
Before we accept a non-trivial patch or pull request we will need you to sign the
|
||
[contributor's license agreement (CLA)][1]. Signing the contributor's agreement does not
|
||
grant anyone commit rights to the main repository, but it does mean that we can accept
|
||
your contributions, and you will get an author credit if we do. Please use "Andy
|
||
Wilkinson" in the project lead field when you complete the form.
|
||
|
||
|
||
## Code conventions and housekeeping
|
||
|
||
None of these is essential for a pull request, but they will all help
|
||
|
||
- Make sure all new `.java` files to have a simple Javadoc class comment with at least an
|
||
`@author` tag identifying you, and preferably at least a paragraph on what the class is
|
||
for.
|
||
- Add the ASF license header comment to all new `.java` files (copy from existing files
|
||
in the project)
|
||
- Add yourself as an `@author` to the .java files that you modify substantially (more
|
||
than cosmetic changes).
|
||
- Add some Javadocs
|
||
- Add unit tests that covers and new or modified functionality
|
||
- Whenever possible, please rebase your branch against the current master (or other
|
||
target branch in the main project).
|
||
* When writing a commit message please follow [these conventions][2]. Also, if you are
|
||
fixing an existing issue please add `Fixes gh-nnn` at the end of the commit message
|
||
(where nnn is the issue number).
|
||
|
||
## Working with the code
|
||
|
||
### Building from source
|
||
|
||
To build the source you will need to use Java 8 – the main project only requires Java 7
|
||
but the sample projects use Java 8.
|
||
|
||
The code can be built with Gradle:
|
||
|
||
```
|
||
$ ./gradlew build
|
||
```
|
||
|
||
### Importing into Eclipse
|
||
|
||
The project has Gradle's Eclipse plugin applied. Eclipse project and classpath metadata
|
||
can be generated by running the `eclipse` task:
|
||
|
||
```
|
||
$ ./gradlew eclipse
|
||
```
|
||
|
||
The project can then be imported into Eclipse using `File -> Import…` and then selecting
|
||
`General -> Existing Projects into Workspace`.
|
||
|
||
[1]: https://support.springsource.com/spring_committer_signup
|
||
[2]: http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html |