Skip to content

Latest commit

 

History

History
87 lines (71 loc) · 2.34 KB

README.adoc

File metadata and controls

87 lines (71 loc) · 2.34 KB

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.