this repo has no description
at main 101 lines 2.3 kB view raw
1(** {1 OCaml compilation unit} *) 2 3(** {2 Interface part} *) 4 5type dep = string * Digest.t 6 7type intf = { mif_hash : string; mif_path : Fpath.t; mif_deps : dep list } 8 9val pp_intf : Format.formatter -> intf -> unit 10 11(** {2 Implementation part} *) 12 13type src_info = { src_path : Fpath.t } 14 15type impl = { 16 mip_path : Fpath.t; 17 mip_src_info : src_info option; 18 mip_deps : dep list; 19} 20 21val pp_impl : Format.formatter -> impl -> unit 22 23(** {2 OCaml Compilation unit} *) 24 25type modulety = { 26 m_name : string; 27 m_intf : intf; 28 m_impl : impl option; 29 m_hidden : bool; 30} 31 32(** {1 Standalone pages units} *) 33 34type mld = { mld_path : Fpath.t; mld_rel_path : Fpath.t } 35 36type md = { md_path : Fpath.t; md_rel_path : Fpath.t } 37 38val pp_mld : Format.formatter -> mld -> unit 39 40val pp_md : Format.formatter -> md -> unit 41 42(** {1 Asset units} *) 43 44type asset = { asset_path : Fpath.t; asset_rel_path : Fpath.t } 45 46val pp_asset : Format.formatter -> asset -> unit 47 48(** {1 Packages} *) 49 50(** Compilation units are associated to libraries, while documentation are 51 associated to package *) 52 53type libty = { 54 lib_name : string; 55 dir : Fpath.t; 56 archive_name : string option; 57 lib_deps : Util.StringSet.t; 58 modules : modulety list; 59 id_override : string option; 60} 61 62module Lib : sig 63 val v : 64 libname_of_archive:string Fpath.Map.t -> 65 pkg_name:string -> 66 dir:Fpath.t -> 67 cmtidir:Fpath.t option -> 68 all_lib_deps:Util.StringSet.t Util.StringMap.t -> 69 cmi_only_libs:(Fpath.t * string) list -> 70 id_override:string option -> 71 libty list 72 73 val pp : Format.formatter -> libty -> unit 74end 75 76type t = { 77 name : string; 78 version : string; 79 libraries : libty list; 80 mlds : mld list; 81 assets : asset list; 82 selected : bool; 83 remaps : (string * string) list; 84 other_docs : md list; 85 pkg_dir : Fpath.t; 86 doc_dir : Fpath.t; 87 config : Global_config.t; 88} 89 90val pp : Format.formatter -> t -> unit 91 92val fix_missing_deps : t list -> t list 93 94val mk_mlds : Opam.doc_file list -> mld list * asset list * md list 95 96val of_libs : packages_dir:Fpath.t option -> Util.StringSet.t -> t list 97(** Turns a set of libraries into a map from package name to package *) 98 99val of_packages : packages_dir:Fpath.t option -> string list -> t list 100 101val remap_virtual : t list -> t list