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;
}
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;
}
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;
  38. mutable project_create : bool;
}
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. 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