sig
module Host :
sig
type t = Ketrew_pure.Host.t
val parse : string -> Ketrew.EDSL.Host.t
val tmp_on_localhost : Ketrew.EDSL.Host.t
val ssh :
?add_ssh_options:string list ->
?playground:string ->
?port:int ->
?user:string -> ?name:string -> string -> Ketrew.EDSL.Host.t
val cmdliner_term :
?doc:string ->
[ `Flag of string list | `Required of int ] ->
Ketrew.EDSL.Host.t Cmdliner.Term.t
end
module Program :
sig
type t = Ketrew_pure.Program.t
val sh : string -> Ketrew.EDSL.Program.t
val shf :
('a, unit, string, Ketrew.EDSL.Program.t) Pervasives.format4 -> 'a
val exec : string list -> Ketrew.EDSL.Program.t
val ( && ) :
Ketrew.EDSL.Program.t ->
Ketrew.EDSL.Program.t -> Ketrew.EDSL.Program.t
val chain : Ketrew.EDSL.Program.t list -> Ketrew.EDSL.Program.t
end
module Condition :
sig
type t = Ketrew_pure.Target.Condition.t
val ( && ) :
Ketrew.EDSL.Condition.t ->
Ketrew.EDSL.Condition.t -> Ketrew.EDSL.Condition.t
val chain_and : Ketrew.EDSL.Condition.t list -> Ketrew.EDSL.Condition.t
val program :
?returns:int ->
?host:Ketrew.EDSL.Host.t ->
Ketrew.EDSL.Program.t -> Ketrew.EDSL.Condition.t
module Volume :
sig
type t = Ketrew_pure.Target.Volume.t
type structure = Ketrew_pure.Target.Volume.structure
val create :
host:Ketrew.EDSL.Host.t ->
root:string ->
Ketrew.EDSL.Condition.Volume.structure ->
Ketrew.EDSL.Condition.Volume.t
val file : string -> Ketrew.EDSL.Condition.Volume.structure
val dir :
string ->
Ketrew.EDSL.Condition.Volume.structure list ->
Ketrew.EDSL.Condition.Volume.structure
end
val volume_exists :
Ketrew.EDSL.Condition.Volume.t -> Ketrew.EDSL.Condition.t
val volume_size_greater_of_equal :
Ketrew.EDSL.Condition.Volume.t -> int -> Ketrew.EDSL.Condition.t
end
module Build_process : sig type t = Ketrew_pure.Target.Build_process.t end
val daemonize :
?starting_timeout:float ->
?call_script:(string -> string list) ->
?using:[ `Nohup_setsid | `Python_daemon ] ->
?host:Ketrew.EDSL.Host.t ->
?no_log_is_ok:bool ->
Ketrew.EDSL.Program.t -> Ketrew.EDSL.Build_process.t
val lsf :
?host:Ketrew.EDSL.Host.t ->
?queue:string ->
?name:string ->
?wall_limit:string ->
?processors:[ `Min of int | `Min_max of int * int ] ->
?project:string ->
?request_memory:[ `GB of int | `MB of int ] ->
?raw_options:string list ->
Ketrew.EDSL.Program.t -> Ketrew.EDSL.Build_process.t
val pbs :
?host:Ketrew.EDSL.Host.t ->
?queue:string ->
?name:string ->
?wall_limit:[ `Hours of float ] ->
?processors:int ->
?email_user:[ `Always of string | `Never ] ->
?shell:string -> Ketrew.EDSL.Program.t -> Ketrew.EDSL.Build_process.t
val yarn_application :
?host:Ketrew.EDSL.Host.t ->
?daemonize_using:[ `Nohup_setsid | `Python_daemon ] ->
?daemon_start_timeout:float ->
Ketrew.EDSL.Program.t -> Ketrew.EDSL.Build_process.t
val yarn_distributed_shell :
?host:Ketrew.EDSL.Host.t ->
?daemonize_using:[ `Nohup_setsid | `Python_daemon ] ->
?daemon_start_timeout:float ->
?hadoop_bin:string ->
?distributed_shell_shell_jar:string ->
?container_vcores:int ->
container_memory:[ `GB of int | `MB of int | `Raw of string ] ->
timeout:[ `Raw of string | `Seconds of int ] ->
application_name:string ->
Ketrew.EDSL.Program.t -> Ketrew.EDSL.Build_process.t
module Internal_representation :
sig
type t =
< activate : unit; add_recursive_tags : string list -> unit;
add_tags : string list -> unit;
depends_on : Ketrew.EDSL.Internal_representation.t list;
get_recursive_tags : string list;
id : Ketrew_pure.Internal_pervasives.Unique_id.t; name :
string;
on_failure_activate : Ketrew.EDSL.Internal_representation.t list;
on_success_activate : Ketrew.EDSL.Internal_representation.t list;
render : Ketrew_pure.Target.t >
end
type 'a product = 'a
constraint 'a = < is_done : Ketrew.EDSL.Condition.t option; .. >
type 'a workflow_node =
< product : 'a Ketrew.EDSL.product;
render : Ketrew.EDSL.Internal_representation.t >
constraint 'a = < is_done : Ketrew.EDSL.Condition.t option; .. >
type workflow_edge
val depends_on :
< is_done : Ketrew.EDSL.Condition.t option; .. >
Ketrew.EDSL.workflow_node -> Ketrew.EDSL.workflow_edge
val on_success_activate :
< is_done : Ketrew.EDSL.Condition.t option; .. >
Ketrew.EDSL.workflow_node -> Ketrew.EDSL.workflow_edge
val on_failure_activate :
< is_done : Ketrew.EDSL.Condition.t option; .. >
Ketrew.EDSL.workflow_node -> Ketrew.EDSL.workflow_edge
type ensures_option =
[ `Is_verified of Ketrew.EDSL.Condition.t | `Nothing | `Product_is_done ]
val workflow_node :
?name:string ->
?active:bool ->
?make:Ketrew.EDSL.Build_process.t ->
?ensures:Ketrew.EDSL.ensures_option ->
?metadata:[ `String of string ] ->
?equivalence:Ketrew_pure.Target.Equivalence.t ->
?tags:string list ->
?edges:Ketrew.EDSL.workflow_edge list ->
(< is_done : Ketrew.EDSL.Condition.t option; .. > as 'a)
Ketrew.EDSL.product -> 'a Ketrew.EDSL.workflow_node
type not_already_done = < is_done : Ketrew.EDSL.Condition.t option >
val without_product : Ketrew.EDSL.not_already_done
type single_file =
< exists : Ketrew_pure.Target.Condition.t; host : Ketrew.EDSL.Host.t;
is_bigger_than : int -> Ketrew_pure.Target.Condition.t;
is_done : Ketrew_pure.Target.Condition.t option; path : string >
val single_file :
?host:Ketrew.EDSL.Host.t ->
string -> Ketrew.EDSL.single_file Ketrew.EDSL.product
type list_of_files =
< is_done : Ketrew_pure.Target.Condition.t option;
paths : string list >
val list_of_files :
?host:Ketrew.EDSL.Host.t ->
string list -> Ketrew.EDSL.list_of_files Ketrew.EDSL.product
type unknown_product = < is_done : Ketrew.EDSL.Condition.t option >
val forget_product :
< is_done : Ketrew.EDSL.Condition.t option; .. >
Ketrew.EDSL.workflow_node ->
Ketrew.EDSL.unknown_product Ketrew.EDSL.workflow_node
val workflow_to_string :
?ansi_colors:bool ->
?indentation:int ->
< is_done : Ketrew.EDSL.Condition.t option; .. >
Ketrew.EDSL.workflow_node -> string
val add_tags :
?recursive:bool ->
< is_done : Ketrew.EDSL.Condition.t option; .. >
Ketrew.EDSL.workflow_node -> string list -> unit
val node_id :
< is_done : Ketrew.EDSL.Condition.t option; .. >
Ketrew.EDSL.workflow_node -> string
val node_name :
< is_done : Ketrew.EDSL.Condition.t option; .. >
Ketrew.EDSL.workflow_node -> string
class type user_artifact =
object
method exists : Ketrew_pure.Target.Condition.t
method is_bigger_than : int -> Ketrew_pure.Target.Condition.t
method path : string
end
val file : ?host:Ketrew.EDSL.Host.t -> string -> Ketrew.EDSL.user_artifact
val unit : Ketrew.EDSL.user_artifact
class type user_target =
object
method activate : unit
method add_recursive_tags : string list -> unit
method add_tags : string list -> unit
method depends_on : Ketrew.EDSL.user_target list
method get_recursive_tags : string list
method id : Ketrew_pure.Internal_pervasives.Unique_id.t
method is_active : bool
method metadata : [ `String of string ] option
method name : string
method on_failure_activate : Ketrew.EDSL.user_target list
method on_success_activate : Ketrew.EDSL.user_target list
method product : Ketrew.EDSL.user_artifact
method render : Ketrew_pure.Target.t
end
val target :
?active:bool ->
?depends_on:Ketrew.EDSL.user_target list ->
?make:Ketrew.EDSL.Build_process.t ->
?done_when:Ketrew_pure.Target.Condition.t ->
?metadata:[ `String of string ] ->
?product:Ketrew.EDSL.user_artifact ->
?equivalence:Ketrew_pure.Target.Equivalence.t ->
?on_failure_activate:Ketrew.EDSL.user_target list ->
?on_success_activate:Ketrew.EDSL.user_target list ->
?tags:string list -> string -> Ketrew.EDSL.user_target
val file_target :
?depends_on:Ketrew.EDSL.user_target list ->
?make:Ketrew.EDSL.Build_process.t ->
?metadata:[ `String of string ] ->
?name:string ->
?host:Ketrew.EDSL.Host.t ->
?equivalence:Ketrew_pure.Target.Equivalence.t ->
?on_failure_activate:Ketrew.EDSL.user_target list ->
?on_success_activate:Ketrew.EDSL.user_target list ->
?tags:string list -> string -> Ketrew.EDSL.user_target
val to_display_string :
?ansi_colors:bool ->
?indentation:int -> Ketrew.EDSL.user_target -> string
end