Module Solver.Make

Parameters

module C : S.CONTEXT

Signature

module Input : Zeroinstall_solver.S.SOLVER_INPUT with type rejection = C.rejection
module Solver : sig ... end
include S.SOLVER with type t = C.t and type selections = Solver.Output.t
type t = C.t
type selections = Solver.Output.t
type diagnostics
val solve : t -> OpamPackage.Name.t list -> (selections, diagnostics) Stdlib.result

solve t package_names finds a compatible set of package versions that includes all packages in package_names and their required dependencies.

val packages_of_result : selections -> OpamPackage.t list
val diagnostics : ?verbose:bool -> diagnostics -> string

diagnostics d is a message explaining why d failed, generated by performing another solve which doesn't abort on failure.

module Diagnostics : sig ... end
val version : Input.impl -> OpamPackage.t option
val package_name : Input.Role.t -> OpamPackage.Name.t option
val formula : Input.restriction -> [ `Ensure | `Prevent ] * OpamFormula.version_formula
val diagnostics_rolemap : diagnostics -> Diagnostics.t