Module Dependencies

In the Abstract SDK, modules have conditions that must be met before they can be registered or activated. These conditions largely revolve around module dependencies and version requirements. When installing a module, the system will check its dependencies and ensure that they are installed and meet the version requirements specified by the module.

Here’s how the process of registering a module and checking module dependencies looks:

sequenceDiagram
    autonumber
    actor U as User
    participant M as Manager
    participant VC as Version Control
    participant P as Proxy

    U ->> M: RegisterModule
    M -->>+ VC: Assert Install Requirements
    VC -->> VC: Load Module Dependencies
    VC -->> M: Assert Dependency Requirements
    VC -->> VC: Check if Dependency is Installed
    VC -->> VC: Assert Version Requirements
    M -->>+ VC: Add Module as Dependent on its Dependencies
    M -->>+ P: Add Module