Shared libraries

Declaring a library

Libraries are declared with an alias, relative path and exact version.

Relative paths

Resolution remains local to the model directory.

Versions

Declared versions must match the referenced model.

Exported/private objects

Only shared definitions are imported.

Qualified names

Shared references use alias::name.

Transitive dependencies

Dependencies remain qualified through resolution.

Naming standards

One library can provide naming standards.

Resolution

No registry or network access is used.

Diff/history/impact

Provenance is retained for resolved objects.

Merge

Declarations merge by alias.

Documentation/browser provenance

Source information identifies local or library objects.

Git workflow

Update library declarations with their dependent model.

Errors

Errors preserve the declared relative spelling.

Limits

Remote dependencies are outside the local format.