34 lines
718 B
OCaml
34 lines
718 B
OCaml
(** Scopes *)
|
|
|
|
(** A scope is a project + a library database *)
|
|
|
|
open Stdune
|
|
|
|
type t
|
|
|
|
val root : t -> Path.t
|
|
val name : t -> Dune_project.Name.t
|
|
val project : t -> Dune_project.t
|
|
|
|
(** Return the library database associated to this scope *)
|
|
val libs : t -> Lib.DB.t
|
|
|
|
(** Scope databases *)
|
|
module DB : sig
|
|
type scope = t
|
|
|
|
type t
|
|
|
|
(** Return the new scope database as well as the public libraries
|
|
database *)
|
|
val create
|
|
: projects:Dune_project.t list
|
|
-> context:string
|
|
-> installed_libs:Lib.DB.t
|
|
-> (Path.t * Jbuild.Library.t) list
|
|
-> t * Lib.DB.t
|
|
|
|
val find_by_dir : t -> Path.t -> scope
|
|
val find_by_name : t -> Dune_project.Name.t -> scope
|
|
end with type scope := t
|