You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
4.0 KiB
63 lines
4.0 KiB
= Contributing to Spring Boot |
|
|
|
Spring Boot is released under the Apache 2.0 license. If you would like to contribute something, or want to hack on the code this document should help you get started. |
|
|
|
|
|
|
|
== Code of Conduct |
|
|
|
This project adheres to the Contributor Covenant https://github.com/spring-projects/spring-boot?tab=coc-ov-file#contributor-code-of-conduct[code of conduct]. |
|
By participating, you are expected to uphold this code. Please report unacceptable behavior to code-of-conduct@spring.io. |
|
|
|
|
|
|
|
== Using GitHub Issues |
|
|
|
We use GitHub issues to track bugs and enhancements. |
|
If you have a general usage question please ask on https://stackoverflow.com[Stack Overflow]. |
|
The Spring Boot team and the broader community monitor the https://stackoverflow.com/tags/spring-boot[`spring-boot`] tag. |
|
|
|
If you are reporting a bug, please help to speed up problem diagnosis by providing as much information as possible. |
|
Ideally, that would include a small sample project that reproduces the problem. |
|
|
|
|
|
|
|
== Reporting Security Vulnerabilities |
|
|
|
If you think you have found a security vulnerability in Spring Boot please *DO NOT* disclose it publicly until we've had a chance to fix it. |
|
Please don't report security vulnerabilities using GitHub issues, instead head over to https://spring.io/security-policy and learn how to disclose them responsibly. |
|
|
|
|
|
|
|
== Include a Signed Off By Trailer |
|
|
|
All commits must include a __Signed-off-by__ trailer at the end of each commit message to indicate that the contributor agrees to the Developer Certificate of Origin. |
|
For additional details, please refer to the blog post https://spring.io/blog/2025/01/06/hello-dco-goodbye-cla-simplifying-contributions-to-spring[Hello DCO, Goodbye CLA: Simplifying Contributions to Spring]. |
|
|
|
|
|
|
|
== Code Conventions and Housekeeping |
|
|
|
None of these is essential for a pull request, but they will all help. They can also be |
|
added after the original pull request but before a merge. |
|
|
|
* We use the https://github.com/spring-io/spring-javaformat/[Spring JavaFormat] project to apply code formatting conventions. |
|
If you use Eclipse and you follow the https://github.com/spring-projects/spring-boot/wiki/Working-with-the-Code#importing-into-eclipse["Importing into Eclipse"] instructions you should get project-specific formatting automatically. |
|
You can also install the https://github.com/spring-io/spring-javaformat/#intellij-idea[Spring JavaFormat IntelliJ Plugin] or format the code from the Gradle build by running `./gradlew format`. |
|
Note that if you have format violations in `buildSrc`, you can fix them by running `./gradlew -p buildSrc format` from the project root directory. |
|
* The build includes Checkstyle rules for many of our code conventions. Run `./gradlew checkstyleMain checkstyleTest` if you want to check your changes are compliant. |
|
* Make sure all new `.java` files have a 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. |
|
* A few unit tests would help a lot as well -- someone has to do it. |
|
* Verification tasks, including tests and Checkstyle, can be executed by running `./gradlew check` from the project root. |
|
Note that `SPRING_PROFILES_ACTIVE` environment variable might affect the result of tests, so in that case, you can prevent it by running `unset SPRING_PROFILES_ACTIVE` before running the task. |
|
* If no-one else is using your branch, please rebase it against the current main branch (or other target branch in the project). |
|
* When writing a commit message please follow https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html[these conventions]. |
|
|
|
|
|
|
|
== Working with the Code |
|
|
|
For information on editing, building, and testing the code, see the https://github.com/spring-projects/spring-boot/wiki/Working-with-the-Code[Working with the Code] page on the project wiki.
|
|
|