Skip to main content

Identifying and Referencing Libraries

Each library is identified by a unique library ID. The library ID follows the pattern <title>, <version> (<company>), where the title contains the readable name, the version is specified in the 4-part semver format, and the company name of the vendor is optional. The separators ,, (, and ) are not allowed in <title> and <company>.

Tip

Use short, concise names and printable ASCII characters whenever possible.

A reference does not need to contain a fixed version number. Instead, a version pattern can also be specified. If this pattern matches multiple available library versions, then the latest matching version will be selected automatically. The full description of the syntax and meaning of version patterns is described in the documentation for Libraries.json.

Reference types

An application designates its libraries in the references section of the Libraries.json reference list. The key to each entry is the namespace by which the application accesses the library. The type of reference is determined by the $type field.

$type

Reference Type

Library Designation

ManagedLibrary

Managed library

Via a library ID with a fixed version or version pattern

RelativePath

Relative path

Via a path to a project

Placeholder

Placeholder

Via a symbolic name which is replaced only during resolution

Library categories

A library is assigned to one or more categories, whereby categories are hierarchical. They are for display purposes only and have no bearing on the resolution. The categories are declared in the ProjectInfo.json file. The pipe character (|) separates the levels of the hierarchy.

Example 11. Example
"categories": ["System|SysLibs", "Docs|Fieldbus|Sercos", "Use Cases"]