48 lines
1.7 KiB
Markdown
48 lines
1.7 KiB
Markdown
# 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 `<modules>` section in the root pom
|
|
- It should be added to the `<dependencyManagement>` 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.
|