This repository contains the models used throughout CaTH application.
This project produces a single maven artefact, pushed up to Azure DevOps Artifacts, which is then used by other CaTH services.
The version number no longer needs to be updated manually in the build.gradle. This is done automatically via the publishing process (See steps below).
- Java JDK 17 - this is used throughout all of our services.
No specific requirements, other than the standard IDE and Java 17.
- Clone the repository
- Build using the command
./gradlew clean build
This project is a library rather than a spring boot application.
To publish the application to the local repository, use
./gradlew clean build publishToMavenLocalThe JAR that is published is also accessible in build/libs/
Running this locally will create a version called 'DEV-SNAPSHOT' which can then be used in the other projects.
Publishing to Azure DevOps Artefacts is done automatically on Pull Request, and on the creation of a release.
When a pull request is first created, or when a commit is made to it, a new artefact is created in the artefact store. The name of this is in the format of "BranchName-CommitHash"
This version can then be used in the associated PR's in other microservices for testing.
Once the PR has been merged, a release should be created with a tag set to the new version. This tag will become the dependency version, e.g. 2.3.5.
The library can be imported into other projects by using
implementation group: 'uk.gov.hmcts.reform', name: 'pip-data-models', version: '0.0.1'in your build.gradle file
We use Fortify to scan for security vulnerabilities. This is run as part of our nightly pipelines.
This library is comprehensively tested using a suite of unit tests.
Unit tests can be run on demand using ./gradlew test.
We are happy to accept third-party contributions. See .github/CONTRIBUTING.md for more details.
This project is licensed under the MIT License - see the LICENSE file for details.