This repository provides a template for building Spring Boot applications within the HMCTS API Marketplace ecosystem. It includes essential configurations, dependencies, and best practices to help you get started quickly.
NOTE: This project is a template and does not contain any business logic. It is intended to be used as a reference for new HMCTS API services.
[:
brew install gradle
Other Platforms: Visit the Gradle installation guide for platform-specific instructions.
You can verify installation with:
java -version
gradle -v
run gradle wrapper
Recommended Approach for macOS Users (using direnv
)
If you're on macOS, you can use direnv to automatically load these environment variables per project:
-
Install
direnv
:brew install direnv
-
Hook it into your shell (example for bash or zsh):
echo 'eval "$(direnv hook bash)"' >> ~/.bash_profile # or for zsh echo 'eval "$(direnv hook zsh)"' >> ~/.zshrc
-
Allow
direnv
to load:direnv allow
This will ensure your environment is correctly set up every time you enter the project directory.
Install PMD
brew install pmd
pmd check \
--dir src/main/java \
--rulesets \
.github/pmd-ruleset.xml \
--format html \
-r build/reports/pmd/pmd-report.html
Run pact provider test and publish verification report to pact broker locally
Update .env file with below details (replacing placeholders with actual values):
export PACT_PROVIDER_VERSION="0.1.0-local-YOUR-INITIALS" # or any version you want to use
export PACT_VERIFIER_PUBLISH_RESULTS=true
export PACT_PROVIDER_BRANCH="ANY_BRANCH_NAME_THAT_IS_NOT_A_DEFAULT_ONE"
export PACT_BROKER_TOKEN="YOUR_PACTFLOW_BROKER_TOKEN"
export PACT_BROKER_URL="https://hmcts-dts.pactflow.io"
export PACT_ENV="local" # or value based on the environment you are testing against
Run Pact tests:
gradle pactVerificationTest
This project is licensed under the MIT License - see the LICENSE file for details