-
Notifications
You must be signed in to change notification settings - Fork 10
/
command_line.mli
45 lines (37 loc) · 2.17 KB
/
command_line.mli
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
(**************************************************************************)
(* Copyright 2014, 2015: *)
(* Sebastien Mondet <[email protected]>, *)
(* Leonid Rozenberg <[email protected]>, *)
(* Arun Ahuja <[email protected]>, *)
(* Jeff Hammerbacher <[email protected]> *)
(* *)
(* Licensed under the Apache License, Version 2.0 (the "License"); *)
(* you may not use this file except in compliance with the License. *)
(* You may obtain a copy of the License at *)
(* *)
(* http://www.apache.org/licenses/LICENSE-2.0 *)
(* *)
(* Unless required by applicable law or agreed to in writing, software *)
(* distributed under the License is distributed on an "AS IS" BASIS, *)
(* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or *)
(* implied. See the License for the specific language governing *)
(* permissions and limitations under the License. *)
(**************************************************************************)
(** Command line interface to the engine. *)
open Ketrew_pure.Internal_pervasives
open Unix_io
val run_main :
?argv:string array ->
?override_configuration:Configuration.t ->
?additional_commands: ((unit, string) Deferred_result.t Cmdliner.Term.t * Cmdliner.Term.info) list ->
unit ->
[ `Never_returns ]
(** The “main” function for the application, it will [exit n] with [n = 0] if
succeed or [n > 0] if an error occurs.
- [argv]: one can provide an array of arguments to be used instead of
{!Sys.argv}.
- [override_configuration]: providing a custom configuration will prevent
Ketrew from looking up a configuration file.
- [additional_commands]: a list of {!Cmdliner} commands to add to the
interface.
*)