Module Manifest

module Manifest: sig .. end
Support for manifest files.

type version = 
| Version_1_0 (*Version 1.0.*)
The type representing the various version of the file format.
type creator = 
| Barista_creator (*Used to indicate that Barista created the manifest.*)
| Custom_creator of string * string (*Used to indicate a custom creator (through name, and version).*)
The type representing manifest creator.
type required_extension = {
   rext_short_name :string; (*Extension short name (e. g. "java3d".*)
   rext_full_name :string; (*Extension full name (e. g. "javax.3d".*)
   rext_spec_vendor :string; (*Specification vendor (e. g. "Company name".*)
   rext_spec_version :string; (*Specification version (e. g. "1.0".*)
   rext_impl_vendor_id :string; (*Implementation vendor identifier (e. g. "com.company".*)
   rext_impl_vendor :string; (*Implementation vendor (e. g. "Company name".*)
   rext_impl_version :string; (*Implementation version (e. g. "1.0".*)
   rext_impl_url :string; (*Implementation URL (e. g. "http://company.com/impl".*)
}
The type of required extensions.
type provided_extension = {
   pext_name :string; (*Extension name, that is identifier.*)
   pext_impl_title :string; (*Implementation title (e. g. "Java 3D").*)
   pext_impl_version :string; (*Implementation version (e. g. "1.0".*)
   pext_impl_vendor :string; (*Implementation vendor (e. g. "Company name".*)
   pext_impl_vendor_id :string; (*Implementation vendor identifier (e. g. "com.company".*)
   pext_spec_title :string; (*Specification title (e. g. "Java 3D").*)
   pext_spec_version :string; (*Specification version (e. g. "1.0".*)
   pext_spec_vendor :string; (*Specification vendor (e. g. "Company name".*)
}
The type of provided extensions.
type entry = {
   entry_path :string; (*Path to entry.*)
   entry_type :string option; (*MIME type of entry.*)
   entry_bean :bool option; (*Whether the entry designates a Java Bean.*)
   entry_sealed :bool; (*Whether the entry is sealed.*)
}
The type of entry-specific information.
type t = {
   version :version; (*Manifest version.*)
   creator :creator; (*Manifest creator.*)
   sealed :bool; (*Whether the archive is sealed.*)
   main_class :Name.for_class option; (*Main class name, if any (for executable archive).*)
   class_path :string list; (*Class path.*)
   extensions :required_extension list; (*List of required extensions.*)
   extension :provided_extension option; (*Extension implemented by archive, if any.*)
   entries :entry list; (*List of per-path entries.*)
}
The type representing the contents of a manifest file.
val path_in_archive : string
The path of a manifest file inside an archive.
val default : t
Default manifest, with minimal information.
val to_lines : t -> string list
Converts the passed manifest into a list of lines.
val to_string : t -> string
Converts the passed manifest into a bare string.