Module Jenga_lib__Action

type t

Action.t - things which a build-rule can do:

Although some actions can be run directly by the jenga process (i.e. file-save), it is always possible to obtain the equivalent Job.t, which is important when we want to externalize the action, for example, when extracting a Makefile.

include sig ... end
val sexp_of_t : t ‑> Base.Sexp.t
val proxy : default_sandbox:Jenga_lib.Db.Sandbox_kind.t ‑> t ‑> Jenga_lib.Db.Action_proxy.t
val dir : t ‑> Jenga_lib.Path.t
module Output : sig ... end
exception Shutdown
val run : t ‑> message:(unit ‑> unit) ‑> output:'a Output.t ‑> deps:Jenga_lib.Db.Proxy_map.t ‑> targets:Jenga_lib.Path.Rel.t list ‑> putenv:(string * string option) list ‑> progress:Jenga_lib.Progress.t ‑> need:string ‑> default_sandbox:Jenga_lib.Db.Sandbox_kind.t ‑> ('a, [ `command_failed of Jenga_lib.Job_summary.t | `other_error of exn | `sandbox_error of Jenga_lib.Sandbox.error ]) Core.Result.t Async.Deferred.t
val run_now : t ‑> output:'a Output.t ‑> 'a Async.Deferred.t
val to_sh_ignoring_dir : t ‑> string

returns a bash script that expects to be run from dir t

val process : dir:Jenga_lib.Path.t ‑> prog:string ‑> args:string list ‑> sandbox:Jenga_lib.Sandbox.kind option ‑> ignore_stderr:bool ‑> t
val save : ?⁠chmod_x:unit ‑> string ‑> target:Jenga_lib.Path.t ‑> t