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.
 |