This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.
<!DOCTYPE html>
<htmlxmlns="http://www.w3.org/1999/xhtml"><head><title>Buck (infer.Integration.Buck)</title><linkrel="stylesheet"href="../../../odoc.css"/><metacharset="utf-8"/><metaname="generator"content="odoc 1.5.0"/><metaname="viewport"content="width=device-width,initial-scale=1.0"/><scriptsrc="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><divclass="content"><header><nav><ahref="../index.html">Up</a>–<ahref="../../index.html">infer</a>»<ahref="../index.html">Integration</a>» Buck</nav><h1>Module <code>Integration.Buck</code></h1></header><dl><dtclass="spec value"id="val-wrap_buck_call"><ahref="#val-wrap_buck_call"class="anchor"></a><code><spanclass="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><dtclass="spec value"id="val-buck_config"><ahref="#val-buck_config"class="anchor"></a><code><spanclass="keyword">val</span> buck_config : <ahref="../../IBase/BuckMode/index.html#type-t">IBase.BuckMode.t</a><span>-></span><span>string list</span></code></dt><dtclass="spec value"id="val-parse_command_and_targets"><ahref="#val-parse_command_and_targets"class="anchor"></a><code><spanclass="keyword">val</span> parse_command_and_targets : <ahref="../../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><dtclass="spec type"id="type-flavored_arguments"><ahref="#type-flavored_arguments"class="anchor"></a><code><spanclass="keyword">type</span> flavored_arguments</code><code> = </code><code>{</code><tableclass="record"><trid="type-flavored_arguments.command"class="anchored"><tdclass="def field"><ahref="#type-flavored_arguments.command"class="anchor"></a><code>command : string;</code></td></tr><trid="type-flavored_arguments.rev_not_targets"class="anchored"><tdclass="def field"><ahref="#type-flavored_arguments.rev_not_targets"class="anchor"></a><code>rev_not_targets : <span>string list</span>;</code></td></tr><trid="type-flavored_arguments.targets"class="anchored"><tdclass="def field"><ahref="#type-flavored_arguments.targets"class="anchor"></a><code>targets : <span>string list</span>;</code></td></tr></table><code>}</code></dt></dl><dl><dtclass="spec value"id="val-add_flavors_to_buck_arguments"><ahref="#val-add_flavors_to_buck_arguments"class="anchor"></a><code><spanclass="keyword">val</span> add_flavors_to_buck_arguments : <ahref="../../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><ahref="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><dtclass="spec value"id="val-store_args_in_file"><ahref="#val-store_args_in_file"class="anchor"></a><code><spanclass="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><dtclass="spec value"id="val-filter_compatible"><ahref="#val-filter_compatible"class="anchor"></a><code><spanclass="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><dtclass="spec value"id="val-clang_flavor_capture"><ahref="#val-clang_flavor_capture"class="anchor"></a><code><spanclass="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>