Package org.codehaus.mojo.buildhelper
Class ParseVersionMojo
java.lang.Object
org.apache.maven.plugin.AbstractMojo
org.codehaus.mojo.buildhelper.AbstractDefinePropertyMojo
org.codehaus.mojo.buildhelper.ParseVersionMojo
- All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled,org.apache.maven.plugin.Mojo
@Mojo(name="parse-version",
defaultPhase=VALIDATE,
threadSafe=true)
public class ParseVersionMojo
extends AbstractDefinePropertyMojo
Parse a version string and set properties containing the component parts of the version. This mojo sets the following
properties:
[propertyPrefix].majorVersion [propertyPrefix].minorVersion [propertyPrefix].incrementalVersion [propertyPrefix].qualifier [propertyPrefix].buildNumberWhere the propertyPrefix is the string set in the mojo parameter. The parsing of the above is based on the following format of the version:
<majorversion [> . <minorversion [> . <incrementalversion ] ] [> - <buildnumber | qualifier ]>It will be tried to parse the version as an OSGi version. It this is successful the following property will be set accordingly. If this is not possible a warning will be emitted.
[propertyPrefix].osgiVersionThis goal also sets the following properties:
[propertyPrefix].nextMajorVersion [propertyPrefix].nextMinorVersion [propertyPrefix].nextIncrementalVersion [propertyPrefix].nextBuildNumberThis goal also sets the following properties:
[formattedPropertyPrefix].majorVersion [formattedPropertyPrefix].minorVersion [formattedPropertyPrefix].incrementalVersion [formattedPropertyPrefix].buildNumberThis goal also sets the following properties:
[formattedPropertyPrefix].nextMajorVersion [formattedPropertyPrefix].nextMinorVersion [formattedPropertyPrefix].nextIncrementalVersion [formattedPropertyPrefix].nextBuildNumberThere is another property set which is named
[propertyPrefix].qualifier and furthermore
another property which is named [propertyPrefix].qualifier? which contains a prefix
- if the qualifier contains anything otherwise the whole property is simply empty.
mvn build-helper:parse-version versions:set \
-DnewVersion=\${parsedVersion.majorVersion}.\${parsedVersion.nextMinorVersion}.\${parsedVersion.incrementalVersion}\${parsedVersion.qualifier?}
The above properties contain simply incremented versions of the parsed version informations. Those can now be used to
update the version of your project via the following to the next Major version:
mvn build-helper:parse-version versions:set \
-DnewVersion=\${parsedVersion.nextMajorVersion}.0.0 \
versions:commit
It can of course being used to increment the minor version:
mvn build-helper:parse-version versions:set \
-DnewVersion=\${parsedVersion.majorVersion}.\${parsedVersion.nextMinorVersion}.0 \
versions:commit
This can make an upgrade of the versions of your project very convenient.- Since:
- 1.3
- Author:
- pgier
-
Field Summary
Fields inherited from class org.codehaus.mojo.buildhelper.AbstractDefinePropertyMojo
projectFields inherited from interface org.apache.maven.plugin.Mojo
ROLE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidexecute()Execute the mojo.voidparseVersion(String version) Parse a version String and add the components to a properties object.voidsetFormatBuildNumber(String formatBuildNumber) voidsetFormatIncremental(String formatIncremental) voidsetFormatMajor(String formatMajor) voidsetFormatMinor(String formatMinor) voidsetFormattedPropertyPrefix(String formattedPropertyPrefix) voidsetPropertyPrefix(String prefix) Set property name prefix.Methods inherited from class org.codehaus.mojo.buildhelper.AbstractDefinePropertyMojo
defineProperty, getProjectMethods inherited from class org.apache.maven.plugin.AbstractMojo
getLog, getPluginContext, setLog, setPluginContext
-
Constructor Details
-
ParseVersionMojo
public ParseVersionMojo()
-
-
Method Details
-
execute
public void execute()Execute the mojo. This sets the version properties on the project. -
parseVersion
Parse a version String and add the components to a properties object.- Parameters:
version- the version to parse
-
setPropertyPrefix
Set property name prefix.- Parameters:
prefix- The prefix to be used.
-
setFormattedPropertyPrefix
- Parameters:
formattedPropertyPrefix- The prefix used for formatted properties.
-
setFormatMajor
- Parameters:
formatMajor- Set the format for major part.
-
setFormatMinor
- Parameters:
formatMinor- Set the format for minor part.
-
setFormatIncremental
- Parameters:
formatIncremental- Set format for incremental part.
-
setFormatBuildNumber
- Parameters:
formatBuildNumber- Set the format for the buildNumber part.
-