Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can the Maven unique version string be customized?

I'd like to know what options exist to customize the timestamp string used in Maven artifact deploys when <uniqueVersion>true</uniqueVersion> is set. Ideally, we'd like to include the changelist number from source control instead of a timestamp as it's a more dependable means of determining what features and bug fixes are in a given build.

like image 489
Tim Clemons Avatar asked Oct 14 '10 17:10

Tim Clemons


1 Answers

I'd like to know what options exist to customize the timestamp string used in Maven artifact deploys when true is set.

You can't customize it, the timestamped string is a well defined internal thing that is supposed to be used as is, or not (if you set uniqueVersion to false in the distributionManagement element).

From the Maven book (for readers interested, it won't really help you):

3.3.1.2. SNAPSHOT Versions

Maven versions can contain a string literal to signify that a project is currently under active development. If a version contains the string “SNAPSHOT,” then Maven will expand this token to a date and time value converted to UTC (Coordinated Universal Time) when you install or release this component. For example, if your project has a version of “1.0-SNAPSHOT” and you deploy this project’s artifacts to a Maven repository, Maven would expand this version to “1.0-20080207-230803-1” if you were to deploy a release at 11:08 PM on February 7th, 2008 UTC. In other words, when you deploy a snapshot, you are not making a release of a software component; you are releasing a snapshot of a component at a specific time.

like image 189
Pascal Thivent Avatar answered Sep 28 '22 08:09

Pascal Thivent