DEV Community

Ernesto λrroyo
Ernesto λrroyo

Posted on

Utilizar la propiedad revision con maven para mantener coherencia de versiones

Como pequeña ampliación a mi anterior artículo la forma correcta de versionar y establecer dependencias voy a indicar una ayuda que tenemos en maven, a partir de la versión 3.5.0

En esta herramienta de construcción podemos indicar una propiedad revision y usarla en el parent y heredarla en todos los módulos hijo de forma que podemos aplicar facilmente el principio de coherencia en el versionado del despliegue.

Esto es en el parent pondríamos:

  <groupId>io.earroyoron</groupId>
  <artifactId>project-parent</artifactId>
  <packaging>pom</packaging>
  <version>${revision}</version>
  <properties>
    <revision>1.3.0</revision>
  </properties>

y en los módulos por debajo indicaremos esa propiedad:

  <parent>
    <groupId>io.earroyoron</groupId>
    <artifactId>project-parent</artifactId>
    <version>${revision}</version>
  </parent>

  <groupId>io.earroyoron</groupId>
  <artifactId>child-module-a</artifactId>
  <version>${revision}</version>

La ventaja principal es, como indico, mantener la coherencia de versiones que sería 1.3.0 en todos los componentes por debajo de ese parent (como debe ser).

Para quien tenga dudas de si esta es la forma correcta, que se mire el código fuente de, por ejemplo, Spring Boot, que utiliza este esquema.

¿Y los BOM?

Mi antiguo compañer y amigo Marcos Martínez @cedillomarcos me recordó que el uso de un BOM también es imprescindible en la gestión de versiones con Maven pero voy a dejar este tema abierto para un próximo artículo.

Top comments (0)