Skip to content

Add support for dynamic versioning (and possibly Maven CI Friendly) #9

@jimisola

Description

@jimisola

Other langauges and build systems have something called dynamic versioning which means that the project version can be left out in the project configuration file (here: pom.xml) and instead the version is set dynamically based on tag in git repo. It the current comment does not have tag with valid semantic version then the nearest is found and the number of commits to that commit from HEAD will be build number.

Due to a limitation in Maven the current "solution" of MojoHaus Versions Maven plugin goal does not work. @cstamas described it here and as a the idea is to migrate the MojoHaus Versions Plugin goal to nisse as core extension.

The current goal has few optional parameters:

  • appendSnapshot: Whether the SNAPSHOT qualifier shall be apppended or not. Default: true
  • defaultVersion: The default version used when SCM repository has no commit or no version tag.
  • propertyName: The name of the property that will contain the resolved version. Default: revisionUser
  • useVersion: Use this version instead of resolving from SCM tag information.

I'm currently not sure how configuration can be made for a core extension. Any input here would be appreciated.

Also, I'm not sure if there is any benefit of using ${revision} as Maven CI Friendly.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions