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.2or later
If using sdkman you can install the required versions with:
sdk envSome tests require the docker-credential-secretservice to be installed to run tests
brew install docker-credential-helper
- 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 syncto keep your fork in sync - Ensure new files have a license
mvn license:update-file-headerand are formatted withmvn spotless:applyof not the build with fail - Run
pre-commit run -aor 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)