module Task:sig..end
A task is a high-level description of user intents. It allows to express things like:
"I want to compiler the package X to all supported host configurations and all OCaml compiler versions."
Tasks are later translated into more specific jobs
by workers, using the OPAM solver. These jobs
are then processed by other workers to generate
build objects. The user can then access the jobs
outputs and results, and the genarated objects.
typeid =[ `Task ] Id.t
Task.create arguments (after normalisation) and calling Id.digest
on the result.type t
typerepo =string * Uri.t
val pp_repo : repo Fmt.tpp_repository formats a repository.typepin =string * Uri.t option
val pp_pin : pin Fmt.tpp_pin formats a pin package.val id : t -> idid t is t's deterministic identifier. Is it obtaining by
hashing a stable representation of t's components.val packages : t -> Package.t listpackages t's is the list of packages that t wants to
install.val create : ?repos:repo list ->
?pins:pin list ->
?switches:Switch.t list -> ?hosts:Host.t list -> Package.t list -> tcreate pkgs is the task of building the packages pkgs on all
possible compiler switches and on all possible host
configurations. This task can somehow be attenuated by specifying
some optional arguments:
repos is the list of (remote) repositories the the workers
should use.pins is the list of pinned packages that the worker should
use.switches restricts the list of compiler switches to test to
only the ones appearing in the list. An empty list means all
the supported compiler switches.hosts restricts the list of host configurations to test to only
the ones appearing in the list. An empty list means all the
supported hosts.val equal : t -> t -> boolequal is the task equality.val compare : t -> t -> intcompare compares tasks.val pp : t Fmt.tpp formats tasks.val json : t Jsont.codecjson is the JSON codec for tasks.typestatus =[ `Cancelled | `Failure | `New | `Pending | `Success ]
val pp_status : status Fmt.t
val json_status : status Jsont.codecjson_status is the JSON coded for task status.