POC is released under the Apache 2.0 license. If you would like to contribute something, or simply want to hack on the code this document should help you get started.
This project adheres to the Contributor Covenant code of conduct. By participating, you are expected to uphold this code.
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 Spring JavaFormat project to apply code formatting conventions. If you use Eclipse and you follow the ‘Importing into eclipse’ instructions below you should get project specific formatting automatically. You can also install the Spring JavaFormat IntelliJ Plugin or format the code from the Maven build by running
./mvnw io.spring.javaformat:spring-javaformat-maven-plugin:apply
. -
The build includes checkstyle rules for many of our code conventions. Run
./mvnw validate
if you want to check you changes are compliant. -
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.
-
A few unit tests would help a lot as well — someone has to do it.
-
If no-one else is using your branch, please rebase it against the current master (or other target branch in the main project).
-
When writing a commit message please follow these conventions, if you are fixing an existing issue please add
Fixes gh-XXXX
at the end of the commit message (whereXXXX
is the issue number).
If you don’t have an IDE preference we would recommend that you use Spring Tools Suite or Eclipse when working with the code. We use the M2Eclipse eclipse plugin for maven support. Other IDEs and tools should also work without issue.
Spring Boot source can be build from the command line using
Apache Maven on JDK 1.8 or above.
We include ‘Maven Wrapper’ scripts (./mvnw
or mvnw.bat
) that you can run rather
than needing to install Maven locally.
You can import the Spring Boot code into any Eclipse Oxygen based distribution.
If you prefer to install Eclipse yourself you should use the M2Eclipse eclipse plugin. If you don’t already have m2eclipse installed it is available from the "Eclipse marketplace".
Spring Boot includes project specific source formatting settings, in order to have these work with m2eclipse, we provide an additional Eclipse plugin that you can install:
-
Select “Help” → “Install New Software”.
-
Add
https://dl.bintray.com/spring/javaformat-eclipse/
as a site. -
Install "Spring Java Format"
Note
|
The plugin is optional. Projects can be imported without the plugins, your code changes just won’t be automatically formatted. |
With the requisite eclipse plugins installed you can select
import existing maven projects
from the file
menu to import the code. You will
need to import the root spring-boot
pom and the spring-boot-samples
pom separately.
Some files in the git repository may exceed the Windows maximum file path (260
characters), depending on where you clone the repository. If you get Filename too long
errors, set the core.longPaths=true
git option:
git clone -c core.longPaths=true https://github.com/spring-projects/spring-boot