64 lines
4.0 KiB
Plaintext
Executable File
64 lines
4.0 KiB
Plaintext
Executable File
= 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.
|