Skip to main content

Module system

Module system 

Source
Expand description

ridl diff at the system (rsdl reference §14): the changes to a lowered system that are not contract changes.

The contracts of a workspace are compared by the ridl categories, through crate::diff_sets. What rsdl adds is structure — which components exist, their lines, and where each instance runs — and a change to it changes the derived links and never the contract. Such a change is listed under one of two headings and carries no verdict: neither compatible nor breaking. Which of them are breaking, and for whom, is the stability policy’s.

  • Placement changed — a change in a deployment: a deployment added or removed, a machine added, removed or made external, an instance moved to another machine, or a labels, deprecated or backend key of the deployment, of a machine or of a placement line changed.
  • Composition changed — a change to the closure or to a component’s lines: a component added to or removed from the system, an offers or requires line added or removed, instances changed, a component made external, a distribution added or removed, or a labels, deprecated, tier or backend key of the system, of a component, of a distribution or of one of their lines changed.

Distribution membership changes and attributes of unpaired distribution members are not yet reported (driftsys/ridl#974).

Both read the lowered System of each side and nothing else.

Structs§

SystemChange
One change to the system, listed under its heading with no verdict.

Enums§

SystemHeading
The heading a system change is listed under (rsdl reference §14).

Functions§

diff_systems
Compares two lowered systems: the composition changes first, in the new closure’s order and then the removed components, and then the placement changes, deployment by deployment in the new system’s order and then the removed deployments. The doc fields (doc, the doc links, see, since) are never read: a doc edit is neither a placement nor a composition change, and a system change has no verdict (ADR-0026). The sizing fields (Deployment.sizing, Placement.sizing) are never read: the registry records them as not reported, reason sizing (ridl_core::attributes).
heading_text
The heading as the text report prints it: placement changed.