Version Converter (Buckminster)
< To: Buckminster Project
A Version Converter is responsible for (bidirectional) tranlation between a plain version (such as "4.5.0" or "titanic-27b") and a version selector such as "main/4.5.0" (which can be based on branchname, tag, changenumber, or timestamp).
|branch||creates a version selector referencing the latest version on a branch named from the plain version, i.e. "3.1.0" will be translated into "3.1.0/LATEST"|
|tag||creates a version selector referencing the plain version as a tag on the default branch. i.e. "3.1.0" will be translated into "main/3.1.0". With the tag converter it is possible to use a change number or timestamp instead of the tag.|
Regular expressions can be used when more complicated mappings are desired such as "3.1.0" into "main/v3_1_0-xyz" for a tag converter, or "3.1.0" into "three_one_zero/LATEST" for a branch converter. It is required that the mapping can be reversed without loss of information.
Version Converter and Component Reader
The versions designated by a component request are always converted to version selectors before they are passed to a component reader. A component reader will only understand version selectors.
Extending Verison Converter
New version converters can be added using the Buckminster Extension Point org.eclipse.buckminster.core.versionConverters.