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.