OpamFileHandles all OPAM file formats as record types and submodules, conversion to and from syntax
Functions to read and write OPAM configuration files in a typed way
type 'a t = private OpamTypes.filenameAssociate a type to a filename through a phantom type
type 'a typed_file = 'a tval make : OpamTypes.filename -> 'a tval filename : 'a t -> OpamTypes.filenameval to_string : 'a t -> stringval exists : 'a t -> boolmodule type IO_FILE = sig ... endAll Configuration files satisfy this signature
module Wrappers : sig ... endCommand wrappers for package scripts
module Config : sig ... endConfiguration file: $opam/config
module InitConfig : sig ... endInit config file /etc/opamrc
module Descr : sig ... endPackage descriptions: $opam/descr/
module URL : sig ... endmodule OPAM : sig ... endOPAM files
module Aliases : IO_FILE with type t = string OpamTypes.switch_mapCompiler aliases: $opam/aliases. Deprecated, used only for migration
module LegacyState : sig ... endSwitch state file as table, also used for import/export. This includes compiler and root packages information, as well as pinned packages and their target (but not their local metadata).
module SwitchSelections : sig ... endA newer format for switch state, using the opam file syntax rather than a table. This is more readable and extensible.
module SwitchExport : sig ... endAn extended version of SwitchSelections that can include full opam files as package "name" {} sections, for storing overlays
module PkgList : IO_FILE with type t = OpamTypes.package_setA simple list of packages and versions: (used for the older $opam/$switch/{installed,installed_roots}, still needed to migrate from 1.2 repository, and for reinstall)
module Environment : IO_FILE with type t = OpamTypes.env_update listCached environment updates (<switch>/environment)
module Comp : sig ... endCompiler version $opam/compilers/. Deprecated, only used to upgrade old data
module Dot_install : sig ... end.install files
module Changes : sig ... end.changes files, bound to the OpamDirTrack module
module Dot_config : sig ... end.config files
module Package_index : IO_FILE with type t = (OpamTypes.repository_name * string option) OpamTypes.package_mapAssociation between package names and repositories
module Repo_config_legacy : sig ... endRepository config: $opam/repo/$repo/config. Deprecated, for migration only
module Repos_config : IO_FILE with type t = (OpamTypes.url * OpamTypes.trust_anchors option) option OpamRepositoryName.Map.tmodule Switch_config : sig ... endmodule Pinned_legacy : sig ... endPinned package files (only used for migration from 1.2, the inclusive State module is now used instead)
module Repo : sig ... endRepository metadata
module File_attributes : IO_FILE with type t = OpamTypes.file_attribute_setmodule Stats : sig ... endmodule Syntax : sig ... endHelper module for manipulation of the raw syntax (opamfile) format. (the specific file handling modules are derived from this one)