mod domain#
- module domain#
Domain types for EasyBuild stack selection.
Structs and Unions
- struct Candidate#
- name: String#
- version: String#
- versionsuffix: Option<String>#
- easyconfig_path: String#
- struct DepReq#
- name: String#
- version_req: String#
- versionsuffix: Option<String>#
Optional versionsuffix on this dependency (e.g.
-CUDA-%(cudaver)safter resolve). When set, selection treats it as part of the requirement identity.
- struct ExtEntry#
One bundled extension entry from an easyconfig
exts_list.- name: String#
- version: String#
- struct LockPackage#
- name: String#
- version: String#
- versionsuffix: Option<String>#
- easyconfig_path: String#
- struct Policy#
-
- roots: Vec<String>#
- root_priority: Option<Vec<String>>#
Declared priority order over application roots for multi-root lexicographic newest selection. When omitted or empty, defaults to
Self::rootslist order. Explicit priority is independent of reorderingrootsin the policy JSON.
- forbid: Vec<String>#
- objective: String#
- require_upgrade: Vec<RequireUpgrade>#
Packages that must be strictly newer than baseline (when
relative_to_baselineis true). Accepts a single object or an array in JSON for backward compatibility.
Implementations
- struct RequireUpgrade#
- name: String#
- relative_to_baseline: bool#
When true, the selected version of
namemust be strictly newer than the baseline lock’s version. When false, construction fails with a clear error (absolute require_upgrade is not silently ignored).
- struct StackLock#
- schema_version: u32#
- generation_label: Option<String>#
- packages: Vec<LockPackage>#
- solver: SolverMeta#
Implementations
- impl StackLock#
Functions
- fn package(&self, name: &str) -> Option<&LockPackage>#