|
|
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Driver (infer.Integration.Driver)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.1"/><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> » 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><dt class="spec type" id="type-mode"><a href="#type-mode" class="anchor"></a><code><span class="keyword">type</span> mode</code><code> = </code><table class="variant"><tr id="type-mode.Analyze" class="anchored"><td class="def constructor"><a href="#type-mode.Analyze" class="anchor"></a><code>| </code><code><span class="constructor">Analyze</span></code></td></tr><tr id="type-mode.Ant" class="anchored"><td class="def constructor"><a href="#type-mode.Ant" class="anchor"></a><code>| </code><code><span class="constructor">Ant</span> <span class="keyword">of</span> </code><code>{</code><table class="record"><tr id="type-mode.prog" class="anchored"><td class="def field"><a href="#type-mode.prog" class="anchor"></a><code>prog : string;</code></td></tr><tr id="type-mode.args" class="anchored"><td class="def field"><a href="#type-mode.args" class="anchor"></a><code>args : <span>string list</span>;</code></td></tr></table><code>}</code></td></tr><tr id="type-mode.BuckClangFlavor" class="anchored"><td class="def constructor"><a href="#type-mode.BuckClangFlavor" class="anchor"></a><code>| </code><code><span class="constructor">BuckClangFlavor</span> <span class="keyword">of</span> </code><code>{</code><table class="record"><tr id="type-mode.build_cmd" class="anchored"><td class="def field"><a href="#type-mode.build_cmd" class="anchor"></a><code>build_cmd : <span>string list</span>;</code></td></tr></table><code>}</code></td></tr><tr id="type-mode.BuckCombinedGenrule" class="anchored"><td class="def constructor"><a href="#type-mode.BuckCombinedGenrule" class="anchor"></a><code>| </code><code><span class="constructor">BuckCombinedGenrule</span> <span class="keyword">of</span> </code><code>{</code><table class="record"><tr id="type-mode.build_cmd" class="anchored"><td class="def field"><a href="#type-mode.build_cmd" class="anchor"></a><code>build_cmd : <span>string list</span>;</code></td></tr></table><code>}</code></td></tr><tr id="type-mode.BuckCompilationDB" class="anchored"><td class="def constructor"><a href="#type-mode.BuckCompilationDB" class="anchor"></a><code>| </code><code><span class="constructor">BuckCompilationDB</span> <span class="keyword">of</span> </code><code>{</code><table class="record"><tr id="type-mode.deps" class="anchored"><td class="def field"><a href="#type-mode.deps" class="anchor"></a><code>deps : <a href="../../IBase/BuckMode/index.html#type-clang_compilation_db_deps">IBase.BuckMode.clang_compilation_db_deps</a>;</code></td></tr><tr id="type-mode.prog" class="anchored"><td class="def field"><a href="#type-mode.prog" class="anchor"></a><code>prog : string;</code></td></tr><tr id="type-mode.args" class="anchored"><td class="def field"><a href="#type-mode.args" class="anchor"></a><code>args : <span>string list</span>;</code></td></tr></table><code>}</code></td></tr><tr id="type-mode.BuckGenrule" class="anchored"><td class="def constructor"><a href="#type-mode.BuckGenrule" class="anchor"></a><code>| </code><code><span class="constructor">BuckGenrule</span> <span class="keyword">of</span> </code><code>{</code><table class="record"><tr id="type-mode.prog" class="anchored"><td class="def field"><a href="#type-mode.prog" class="anchor"></a><code>prog : string;</code></td></tr></table><code>}</code></td></tr><tr id="type-mode.BuckGenruleMaster" class="anchored"><td class="def constructor"><a href="#type-mode.BuckGenruleMaster" class="anchor"></a><code>| </code><code><span class="constructor">BuckGenruleMaster</span> <span class="keyword">of</span> </code><code>{</code><table class="record"><tr id="type-mode.build_cmd" class="anchored"><td class="def field"><a href="#type-mode.build_cmd" class="anchor"></a><code>build_cmd : <span>string list</span>;</code></td></tr></table><code>}</code></td></tr><tr id="type-mode.BuckJavaFlavor" class="anchored"><td class="def constructor"><a href="#type-mode.BuckJavaFlavor" class="anchor"></a><code>| </code><code><span class="constructor">BuckJavaFlavor</span> <span class="keyword">of</span> </code><code>{</code><table class="record"><tr id="type-mode.build_cmd" class="anchored"><td class="def field"><a href="#type-mode.build_cmd" class="anchor"></a><code>build_cmd : <span>string list</span>;</code></td></tr></table><code>}</code></td></tr><tr id="type-mode.Clang" class="anchored"><td class="def constructor"><a href="#type-mode.Clang" class="anchor"></a><code>| </code><code><span class="constructor">Clang</span> <span class="keyword">of</span> </code><code>{</code><table class="record"><tr id="type-mode.compiler" class="anchored"><td class="def field"><a href="#type-mode.compiler" class="anchor"></a><code>compiler : <a href="../Clang/index.html#type-compiler">Clang.compiler</a>;</code></td></tr><tr id="type-mode.prog" class="anchored"><td class="def field"><a href="#type-mode.prog" class="anchor"></a><code>prog : string;</code></td></tr><tr id="type-mode.args" class="anchored"><td class="def field"><a href="#type-mode.args" class="anchor"></a><code>args : <span>string list</span>;</code></td></tr></table><code>}</code></td></tr><tr id="type-mode.ClangCompilationDB" class="anchored"><td class="def constructor"><a href="#type-mode.ClangCompilationDB" class="anchor"></a><code>| </code><code><span class="constructor">ClangCompilationDB</span> <span class="keyword">of</span> </code><code>{</code><table class="record"><tr id="type-mode.db_files" class="anchored"><td class="def field"><a href="#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><tr id="type-mode.Gradle" class="anchored"><td class="def constructor"><a href="#type-mode.Gradle" class="anchor"></a><code>| </code><code><span class="constructor">Gradle</span> <span class="keyword">of</span> </code><code>{</code><table class="record"><tr id="type-mode.prog" class="anchored"><td class="def field"><a href="#type-mode.prog" class="anchor"></a><code>prog : string;</code></td></tr><tr id="type-mode.args" class="anchored"><td class="def field"><a href="#type-mode.args" class="anchor"></a><code>args : <span>string list</span>;</code></td></tr></table><code>}</code></td></tr><tr id="type-mode.Javac" class="anchored"><td class="def constructor"><a href="#type-mode.Javac" class="anchor"></a><code>| </code><code><span class="constructor">Javac</span> <span class="keyword">of</span> </code><code>{</code><table class="record"><tr id="type-mode.compiler" class="anchored"><td class="def field"><a href="#type-mode.compiler" class="anchor"></a><code>compiler : <a href="../Javac/index.html#type-compiler">Javac.compiler</a>;</code></td></tr><tr id="type-mode.prog" class="anchored"><td class="def field"><a href="#type-mode.prog" class="anchor"></a><code>prog : string;</code></td></tr><tr id="type-mode.args" class="anchored"><td class="def field"><a href="#type-mode.args" class="anchor"></a><code>args : <span>string list</span>;</code></td></tr></table><code>}</code></td></tr><tr id="type-mode.Maven" class="anchored"><td class="def constructor"><a href="#type-mode.Maven" class="anchor"></a><code>| </code><code><span class="constructor">Maven</span> <span class="keyword">of</span> </code><code>{</code><table class="record"><tr id="type-mode.prog" class="anchored"><td class="def field"><a href="#type-mode.prog" class="anchor"></a><code>prog : string;</code></td></tr><tr id="type-mode.args" class="anchored"><td class="def field"><a href="#type-mode.args" class="anchor"></a><code>args : <span>string list</span>;</code></td></tr></table><code>}</code></td></tr><tr id="type-mode.NdkBuild" class="anchored"><td class="def constructor"><a href="#type-mode.NdkBuild" class="anchor"></a><code>| </code><code><span class="constructor">NdkBuild</span> <span class="keyword">of</span> </code><code>{</code><table class="record"><tr id="type-mode.build_cmd" class="anchored"><td class="def field"><a href="#type-mode.build_cmd" class="anchor"></a><code>build_cmd : <span>string list</span>;</code></td></tr></table><code>}</code></td></tr><tr id="type-mode.XcodeBuild" class="anchored"><td class="def constructor"><a href="#type-mode.XcodeBuild" class="anchor"></a><code>| </code><code><span class="constructor">XcodeBuild</span> <span class="keyword">of</span> </code><code>{</code><table class="record"><tr id="type-mode.prog" class="anchored"><td class="def field"><a href="#type-mode.prog" class="anchor"></a><code>prog : string;</code></td></tr><tr id="type-mode.args" class="anchored"><td class="def field"><a href="#type-mode.args" class="anchor"></a><code>args : <span>string list</span>;</code></td></tr></table><code>}</code></td></tr><tr id="type-mode.XcodeXcpretty" class="anchored"><td class="def constructor"><a href="#type-mode.XcodeXcpretty" class="anchor"></a><code>| </code><code><span class="constructor">XcodeXcpretty</span> <span class="keyword">of</span> </code><code>{</code><table class="record"><tr id="type-mode.prog" class="anchored"><td class="def field"><a href="#type-mode.prog" class="anchor"></a><code>prog : string;</code></td></tr><tr id="type-mode.args" class="anchored"><td class="def field"><a href="#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><dt class="spec value" id="val-is_analyze_mode"><a href="#val-is_analyze_mode" class="anchor"></a><code><span class="keyword">val</span> is_analyze_mode : <a href="index.html#type-mode">mode</a> <span>-></span> bool</code></dt><dt class="spec value" id="val-mode_from_command_line"><a href="#val-mode_from_command_line" class="anchor"></a><code><span class="keyword">val</span> mode_from_command_line : <span><a href="index.html#type-mode">mode</a> <a href="../../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><dt class="spec value" id="val-run_prologue"><a href="#val-run_prologue" class="anchor"></a><code><span class="keyword">val</span> run_prologue : <a href="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><dt class="spec value" id="val-capture"><a href="#val-capture" class="anchor"></a><code><span class="keyword">val</span> capture : <span>changed_files:<span><a href="../../IBase__SourceFile/index.html#module-Set">IBase.SourceFile.Set</a>.t option</span></span> <span>-></span> <a href="index.html#type-mode">mode</a> <span>-></span> unit</code></dt><dd><p>run the capture for the given mode</p></dd></dl><dl><dt class="spec value" id="val-analyze_and_report"><a href="#val-analyze_and_report" class="anchor"></a><code><span class="keyword">val</span> analyze_and_report : <span>?⁠suppress_console_report:bool</span> <span>-></span> <span>changed_files:<span><a href="../../IBase__SourceFile/index.html#module-Set">IBase.SourceFile.Set</a>.t option</span></span> <span>-></span> <a href="index.html#type-mode">mode</a> <span>-></span> unit</code></dt><dd><p>run the analysis for the given mode</p></dd></dl><dl><dt class="spec value" id="val-run_epilogue"><a href="#val-run_epilogue" class="anchor"></a><code><span class="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><dt class="spec value" id="val-read_config_changed_files"><a href="#val-read_config_changed_files" class="anchor"></a><code><span class="keyword">val</span> read_config_changed_files : unit <span>-></span> <span><a href="../../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> |