# SFG SB Common This project contains common code shared by all spring boot projects build for Sligro Food Group. ## Projects - spring-boot-parent - spring-boot-common-utils ### spring-boot-parent This project is intended to be consumed by other projects as their parent. It inherits from the spring-boot-starter-parent from the Spring project it self. It also specifies the versions of all other sfg-sb-common projects, so that any consumer can easily obtain a compatible version for their project. ### spring-boot-common-utils This project defines some common utilities which will be used by most projects. Like: - logging See the README in that folder for more details. ## Adding a project To add a new project, a few steps need to be taken. - A new maven module needs to be created - It should define the root project as it's parent (NOTE: this is not the spring-boot-parent module) - It should NOT define a group id or a version - It should define an SCM section - It should NOT a distribution section - It should be added to the `` section in the root pom - It should be added to the `` section of the spring-boot-parent pom // TODO: improve this section ## Releasing // TODO: create a Jenkins pipeline for this A release should be done using the maven release plugin. In GIT, it will create a commit with the exact version, tag it and create a commit with the next version. In Maven it will set the exact version (without snapshot). Both as the project version, as well as the dependency management versions. To create a release, execute: - `mvn release:prepare` - `mvn release:perform` Optionally add `--batch-mode` to `mvn` to make Maven non-interactive. Otherwise, accept the default versions provided by release plugin.