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>Driver (infer.Integration.Driver)</title><linkrel="stylesheet"href="../../../odoc.css"/><metacharset="utf-8"/><metaname="generator"content="odoc 1.5.1"/><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>» Driver</nav><h1>Module <code>Integration.Driver</code></h1></header><aside><p>entry points for top-level functionalities such as capture under various build systems, analysis, and reporting</p></aside><dl><dtclass="spec type"id="type-mode"><ahref="#type-mode"class="anchor"></a><code><spanclass="keyword">type</span> mode</code><code> = </code><tableclass="variant"><trid="type-mode.Analyze"class="anchored"><tdclass="def constructor"><ahref="#type-mode.Analyze"class="anchor"></a><code>| </code><code><spanclass="constructor">Analyze</span></code></td></tr><trid="type-mode.Ant"class="anchored"><tdclass="def constructor"><ahref="#type-mode.Ant"class="anchor"></a><code>| </code><code><spanclass="constructor">Ant</span><spanclass="keyword">of</span></code><code>{</code><tableclass="record"><trid="type-mode.prog"class="anchored"><tdclass="def field"><ahref="#type-mode.prog"class="anchor"></a><code>prog : string;</code></td></tr><trid="type-mode.args"class="anchored"><tdclass="def field"><ahref="#type-mode.args"class="anchor"></a><code>args : <span>string list</span>;</code></td></tr></table><code>}</code></td></tr><trid="type-mode.BuckClangFlavor"class="anchored"><tdclass="def constructor"><ahref="#type-mode.BuckClangFlavor"class="anchor"></a><code>| </code><code><spanclass="constructor">BuckClangFlavor</span><spanclass="keyword">of</span></code><code>{</code><tableclass="record"><trid="type-mode.build_cmd"class="anchored"><tdclass="def field"><ahref="#type-mode.build_cmd"class="anchor"></a><code>build_cmd : <span>string list</span>;</code></td></tr></table><code>}</code></td></tr><trid="type-mode.BuckCombinedGenrule"class="anchored"><tdclass="def constructor"><ahref="#type-mode.BuckCombinedGenrule"class="anchor"></a><code>| </code><code><spanclass="constructor">BuckCombinedGenrule</span><spanclass="keyword">of</span></code><code>{</code><tableclass="record"><trid="type-mode.build_cmd"class="anchored"><tdclass="def field"><ahref="#type-mode.build_cmd"class="anchor"></a><code>build_cmd : <span>string list</span>;</code></td></tr></table><code>}</code></td></tr><trid="type-mode.BuckCompilationDB"class="anchored"><tdclass="def constructor"><ahref="#type-mode.BuckCompilationDB"class="anchor"></a><code>| </code><code><spanclass="constructor">BuckCompilationDB</span><spanclass="keyword">of</span></code><code>{</code><tableclass="record"><trid="type-mode.deps"class="anchored"><tdclass="def field"><ahref="#type-mode.deps"class="anchor"></a><code>deps : <ahref="../../IBase/BuckMode/index.html#type-clang_compilation_db_deps">IBase.BuckMode.clang_compilation_db_deps</a>;</code></td></tr><trid="type-mode.prog"class="anchored"><tdclass="def field"><ahref="#type-mode.prog"class="anchor"></a><code>prog : string;</code></td></tr><trid="type-mode.args"class="anchored"><tdclass="def field"><ahref="#type-mode.args"class="anchor"></a><code>args : <span>string list</span>;</code></td></tr></table><code>}</code></td></tr><trid="type-mode.BuckGenrule"class="anchored"><tdclass="def constructor"><ahref="#type-mode.BuckGenrule"class="anchor"></a><code>| </code><code><spanclass="constructor">BuckGenrule</span><spanclass="keyword">of</span></code><code>{</code><tableclass="record"><trid="type-mode.prog"class="anchored"><tdclass="def field"><ahref="#type-mode.prog"class="anchor"></a><code>prog : string;</code></td></tr></table><code>}</code></td></tr><trid="type-mode.BuckGenruleMaster"class="anchored"><tdclass="def constructor"><ahref="#type-mode.BuckGenruleMaster"class="anchor"></a><code>| </code><code><spanclass="constructor">BuckGenruleMaster</span><spanclass="keyword">of</span></code><code>{</code><tableclass="record"><trid="type-mode.build_cmd"class="anchored"><tdclass="def field"><ahref="#type-mode.build_cmd"class="anchor"></a><code>build_cmd : <span>string list</span>;</code></td></tr></table><code>}</code></td></tr><trid="type-mode.BuckJavaFlavor"class="anchored"><tdclass="def constructor"><ahref="#type-mode.BuckJavaFlavor"class="anchor"></a><code>| </code><code><spanclass="constructor">BuckJavaFlavor</span><spanclass="keyword">of</span></code><code>{</code><tableclass="record"><trid="type-mode.build_cmd"class="anchored"><tdclass="def field"><ahref="#type-mode.build_cmd"class="anchor"></a><code>build_cmd : <span>string list</span>;</code></td></tr></table><code>}</code></td></tr><trid="type-mode.Clang"class="anchored"><tdclass="def constructor"><ahref="#type-mode.Clang"class="anchor"></a><code>| </code><code><spanclass="constructor">Clang</span><spanclass="keyword">of</span></code><code>{</code><tableclass="record"><trid="type-mode.compiler"class="anchored"><tdclass="def field"><ahref="#type-mode.compiler"class="anchor"></a><code>compiler : <ahref="../Clang/index.html#type-compiler">Clang.compiler</a>;</code></td></tr><trid="type-mode.prog"class="anchored"><tdclass="def field"><ahref="#type-mode.prog"class="anchor"></a><code>prog : string;</code></td></tr><trid="type-mode.args"class="anchored"><tdclass="def field"><ahref="#type-mode.args"class="anchor"></a><code>args : <span>string list</span>;</code></td></tr></table><code>}</code></td></tr><trid="type-mode.ClangCompilationDB"class="anchored"><tdclass="def constructor"><ahref="#type-mode.ClangCompilationDB"class="anchor"></a><code>| </code><code><spanclass="constructor">ClangCompilationDB</span><spanclass="keyword">of</span></code><code>{</code><tableclass="record"><trid="type-mode.db_files"class="anchored"><tdclass="def field"><ahref="#type-mode.db_files"class="anchor"></a><code>db_files : <span><span>[ <span>`Escaped of string</span><span><span>| `Raw</span> of string</span> ]</span> list</span>;</code></td></tr></table><code>}</code></td></tr><trid="type-mode.Gradle"class="anchored"><tdclass="def constructor"><ahref="#type-mode.Gradle"class="anchor"></a><code>| </code><code><spanclass="constructor">Gradle</span><spanclass="keyword">of</span></code><code>{</code><tableclass="record"><trid="type-mode.prog"class="anchored"><tdclass="def field"><ahref="#type-mode.prog"class="anchor"></a><code>prog : string;</code></td></tr><trid="type-mode.args"class="anchored"><tdclass="def field"><ahref="#type-mode.args"class="anchor"></a><code>args : <span>string list</span>;</code></td></tr></table><code>}</code></td></tr><trid="type-mode.Javac"class="anchored"><tdclass="def constructor"><ahref="#type-mode.Javac"class="anchor"></a><code>| </code><code><spanclass="constructor">Javac</span><spanclass="keyword">of</span></code><code>{</code><tableclass="record"><trid="type-mode.compiler"class="anchored"><tdclass="def field"><ahref="#type-mode.compiler"class="anchor"></a><code>compiler : <ahref="../Javac/index.html#type-compiler">Javac.compiler</a>;</code></td></tr><trid="type-mode.prog"class="anchored"><tdclass="def field"><ahref="#type-mode.prog"class="anchor"></a><code>prog : string;</code></td></tr><trid="type-mode.args"class="anchored"><tdclass="def field"><ahref="#type-mode.args"class="anchor"></a><code>args : <span>string list</span>;</code></td></tr></table><code>}</code></td></tr><trid="type-mode.Maven"class="anchored"><tdclass="def constructor"><ahref="#type-mode.Maven"class="anchor"></a><code>| </code><code><spanclass="constructor">Maven</span><spanclass="keyword">of</span></code><code>{</code><tableclass="record"><trid="type-mode.prog"class="anchored"><tdclass="def field"><ahref="#type-mode.prog"class="anchor"></a><code>prog : string;</code></td></tr><trid="type-mode.args"class="anchored"><tdclass="def field"><ahref="#type-mode.args"class="anchor"></a><code>args : <span>string list</span>;</code></td></tr></table><code>}</code></td></tr><trid="type-mode.NdkBuild"class="anchored"><tdclass="def constructor"><ahref="#type-mode.NdkBuild"class="anchor"></a><code>| </code><code><spanclass="constructor">NdkBuild</span><spanclass="keyword">of</span></code><code>{</code><tableclass="record"><trid="type-mode.build_cmd"class="anchored"><tdclass="def field"><ahref="#type-mode.build_cmd"class="anchor"></a><code>build_cmd : <span>string list</span>;</code></td></tr></table><code>}</code></td></tr><trid="type-mode.XcodeBuild"class="anchored"><tdclass="def constructor"><ahref="#type-mode.XcodeBuild"class="anchor"></a><code>| </code><code><spanclass="constructor">XcodeBuild</span><spanclass="keyword">of</span></code><code>{</code><tableclass="record"><trid="type-mode.prog"class="anchored"><tdclass="def field"><ahref="#type-mode.prog"class="anchor"></a><code>prog : string;</code></td></tr><trid="type-mode.args"class="anchored"><tdclass="def field"><ahref="#type-mode.args"class="anchor"></a><code>args : <span>string list</span>;</code></td></tr></table><code>}</code></td></tr><trid="type-mode.XcodeXcpretty"class="anchored"><tdclass="def constructor"><ahref="#type-mode.XcodeXcpretty"class="anchor"></a><code>| </code><code><spanclass="constructor">XcodeXcpretty</span><spanclass="keyword">of</span></code><code>{</code><tableclass="record"><trid="type-mode.prog"class="anchored"><tdclass="def field"><ahref="#type-mode.prog"class="anchor"></a><code>prog : string;</code></td></tr><trid="type-mode.args"class="anchored"><tdclass="def field"><ahref="#type-mode.args"class="anchor"></a><code>args : <span>string list</span>;</code></td></tr></table><code>}</code></td></tr></table></dt><dd><p>based on the build_system and options passed to infer, we run in different driver modes</p></dd></dl><dl><dtclass="spec value"id="val-is_analyze_mode"><ahref="#val-is_analyze_mode"class="anchor"></a><code><spanclass="keyword">val</span> is_analyze_mode : <ahref="index.html#type-mode">mode</a><span>-></span> bool</code></dt><dtclass="spec value"id="val-mode_from_command_line"><ahref="#val-mode_from_command_line"class="anchor"></a><code><spanclass="keyword">val</span> mode_from_command_line : <span><ahref="index.html#type-mode">mode</a><ahref="../../IStdlib/index.html#module-IStd">IStdlib.IStd</a>.Lazy.t</span></code></dt><dd><p>driver mode computed from the command-line arguments and settings in Config</p></dd></dl><dl><dtclass="spec value"id="val-run_prologue"><ahref="#val-run_prologue"class="anchor"></a><code><spanclass="keyword">val</span> run_prologue : <ahref="index.html#type-mode">mode</a><span>-></span> unit</code></dt><dd><p>prepare the environment for running the given mode</p></dd></dl><dl><dtclass="spec value"id="val-capture"><ahref="#val-capture"class="anchor"></a><code><spanclass="keyword">val</span> capture : <span>changed_files:<span><ahref="../../IBase__SourceFile/index.html#module-Set">IBase.SourceFile.Set</a>.t option</span></span><span>-></span><ahref="index.html#type-mode">mode</a><span>-></span> unit</code></dt><dd><p>run the capture for the given mode</p></dd></dl><dl><dtclass="spec value"id="val-analyze_and_report"><ahref="#val-analyze_and_report"class="anchor"></a><code><spanclass="keyword">val</span> analyze_and_report : <span>?⁠suppress_console_report:bool</span><span>-></span><span>changed_files:<span><ahref="../../IBase__SourceFile/index.html#module-Set">IBase.SourceFile.Set</a>.t option</span></span><span>-></span><ahref="index.html#type-mode">mode</a><span>-></span> unit</code></dt><dd><p>run the analysis for the given mode</p></dd></dl><dl><dtclass="spec value"id="val-run_epilogue"><ahref="#val-run_epilogue"class="anchor"></a><code><spanclass="keyword">val</span> run_epilogue : unit <span>-></span> unit</code></dt><dd><p>cleanup infer-out/ for Buck, generate stats, and generally post-process the results of a run</p></dd></dl><dl><dtclass="spec value"id="val-read_config_changed_files"><ahref="#val-read_config_changed_files"class="anchor"></a><code><spanclass="keyword">val</span> read_config_changed_files : unit <span>-></span><span><ahref="../../IBase__SourceFile/index.html#module-Set">IBase.SourceFile.Set</a>.t option</span></code></dt><dd><p>return the list of changed files as read from Config.changed_files_index and passed to SourceFile.changed_sources_from_changed_files</p></dd></dl></div></body></html>