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 ‑> Sexplib.Sexp.t
val proxy : default_sandbox:Db.Sandbox_kind.t ‑> t ‑> Db.Action_proxy.t
val dir : t ‑> Path.t
module Output : sig ... end
exception Shutdown
val run : t ‑> message:(unit ‑> unit) ‑> output:'a Output.t ‑> deps:Db.Proxy_map.t ‑> targets:Path.Rel.t list ‑> putenv:(string * string option) list ‑> progress:Progress.t ‑> need:string ‑> default_sandbox:Db.Sandbox_kind.t ‑> ('a, [ `command_failed of Job_summary.t | `other_error of exn | `sandbox_error of 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:Path.t ‑> prog:string ‑> args:string list ‑> sandbox:Sandbox.kind option ‑> ignore_stderr:bool ‑> t
val save : ?⁠chmod_x:unit ‑> string ‑> target:Path.t ‑> t