package opam-state

  1. Overview
  2. Docs

Module OpamStateConfigSource

Configuration options for the state lib (record, global reference, setter, initialisation)

Sourcemodule E : sig ... end
Sourcetype t = private {
  1. root_dir : OpamFilename.Dir.t;
  2. original_root_dir : OpamFilename.Dir.t;
  3. root_from : OpamStateTypes.provenance;
  4. current_switch : OpamSwitch.t option;
  5. switch_from : OpamStateTypes.provenance;
  6. jobs : int Lazy.t;
  7. dl_jobs : int;
  8. build_test : bool;
  9. build_doc : bool;
  10. dev_setup : bool;
  11. dryrun : bool;
  12. makecmd : string Lazy.t;
  13. ignore_constraints_on : OpamTypes.name_set;
  14. unlock_base : bool;
  15. no_env_notice : bool;
  16. locked : string option;
  17. no_depexts : bool;
}
Sourcetype 'a options_fun = ?root_dir:OpamFilename.Dir.t -> ?original_root_dir:OpamFilename.Dir.t -> ?root_from:OpamStateTypes.provenance -> ?current_switch:OpamSwitch.t -> ?switch_from:OpamStateTypes.provenance -> ?jobs:int Lazy.t -> ?dl_jobs:int -> ?build_test:bool -> ?build_doc:bool -> ?dev_setup:bool -> ?dryrun:bool -> ?makecmd:string Lazy.t -> ?ignore_constraints_on:OpamTypes.name_set -> ?unlock_base:bool -> ?no_env_notice:bool -> ?locked:string option -> ?no_depexts:bool -> 'a
include OpamStd.Config.Sig with type t := t and type 'a options_fun := 'a options_fun
Sourceval set : t -> (unit -> t) options_fun

Use to update any option in a t, using the optional arguments of options_fun. E.g. set opts ?option1:1 ?option4:"x" ()

Sourceval setk : (t -> 'a) -> t -> 'a options_fun

Same as set, but passes the result to a continuation, allowing argument stacking

Sourceval r : t ref

The global reference containing the currently set library options. Access using OpamXxxConfig.(!r.field).

Sourceval update : ?noop:_ -> (unit -> unit) options_fun

Updates the currently set options in r according to the optional arguments

Sourceval init : ?noop:_ -> (unit -> unit) options_fun

Sets the options, reading the environment to get default values when unspecified

Sourceval initk : 'a -> 'a options_fun

Sets the options like init, but returns the given value (for arguments stacking)

Sourceval default : t

Default state values

Sourceval opamroot_with_provenance : ?root_dir:OpamTypes.dirname -> unit -> OpamStateTypes.provenance * OpamTypes.dirname

Get the initial opam root value (from default, env or optional argument). This allows one to get it before doing the init, which is useful to get the configuration file used to fill some options to init()

Sourceval opamroot : ?root_dir:OpamTypes.dirname -> unit -> OpamTypes.dirname

opamroot ?root_dir () = snd (opamroot_with_provenance ?root_dir ()

Loads the global configuration file, protecting against concurrent writes

Sourceval load_defaults : lock_kind:'a OpamStateTypes.lock -> OpamFilename.Dir.t -> OpamFile.Config.t option

Loads the config file from the OPAM root and updates default values for all related OpamXxxConfig modules. Doesn't read the env yet, the init functions should still be called afterwards. OpamFormatConfig should be initialised beforehand, as it may impact the config file loading.

Returns the config file that was found, if any

Sourceval get_switch : unit -> OpamTypes.switch

Returns the current switch, failing with an error message is none is set.

Sourceval get_switch_opt : unit -> OpamTypes.switch option

Returns the current switch, if any is set.

Sourceval get_current_switch_from_cwd : OpamFilename.Dir.t -> OpamTypes.switch option

The function used to locate an external switch from parents of the current directory. Takes the opam root as parameter, and rejects any external switch configured with a different root

Sourceval local_switch_exists : OpamFilename.Dir.t -> OpamTypes.switch -> bool

Checks if a local switch exists and is configurade for the given root

Resolves the switch if it is a link to a global switch in the given root (return unchanged otherwise)

Sourceval is_newer_than_self : lock_kind:'a OpamStateTypes.lock -> 'b OpamStateTypes.global_state -> bool

Given the required lock, returns true if the opam root is newer than the binary, so that it can only be loaded read-only by the current binary.

Sourceval is_newer : OpamFile.Config.t -> bool

Check config root version regarding self-defined one

Sourceval load_config_root : lock_kind:'a OpamStateTypes.lock -> ((OpamFile.Config.t OpamFile.t -> 'b) * (OpamFile.Config.t OpamFile.t -> 'b)) -> OpamTypes.dirname -> 'b
Sourcemodule Switch : sig ... end
Sourcemodule Repos : sig ... end
OCaml

Innovation. Community. Security.