forked from ocaml/opam
-
Notifications
You must be signed in to change notification settings - Fork 4
/
opamSolution.mli
79 lines (65 loc) · 3.03 KB
/
opamSolution.mli
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
(**************************************************************************)
(* *)
(* Copyright 2012-2013 OCamlPro *)
(* Copyright 2012 INRIA *)
(* *)
(* All rights reserved.This file is distributed under the terms of the *)
(* GNU Lesser General Public License version 3.0 with linking *)
(* exception. *)
(* *)
(* OPAM is distributed in the hope that it will be useful, but WITHOUT *)
(* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY *)
(* or FITNESS FOR A PARTICULAR PURPOSE.See the GNU General Public *)
(* License for more details. *)
(* *)
(**************************************************************************)
(** Applying solver solutions *)
open OpamTypes
(** Resolve an user request *)
val resolve:
?verbose:bool ->
OpamState.state ->
user_action ->
requested:OpamPackage.Name.Set.t ->
atom request ->
(OpamSolver.solution, string) result
(** Apply a solution returned by the solver. *)
val apply:
?force:bool ->
OpamState.state ->
user_action ->
requested:OpamPackage.Name.Set.t ->
OpamSolver.solution ->
solver_result
(** Call the solver to get a solution and then call [apply]. *)
val resolve_and_apply:
?force:bool ->
OpamState.state ->
user_action ->
requested:OpamPackage.Name.Set.t ->
atom request ->
solver_result
(** Raise an error if no solution is found or in case of error. *)
val check_solution: OpamState.state -> solver_result -> unit
(** {2 Atoms} *)
(** Return an atom with a string version constraint *)
val eq_atom: name -> version -> atom
(** Return a simple atom, with no version constrain, from a package*)
val atom_of_package: package -> atom
(** Return a list of simple atoms (ie. with no version constraints)
from a set of packages *)
val atoms_of_packages: package_set -> atom list
(** Return a list of constrained atoms from a set of packages *)
val eq_atoms_of_packages: package_set -> atom list
(** Checks that the atoms can possibly be verified (individually) in a package
set. Displays an error and exits otherwise. [permissive] just changes the
error message. *)
val check_availability: ?permissive: bool ->
OpamState.state -> OpamPackage.Set.t -> atom list -> unit
(** Takes a "raw" list of atoms (from the user), and match it to existing
packages. Match packages with the wrong capitalisation, and raises errors on
non-existing packages, and unavailable ones unless [permissive] is set.
Exits with a message on error. *)
val sanitize_atom_list: ?permissive: bool -> OpamState.state -> atom list -> atom list
(** {2 Stats} *)
val sum: stats -> int