Module Dune_describe.Item

type item =
  1. | Library of library
  2. | Root of string
  3. | Build_context of string
  4. | Executables of executable
and library = {
  1. name : string;
  2. uid : uid;
  3. requires : uid list;
  4. local : bool;
  5. source_dir : string;
  6. modules : module_ list;
  7. include_dirs : string list;
}
and uid = string
and module_ = {
  1. name : string;
  2. impl : string option;
  3. intf : string option;
  4. cmt : string option;
  5. cmti : string option;
}
and executable = {
  1. names : string list;
  2. requires : uid list;
  3. modules : module_ list;
  4. include_dirs : string list;
}
val item_of_sexp : Sexplib0.Sexp.t -> item
val library_of_sexp : Sexplib0.Sexp.t -> library
val uid_of_sexp : Sexplib0.Sexp.t -> uid
val module__of_sexp : Sexplib0.Sexp.t -> module_
val executable_of_sexp : Sexplib0.Sexp.t -> executable
val sexp_of_item : item -> Sexplib0.Sexp.t
val sexp_of_library : library -> Sexplib0.Sexp.t
val sexp_of_uid : uid -> Sexplib0.Sexp.t
val sexp_of_module_ : module_ -> Sexplib0.Sexp.t
val sexp_of_executable : executable -> Sexplib0.Sexp.t
val library_of_jsonaf : Ppx_jsonaf_conv_lib.Jsonaf_kernel.t -> library
val uid_of_jsonaf : Jsonaf_kernel__.Type.t -> uid
val module__of_jsonaf : Jsonaf_kernel__.Type.t -> module_
val executable_of_jsonaf : Ppx_jsonaf_conv_lib.Jsonaf_kernel.t -> executable
val jsonaf_of_library : library -> Ppx_jsonaf_conv_lib.Jsonaf_kernel.t
val jsonaf_of_uid : uid -> Jsonaf_kernel__.Type.t
val jsonaf_of_module_ : module_ -> Jsonaf_kernel__.Type.t
val jsonaf_of_executable : executable -> Ppx_jsonaf_conv_lib.Jsonaf_kernel.t
type project_info = {
  1. libraries : library Core.String.Map.t;
  2. local_libraries : uid list;
  3. external_libraries : uid list;
  4. root : string;
  5. build_context : string;
  6. executables : executable list;
}
val extract_project_info : item list -> project_info