Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Which Version of Version (Buckminster)
Many things are versioned, and there are many different concepts that include the word "version". Here we try to bring clarity to the various,,,eh - versions ;)
A plain version is a version string like "4.5.0" or "titanic-47b". It is parsed and understood by a Version Type.
A version selector is a more qualified reference to a version of a component state in a repository. It is something like "3.1.0/LATEST" or "main/3.1.0". The selector can refer to a state that can change over time, or to a fixed state (using a changenumber or a timestamp).
See Version Selector for more info.
A version designator is a reference to one or several plain versions. It uses OSGi notation to describe an inclusive or exclusive range. An example is [3.0.1, 4.5.0]. For more information see Version Designator. Note that even if the designator is based on OSGi syntax, the interpretation of the plain version strings in the range is performed by a Version Type.
A version type is a class that understands a plain version. It is capable of comparing plain versions of the same type and order them. Is "titanic-27" later than "AndreaDoria-42"? For more information see Version Type