resolve-parent-version-maven-plugin

Maven plugin which resolves any property placeholders in the version field of a parent pom reference

License

License

Categories

Categories

Maven Build Tools
GroupId

GroupId

com.hbakkum.maven.plugins
ArtifactId

ArtifactId

resolve-parent-version-maven-plugin
Last Version

Last Version

0.8
Release Date

Release Date

Type

Type

maven-plugin
Description

Description

resolve-parent-version-maven-plugin
Maven plugin which resolves any property placeholders in the version field of a parent pom reference
Project URL

Project URL

https://github.com/hbakkum/resolve-parent-version-maven-plugin
Source Code Management

Source Code Management

https://github.com/hbakkum/resolve-parent-version-maven-plugin

Download resolve-parent-version-maven-plugin

How to add to project

<plugin>
    <groupId>com.hbakkum.maven.plugins</groupId>
    <artifactId>resolve-parent-version-maven-plugin</artifactId>
    <version>0.8</version>
</plugin>

Dependencies

compile (5)

Group / Artifact Type Version
org.apache.maven : maven-model jar 3.2.5
org.apache.maven : maven-model-builder jar 3.2.5
org.apache.maven : maven-artifact jar 3.2.5
org.apache.maven : maven-core jar 3.2.5
org.apache.maven : maven-plugin-api jar 3.2.5

provided (1)

Group / Artifact Type Version
org.apache.maven.plugin-tools : maven-plugin-annotations jar 3.2

Project Modules

There are no modules declared in this project.

resolve-parent-version-maven-plugin

This plugin updates a pom file with the resolved parent version. That is, it ensures that for a pom that has a parent pom reference, that when it gets installed/deployed, any property placeholders in the parent pom version field will be resolved.

See this blog post for more details: https://blog.kiwitype.com/2017/maven-versioning-in-a-continuous-delivery-pipeline/

e.g. Say we have the following pom:

<project>
  <parent>
    <groupId>com.mycompany.app</groupId>
    <artifactId>my-app</artifactId>
    <version>1.${some.property}</version>
  </parent>
 
  <artifactId>my-module</artifactId>
 
  ...
 
</project>

If a build runs where some.property=999, then the installed/deployed pom will be:

<project>
  <parent>
    <groupId>com.mycompany.app</groupId>
    <artifactId>my-app</artifactId>
    <version>1.999</version>
  </parent>
 
  <artifactId>my-module</artifactId>
 
  ...
 
</project>

Usage

 <plugin>
  <groupId>com.hbakkum.maven.plugins</groupId>
  <artifactId>resolve-parent-version-maven-plugin</artifactId>
  <version>0.8</version>
  <executions>
    <execution>
      <goals>
        <goal>resolve-parent-version</goal>
      </goals>
    </execution>
  </executions>
</plugin>

Versions

Version
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1