Module Drom_lib.Types

type kind =
  1. | Program
  2. | Library
  3. | Virtual
type version =
  1. | Lt of string
  2. | Le of string
  3. | Eq of string
  4. | Ge of string
  5. | Gt of string
  6. | Version
  7. | Semantic of int * int * int
  8. | NoVersion
type dependency = {
  1. depversions : version list;
  2. depname : string option;
  3. deptest : bool;
  4. depdoc : bool;
  5. depopt : bool;
  6. dep_pin : string option;
}
type menhir_parser = {
  1. modules : string list;
  2. tokens : string option;
  3. merge_into : string option;
  4. flags : string list option;
  5. infer : bool option;
}
type menhir_tokens = {
  1. modules : string list;
  2. flags : string list option;
}
type menhir = {
  1. version : string;
  2. parser : menhir_parser;
  3. tokens : menhir_tokens option;
}
val default_install_destination : string
val default_install_recursive : bool
type install_spec = {
  1. install_source : string;
  2. install_destination : string;
  3. install_recursive : bool;
}
val pp_install_spec : Ppx_deriving_runtime.Format.formatter -> install_spec -> Ppx_deriving_runtime.unit
val show_install_spec : install_spec -> Ppx_deriving_runtime.string
val install_spec_to_toml : install_spec -> Drom_lib.Protocol.Toml.t
val install_spec_of_toml_exn : Drom_lib.Protocol.Toml.t -> install_spec
val install_spec_of_toml : Drom_lib.Protocol.Toml.t -> (install_spec, Drom_lib.Protocol.Toml.error) Protocol_conv.Runtime.result
val install_spec_to_jinja2 : install_spec -> Drom_lib.Protocol.Jinja2.t
val install_spec_of_jinja2_exn : Drom_lib.Protocol.Jinja2.t -> install_spec
val install_spec_of_jinja2 : Drom_lib.Protocol.Jinja2.t -> (install_spec, Drom_lib.Protocol.Jinja2.error) Protocol_conv.Runtime.result
type sites_spec = {
  1. sites_spec_exec : bool;
  2. sites_spec_root : bool;
  3. sites_spec_dir : string;
  4. sites_spec_install : install_spec list;
}

Lib site specification.

val pp_sites_spec : Ppx_deriving_runtime.Format.formatter -> sites_spec -> Ppx_deriving_runtime.unit
val show_sites_spec : sites_spec -> Ppx_deriving_runtime.string
val sites_spec_to_toml : sites_spec -> Drom_lib.Protocol.Toml.t
val sites_spec_of_toml_exn : Drom_lib.Protocol.Toml.t -> sites_spec
val sites_spec_of_toml : Drom_lib.Protocol.Toml.t -> (sites_spec, Drom_lib.Protocol.Toml.error) Protocol_conv.Runtime.result
val sites_spec_to_jinja2 : sites_spec -> Drom_lib.Protocol.Jinja2.t
val sites_spec_of_jinja2_exn : Drom_lib.Protocol.Jinja2.t -> sites_spec
val sites_spec_of_jinja2 : Drom_lib.Protocol.Jinja2.t -> (sites_spec, Drom_lib.Protocol.Jinja2.error) Protocol_conv.Runtime.result

Various default values for sites.

val default_sites_name : string
val default_sites_lib : 'a list
val default_sites_bin : 'a list
val default_sites_sbin : 'a list
val default_sites_toplevel : 'a list
val default_sites_share : 'a list
val default_sites_etc : 'a list
val default_sites_stublibs : 'a list
val default_sites_doc : 'a list
val default_sites_man : 'a list
type sites = {
  1. sites_name : string;
  2. sites_lib : sites_spec list;
  3. sites_bin : sites_spec list;
  4. sites_sbin : sites_spec list;
  5. sites_toplevel : sites_spec list;
  6. sites_share : sites_spec list;
  7. sites_etc : sites_spec list;
  8. sites_stublibs : sites_spec list;
  9. sites_doc : sites_spec list;
  10. sites_man : sites_spec list;
}

Sites' specification.

val pp_sites : Ppx_deriving_runtime.Format.formatter -> sites -> Ppx_deriving_runtime.unit
val show_sites : sites -> Ppx_deriving_runtime.string
val sites_to_toml : sites -> Drom_lib.Protocol.Toml.t
val sites_of_toml_exn : Drom_lib.Protocol.Toml.t -> sites
val sites_of_toml : Drom_lib.Protocol.Toml.t -> (sites, Drom_lib.Protocol.Toml.error) Protocol_conv.Runtime.result
val sites_to_jinja2 : sites -> Drom_lib.Protocol.Jinja2.t
val sites_of_jinja2_exn : Drom_lib.Protocol.Jinja2.t -> sites
val sites_of_jinja2 : Drom_lib.Protocol.Jinja2.t -> (sites, Drom_lib.Protocol.Jinja2.error) Protocol_conv.Runtime.result
type package = {
  1. name : string;
  2. mutable dir : string;
  3. mutable project : project;
  4. mutable kind : kind;
  5. mutable p_skeleton : string option;
  6. mutable p_pack : string option;
  7. mutable p_version : string option;
  8. mutable p_authors : string list option;
  9. mutable p_synopsis : string option;
  10. mutable p_description : string option;
  11. mutable p_dependencies : (string * dependency) list;
  12. mutable p_tools : (string * dependency) list;
  13. mutable p_pack_modules : bool option;
  14. mutable p_gen_version : string option;
  15. mutable p_fields : string EzCompat.StringMap.t;
  16. mutable p_generators : EzCompat.StringSet.t option;
  17. mutable p_menhir : menhir option;
  18. mutable p_file : string option;
  19. mutable p_skip : string list option;
  20. mutable p_optional : bool option;
  21. mutable p_preprocess : string option;
  22. mutable p_sites : sites;
}
and project = {
  1. package : package;
  2. mutable packages : package list;
  3. mutable file : string option;
  4. mutable generators : EzCompat.StringSet.t;
  5. mutable menhir_version : string option;
  6. mutable skeleton : string option;
  7. project_drom_version : string;
  8. project_share_repo : string option;
  9. project_share_version : string option;
  10. edition : string;
  11. min_edition : string;
  12. github_organization : string option;
  13. homepage : string option;
  14. license : string;
  15. copyright : string option;
  16. bug_reports : string option;
  17. dev_repo : string option;
  18. doc_gen : string option;
  19. doc_api : string option;
  20. skip : string list;
  21. archive : string option;
  22. sphinx_target : string option;
  23. odoc_target : string option;
  24. ci_systems : string list;
  25. skip_dirs : string list;
  26. profiles : profile EzCompat.StringMap.t;
  27. profile : string option;
  28. version : string;
  29. authors : string list;
  30. synopsis : string;
  31. description : string;
  32. share_dirs : string list;
  33. mutable dependencies : (string * dependency) list;
  34. mutable tools : (string * dependency) list;
  35. mutable fields : string EzCompat.StringMap.t;
  36. year : int;
  37. mutable dune_version : string;
}
and profile = {
  1. flags : string EzCompat.StringMap.t;
}
type config = {
  1. config_author : string option;
  2. config_share_repo : string option;
  3. config_github_organization : string option;
  4. config_license : string option;
  5. config_opam_repo : string option;
  6. config_dev_tools : string list option;
  7. config_auto_upgrade : bool option;
  8. config_auto_opam_yes : bool option;
  9. config_git_stage : bool option;
}
type opam_kind =
  1. | Single
  2. | LibraryPart
  3. | ProgramPart
  4. | Deps
type switch_arg =
  1. | Local
  2. | Global of string
type flags = {
  1. mutable flag_file : string option;
  2. mutable flag_create : bool option;
  3. mutable flag_record : bool option;
  4. mutable flag_skips : string list;
  5. mutable flag_skip : bool option;
  6. mutable flag_subst : bool option;
  7. mutable flag_perm : int option;
  8. flag_skipper : bool list Stdlib.ref;
}
type skeleton = {
  1. skeleton_inherits : string option;
  2. skeleton_toml : string list;
  3. skeleton_files : (string * string * int) list;
  4. skeleton_flags : flags EzCompat.StringMap.t;
  5. skeleton_drom : bool;
  6. skeleton_name : string;
  7. skeleton_version : string;
}
type license = {
  1. license_key : string;
  2. license_name : string;
  3. license_header : string list;
  4. license_contents : string;
}
type share = {
  1. share_dir : string;
  2. share_version : string;
  3. share_drom_version : string;
  4. mutable share_licenses : license EzCompat.StringMap.t option;
  5. mutable share_projects : skeleton EzCompat.StringMap.t option;
  6. mutable share_packages : skeleton EzCompat.StringMap.t option;
}
type deps_status =
  1. | Deps_build
  2. | Deps_devel
type share_args = {
  1. mutable arg_share_reclone : bool;
  2. mutable arg_share_no_fetch : bool;
  3. mutable arg_share_version : string option;
  4. mutable arg_share_repo : string option;
}
type update_args = {
  1. mutable arg_upgrade : bool;
  2. mutable arg_force : bool;
  3. mutable arg_diff : bool;
  4. mutable arg_skip : (bool * string) list;
  5. mutable arg_promote_skip : bool;
  6. mutable arg_edition : string option;
  7. mutable arg_min_edition : string option;
  8. mutable arg_create : bool option;
  9. arg_share : share_args;
}