Skip to content

How to contribute to Spring Cloud AWS ​

Checking out and building ​

To check out the project and build it from source, do the following:

git clone https://github.com/awspring/spring-cloud-aws.git
cd spring-cloud-aws
./mvnw package
git clone https://github.com/awspring/spring-cloud-aws.git
cd spring-cloud-aws
./mvnw package

To build and install jars into your local Maven cache:

./mvnw install
./mvnw install

For faster builds, we recommend using Maven Daemon and using following commands:

Build:

make build
make build

Clean:

make clean
make clean

Format code:

make format
make format

Building documentation ​

Documentation can be built by activating the docs profile in the maven build.

make docs
make docs

It generates:

  • reference documentation in docs/target/generated-docs/
  • API docs in target/site/

Did you find a bug? ​

  • Do not open up a GitHub issue if the bug is a security vulnerability in Spring Cloud AWS, and instead to refer to our security policy.

  • Ensure the bug was not already reported by searching on GitHub under Issues.

  • If you're unable to find an open issue addressing the problem, open a new one. Be sure to include a title and clear description, as much relevant information as possible, ideally with a code sample or an executable test case demonstrating the expected behavior that is not occurring.

Did you write a patch that fixes a bug? ​

  • Open a new GitHub pull request with the patch.

  • Ensure the PR description clearly describes the problem and solution. Include the relevant issue number if applicable.

Do you intend to add a new feature or change an existing one? ​

  • Suggest your change in the Issues.

  • Start writing code once the issue got approved by project maintainers.

  • In addition to actual implemented feature, remember to:

    • update reference docs
    • consider providing/updating one of the sample applications
    • each public class should have a Javadoc
    • code has to have tests
    • each package has to have package-info.java file definining nullability rules (example)
    • each nullable field, method parameter, method return value, if can be null, has to be annotated with org.jspecify.annotations.Nullable.

Do you have questions about the source code? ​

  • Ask any question about how to use Spring Cloud AWS in the Discussions.

Using Gitpod ​

To avoid setting up your local development environment, you can use Gitpod and develop directly in browser based Visual Studio Code, or JetBrains Client via JetBrains Gateway.

Open in Gitpod

Thanks!