You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2 lines
5.4 KiB

This file contains ambiguous Unicode characters!

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>
<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> &#x00BB; <a href="../index.html">Integration</a> &#x00BB; 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>?&#8288;extend_env:<span><span>(string * string)</span> list</span></span> <span>&#45;&gt;</span> <span>label:string</span> <span>&#45;&gt;</span> <span>string list</span> <span>&#45;&gt;</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>&#45;&gt;</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>&#45;&gt;</span> <span>filter_kind:<span>[&lt; `Yes <span>| `No</span> <span>| `Auto</span> ]</span></span> <span>&#45;&gt;</span> <span>string list</span> <span>&#45;&gt;</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>&#45;&gt;</span> <span>filter_kind:<span>[&lt; `Yes <span>| `No</span> <span>| `Auto</span> ]</span></span> <span>&#45;&gt;</span> <span>extra_flavors:<span>string list</span></span> <span>&#45;&gt;</span> <span>string list</span> <span>&#45;&gt;</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>&#45;&gt;</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>[&gt; `Targets ]</span> <span>&#45;&gt;</span> <span>string list</span> <span>&#45;&gt;</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>&#45;&gt;</span> <span>buck_build_cmd:<span>string list</span></span> <span>&#45;&gt;</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>