|
|
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Buck (infer.Integration.Buck)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.0"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> – <a href="../../index.html">infer</a> » <a href="../index.html">Integration</a> » Buck</nav><h1>Module <code>Integration.Buck</code></h1></header><dl><dt class="spec value" id="val-wrap_buck_call"><a href="#val-wrap_buck_call" class="anchor"></a><code><span class="keyword">val</span> wrap_buck_call : <span>?⁠extend_env:<span><span>(string * string)</span> list</span></span> <span>-></span> <span>label:string</span> <span>-></span> <span>string list</span> <span>-></span> <span>string list</span></code></dt><dd><p>Wrap a call to buck while (i) logging standard error to our standard error in real time; (ii) redirecting standard out to a file, the contents of which are returned; (iii) protect the child process from <code>SIGQUIT</code>.</p><p>In a call <code>wrap_buck_call ~extend_env ~label cmd</code>, <code>extend_env</code> is a list of pairs <code>(variable, value)</code> that will extend the environment of the subprocess; <code>label</code> is appended to <code>buck_</code> to make the prefix of the temporary file storing the standard output of the command, for quick identification; <code>cmd</code> is a list of strings making up the shell command to execute; the return value is the standard output of the command split on newlines.</p></dd></dl><dl><dt class="spec value" id="val-buck_config"><a href="#val-buck_config" class="anchor"></a><code><span class="keyword">val</span> buck_config : <a href="../../IBase/BuckMode/index.html#type-t">IBase.BuckMode.t</a> <span>-></span> <span>string list</span></code></dt><dt class="spec value" id="val-parse_command_and_targets"><a href="#val-parse_command_and_targets" class="anchor"></a><code><span class="keyword">val</span> parse_command_and_targets : <a href="../../IBase/BuckMode/index.html#type-t">IBase.BuckMode.t</a> <span>-></span> <span>filter_kind:<span>[< `Yes <span>| `No</span> <span>| `Auto</span> ]</span></span> <span>-></span> <span>string list</span> <span>-></span> string * <span>string list</span> * <span>string list</span></code></dt></dl><dl><dt class="spec type" id="type-flavored_arguments"><a href="#type-flavored_arguments" class="anchor"></a><code><span class="keyword">type</span> flavored_arguments</code><code> = </code><code>{</code><table class="record"><tr id="type-flavored_arguments.command" class="anchored"><td class="def field"><a href="#type-flavored_arguments.command" class="anchor"></a><code>command : string;</code></td></tr><tr id="type-flavored_arguments.rev_not_targets" class="anchored"><td class="def field"><a href="#type-flavored_arguments.rev_not_targets" class="anchor"></a><code>rev_not_targets : <span>string list</span>;</code></td></tr><tr id="type-flavored_arguments.targets" class="anchored"><td class="def field"><a href="#type-flavored_arguments.targets" class="anchor"></a><code>targets : <span>string list</span>;</code></td></tr></table><code>}</code></dt></dl><dl><dt class="spec value" id="val-add_flavors_to_buck_arguments"><a href="#val-add_flavors_to_buck_arguments" class="anchor"></a><code><span class="keyword">val</span> add_flavors_to_buck_arguments : <a href="../../IBase/BuckMode/index.html#type-t">IBase.BuckMode.t</a> <span>-></span> <span>filter_kind:<span>[< `Yes <span>| `No</span> <span>| `Auto</span> ]</span></span> <span>-></span> <span>extra_flavors:<span>string list</span></span> <span>-></span> <span>string list</span> <span>-></span> <a href="index.html#type-flavored_arguments">flavored_arguments</a></code></dt><dd><p>Add infer flavors to the targets in the given buck arguments, depending on the infer analyzer. For instance, in capture mode, the buck command: build //foo/bar:baz#some,flavor becomes: build //foo/bar:baz#infer-capture-all,some,flavor</p></dd></dl><dl><dt class="spec value" id="val-store_args_in_file"><a href="#val-store_args_in_file" class="anchor"></a><code><span class="keyword">val</span> store_args_in_file : <span>string list</span> <span>-></span> <span>string list</span></code></dt><dd><p>Given a list of arguments, stores them in a file if needed and returns the new command line</p></dd></dl><dl><dt class="spec value" id="val-filter_compatible"><a href="#val-filter_compatible" class="anchor"></a><code><span class="keyword">val</span> filter_compatible : <span>[> `Targets ]</span> <span>-></span> <span>string list</span> <span>-></span> <span>string list</span></code></dt><dd><p>keep only the options compatible with the given Buck subcommand</p></dd></dl><dl><dt class="spec value" id="val-clang_flavor_capture"><a href="#val-clang_flavor_capture" class="anchor"></a><code><span class="keyword">val</span> clang_flavor_capture : <span>prog:string</span> <span>-></span> <span>buck_build_cmd:<span>string list</span></span> <span>-></span> unit</code></dt><dd><p>do a buck/clang flavor capture given the prog and build command (buck args)</p></dd></dl></div></body></html> |