The project contains templates for managing internal and external dependencies using Maven
- Install SDKMAN
- Initialize SDKMAN environment
sdk env install
- Configure Maven settings
- Copy settings.xml to your local
.m2
folder - Secure your Nexus password using the following Maven guide
- Replace username & password under
<server>
element
- Copy settings.xml to your local
Distribution to Nexus is configured in two places:
<distributionManagement>
tag inpom.xml
files- settings.xml file, passed to Maven during the deployment in CI/CD pipeline. See an example in GitLab pipeline file defines the actual execution of the distribution
TBD
TBD
- Test Nexus
- Automatic version incrementation based using Changelog rules. See
- https://github.com/jagodevreede/semver-check
- https://julien.ponge.org/blog/the-power-of-conventional-commits/ Conventional commits with automatic release notes with JReleaser (e.g. https://github.com/smallrye/smallrye-mutiny/blob/main/pom.xml#L553)
- Add GitHub distribution to [Packages](https://docs.github. com/en/packages/working-with-a-github-packages-registry/working-with-the-apache-maven-registry)
- Add GitLab distribution to Registry