Please refer to the ORAS Contributing guide for general aspects.
This section is specific to the Java SDK.
- Java 17 or later
- Maven 3.9.9 or later
- Container engine like Docker or Podman (due to testcontainers)
- Pre-commit
3.6.2
or later
If using sdkman
you can install the required versions with:
sdk env
- All commits are signed off with
git commit -s
- All commits have a verified signature
git verify-commit HEAD
- Your branch is rebased on the main branch and have a linear history use multiple remotes or
gh repo sync
to keep your fork in sync - Ensure new files have a license
mvn license:update-file-header
and are formatted withmvn spotless:apply
of not the build with fail - Run
pre-commit run -a
or ensure the pre-commit hooks are installed withpre-commit install-hooks
- Run the tests with
mvn clean install
- Javadoc is well formatted for public methods. If not the build will fail
- Coverage on new code is at least
80%
. You can check jacoco reports intarget/site/jacoco/index.html
- Pull request template is filled with the correct information (Specially the testing done section)