Skip to content

Backend Bill Of Materials: centralized dependency management for Geomatys/Examind libraries and products

Notifications You must be signed in to change notification settings

Geomatys/geomatys-bom

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 

Repository files navigation

Geomatys BOM

Defines a Bill Of Materials, to centralize third-party dependency declarations in a single document.

Principle

Rely on Spring Boot dependencies BOM to provide coherent versions of most third-party tools used in our products and projects, like :

  • Jackson

  • PostgreSQL JDBC driver

  • Spring framework

  • Apache commons

  • Many more…​

Some addendums are done to fit our specific needs for our products and projects.

Usage

First and foremost, you have to activate two Maven repositories:

  1. Spring repository, to download Spring-Boot BOM which this artifact depends upon:

    <repository>
      <id>spring.releases</id>
      <name>Spring release repository</name>
      <url>https://repo.spring.io/release</url>
    </repository>
  2. The public Geomatys repository, to download the Geomatys BOM release:

    <repository>
      <id>geomatys.public</id>
      <name>Geomatys public release repository</name>
      <url>https://nexus.geomatys.com/repository/releases</url>
    </repository>
Note
If your project POM inherits this BOM, you don’t have to add these repositories, because they will be inherited from the BOM.

Then, there are two possible ways to apply this BOM:

  • Either for dependency management only, in which case you can import it in your project in your dependencyManagement:

    <project>
        ...
        <dependencyManagement>
            <dependencies>
                <dependency>
                    <groupId>com.geomatys</groupId>
                    <artifactId>geomatys-bom</artifactId>
                    <version>2024.4</version>
                    <type>pom</type>
                    <scope>import</scope>
                </dependency>
            </dependencies>
        </dependencyManagement>
    </project>
  • Or for both dependency management and plugin version management. In this case, you have to set this BOM as your project parent:

    <project>
        <parent>
            <groupId>com.geomatys</groupId>
            <artifactId>geomatys-bom</artifactId>
            <version>2024.4</version>
        </parent>
        ...
    </project>

Releases

Versions

This BOM uses a calendar versioning in the form YYYY.X where :

  1. YYYY is the current year of era, fully expressed.

  2. X is a release increment number in the year.

About

Backend Bill Of Materials: centralized dependency management for Geomatys/Examind libraries and products

Resources

Stars

Watchers

Forks

Packages

No packages published