<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><divclass="spec module"id="module-Target"><ahref="#module-Target"class="anchor"></a><code><spanclass="keyword">module</span><ahref="Target/index.html">Target</a> : <spanclass="keyword">sig</span> ... <spanclass="keyword">end</span></code></div><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-config"><ahref="#val-config"class="anchor"></a><code><spanclass="keyword">val</span> config : <ahref="../../IBase/BuckMode/index.html#type-t">IBase.BuckMode.t</a><span>-></span><span>string list</span></code></dt><dd><p>return list of string parameters of the form <code>"--config" :: param_a :: "--config" :: param_b :: ...</code> describing the buck config flags for the given Buck mode.</p></dd></dl><dl><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>string list</span><span>-></span> string * <span>string list</span> * <span>string list</span></code></dt><dd><p>parses given buck command, using the buck configuration returned by <code>config</code> above and returns a triple <code>(buck_command, non_target_params, target_params)</code></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></div></body></html>