mod resolvo_provider#
- module resolvo_provider#
EasyBuild candidate graph as a resolvo DependencyProvider (CDCL SAT).
Feasibility is decided by resolvo. Multi-root optimization (priority-lex newest jointly consistent stack) lives in
solve_with_resolvo, which constrains and re-solves rather than returning the first SAT assignment.Functions
- fn solve_with_resolvo(candidates: &[Candidate], policy: &Policy, baseline: Option<&StackLock>) -> Result<Vec<Candidate>, String>#
Solve using resolvo CDCL SAT as the feasibility core, then optimize over satisfying assignments: lexicographically maximize each application root’s version in declared
Policy::effective_root_priorityorder.The outcome depends only on the policy (including priority) and the candidate set — not on incidental list order of non-priority fields or HashMap iteration order inside the provider.
- fn solve_with_stack_policy(candidates: &[Candidate], policy: &Policy, baseline: Option<&StackLock>, stack_policy: &StackPolicy) -> Result<StackPolicySolve, String>#
Structs and Unions
- struct EbProvider#
Maps (package NameId, version rank) -> candidate index.
- pool: Pool<Ranges<u32>>#
Implementations
- impl EbProvider#
Functions
- fn from_universe(candidates_in: &[Candidate], policy: &Policy, baseline: Option<&StackLock>) -> Result<Self, String>#
- fn from_universe_with_stack_policy(candidates_in: &[Candidate], policy: &Policy, baseline: Option<&StackLock>, stack_policy: Option<&StackPolicy>) -> Result<Self, String>#
- fn root_requirements(&self, roots: &[String]) -> Vec<resolvo::ConditionalRequirement>#
Traits implemented
- impl Interner for EbProvider#
- impl DependencyProvider for EbProvider#