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 80 81 82 83 84 85 86 87 88 89 90 91 92
|
open Import
(** Create a [Dune_pkg.Solver_env.t] by combining variables taken from the
current system and variables taken from the current context, with priority
being given to the latter. Some variables are initialized to default values
(which can be overridden by the arguments to this function):
- "with-doc" is set to "false"
- "opam-version" is set to the version of opam vendored in dune *)
val solver_env
: solver_env_from_current_system:Dune_pkg.Solver_env.t option
-> solver_env_from_context:Dune_pkg.Solver_env.t option
-> unset_solver_vars_from_context:Dune_lang.Package_variable_name.Set.t option
-> Dune_pkg.Solver_env.t
val poll_solver_env_from_current_system : unit -> Dune_pkg.Solver_env.t Fiber.t
val solver_env_from_system_and_context
: lock_dir_path:Path.Source.t
-> Dune_pkg.Solver_env.t Fiber.t
module Version_preference : sig
type t := Dune_pkg.Version_preference.t
val term : Dune_pkg.Version_preference.t option Term.t
val choose : from_arg:t option -> from_context:t option -> t
end
val unset_solver_vars_of_workspace
: Workspace.t
-> lock_dir_path:Path.Source.t
-> Dune_lang.Package_variable_name.Set.t option
val repositories_of_workspace
: Workspace.t
-> Dune_pkg.Pkg_workspace.Repository.t Dune_pkg.Pkg_workspace.Repository.Name.Map.t
val repositories_of_lock_dir
: Workspace.t
-> lock_dir_path:Path.Source.t
-> (Loc.t * Dune_pkg.Pkg_workspace.Repository.Name.t) list
val constraints_of_workspace
: Workspace.t
-> lock_dir_path:Path.Source.t
-> Dune_lang.Package_dependency.t list
val depopts_of_workspace
: Workspace.t
-> lock_dir_path:Path.Source.t
-> Package_name.t list
val get_repos
: Dune_pkg.Pkg_workspace.Repository.t Dune_pkg.Pkg_workspace.Repository.Name.Map.t
-> repositories:(Loc.t * Dune_pkg.Pkg_workspace.Repository.Name.t) list
-> Dune_pkg.Opam_repo.t list Fiber.t
val find_local_packages : Dune_pkg.Local_package.t Package_name.Map.t Memo.t
module Lock_dirs_arg : sig
(** [Lock_dirs_arg.t] is the type of lock directory arguments. This can be
created with [Lock_dirs_arg.term] and used with
[Lock_dirs_arg.lock_dirs_of_workspace]. *)
type t
(** Select all lockdirs *)
val all : t
(** [Lock_dirs_arg.term] is a command-line argument that can be used to
specify the lock directories to consider. This can then be passed to
[Lock_dirs_arg.lock_dirs_of_workspace].
There are two mutually exclusive cases:
- The user passed a list of lick directories as positional
arguments.contents
- The user passed the ["--all"] flag, in which case all lock directories
of the workspace are considered. *)
val term : t Term.t
(** [Lock_dirs_arg.lock_dirs_of_workspace t workspace] returns the list of
lock directories that should be considered for various operations.
The [workspace] argument is used to determine the list of all lock lock
directories.
A user error is raised if the list of positional arguments used when
creating [t] is not a subset of the lock directories of the workspace. *)
val lock_dirs_of_workspace : t -> Workspace.t -> Path.Source.t list
end
(** [pp_packages lock_dir] returns a list of pretty-printed packages occurring in
[lock_dir]. *)
val pp_packages : Dune_pkg.Lock_dir.Pkg.t list -> User_message.Style.t Pp.t
|