Version Control

It is often desirable for a component developer to limit the versions of Isight in which the component is allowed to be used. For example, the component may have dependencies on new features introduced in specific versions of the infrastructure.

The component descriptor may contain a <Requires> section that defines the system requirements for use of the component. One of the requirements that can be specified is the version of Isight required for this component. The version control specification takes the following form,

<Requires>
<SystemRelease>X.Y.Z</SystemRelease>
</Requires>

where X is the system major release number, Y is the minor system release number, and Z is the patch/build number.

Note: The version numbers refer to the Isight release, not your component.

Version numbers can be specified as a wildcard “*” to denote any value; for example,

<Requires>
<SystemRelease>3.*.*</SystemRelease>
</Requires>

indicates that the component can be loaded into any 3.X release of Isight. The following specification,

<Requires>
<SystemRelease>2017.*</SystemRelease>
</Requires>

indicates that the component can be used only in the 2017 release of Isight (any fix level). Such a component cannot be used in version 5.0 or 5.x.

Note: Both of the prior examples would prevent the loading of the component into future major versions of the system (e.g., Isight 2017). A plus sign “+” can be appended to the specification to indicate that all versions later than the specification are also allowed.

For example:

<Requires>
<SystemRelease>5.0.1+</SystemRelease>
</Requires>

would allow the component to run in any version of Isight equal to or later than version 2017. This would include any version 5.0 fix level, version 5.5, etc. This format is recommended when a component depends on a specific new feature of the infrastructure. The specification should name the version of the infrastructure that introduced the new feature, with the “+” suffix to allow all subsequent releases as well.

If the component descriptor does not contain a required version tag, the default is “*.*.*”, which allows the component to be used in any version of the system.