NAME infer-run - capture source files, analyze, and report SYNOPSIS infer run [options] infer [options] -- compile command DESCRIPTION Calling "infer run [options]" is equivalent to performing the following sequence of commands: infer capture [options] infer analyze [options] OPTIONS --censor-report +string Specify a filter for issues to be censored by adding a 'censored_reason' field in the json report. Infer will not report censored issues on the console output and in bugs.txt, but tools that post-process the json report can take them into account. If multiple filters are specified, they are applied in the order in which they are specified. Each filter is applied to each issue detected, and only issues which are accepted by all filters are reported. Each filter is of the form: `::`. The first two components are OCaml Str regular expressions, with an optional `!` character prefix. If a regex has a `!` prefix, the polarity is inverted, and the filter becomes a "blacklist" instead of a "whitelist". Each filter is interpreted as an implication: an issue matches if it does not match the `issue_type_regex` or if it does match the `filename_regex`. The filenames that are tested by the regex are relative to the `--project-root` directory. The `` is a non-empty string used to explain why the issue was filtered. --debug,-g Activates: Debug mode (also sets --debug-level 2, --developer-mode, --no-filtering, --print-buckets, --print-types, --reports-include-ml-loc, --no-only-cheap-debug, --trace-error, --write-dotty, --write-html) (Conversely: --no-debug | -G) --debug-level level Debug level (sets --bo-debug level, --debug-level-analysis level, --debug-level-capture level, --debug-level-linters level): - 0: only basic debugging enabled - 1: verbose debugging enabled - 2: very verbose debugging enabled --debug-level-analysis int Debug level for the analysis. See --debug-level for accepted values. (default: 0) --debug-level-capture int Debug level for the capture. See --debug-level for accepted values. (default: 0) --debug-level-linters int Debug level for the linters. See --debug-level for accepted values. (default: 0) --fail-on-issue Activates: Exit with error code 2 if Infer found something to report (Conversely: --no-fail-on-issue) --force-delete-results-dir Activates: Do not refuse to delete the results directory if it doesn't look like an infer results directory. (Conversely: --no-force-delete-results-dir) --force-integration command Proceed as if the first argument after -- was command. Possible values: ant, buck, gradle, gradlew, java, javac, cc, clang, gcc, clang++, c++, g++, make, configure, cmake, waf, mvn, mvnw, ndk-build, xcodebuild. --help Show this manual --help-format { auto | groff | pager | plain } Show this help in the specified format. auto sets the format to plain if the environment variable TERM is "dumb" or undefined, and to pager otherwise. (default: auto) --help-full Show this manual with all internal options in the INTERNAL OPTIONS section --log-events Activates: Turn on the feature that logs events in a machine-readable format (Conversely: --no-log-events) --log-skipped Activates: Turn on the feature that logs skipped functions (one per file) in a machine-readable format (Conversely: --no-log-skipped) --pmd-xml Activates: Output issues in (PMD) XML format (Conversely: --no-pmd-xml) --print-log-identifier Activates: Print the unique identifier that is common to all logged events (Conversely: --no-print-log-identifier) --print-logs Activates: Also log messages to stdout and stderr (Conversely: --no-print-logs) --no-progress-bar,-P Deactivates: Show a progress bar (Conversely: --progress-bar | -p) --project-root,-C dir Specify the root directory of the project (default: .) --no-report Deactivates: Run the reporting phase once the analysis has completed (Conversely: --report) --report-blacklist-files-containing +string blacklist files containing the specified string for the given analyzer (see --analyzer for valid values) --report-blacklist-path-regex +path_regex blacklist the analysis of files whose relative path matches the specified OCaml-style regex (to whitelist: ---whitelist-path-regex) --report-force-relative-path Activates: Force converting an absolute path to a relative path to the root directory (Conversely: --no-report-force-relative-path) --report-hook script Specify a script to be executed after the analysis results are written. This script will be passed, --issues-json, --issues-txt, --issues-xml, --project-root, and --results-dir. (default: /lib/python/report.py) --report-suppress-errors +error_name do not report a type of errors --results-dir,-o dir Write results and internal files in the specified directory (default: ./infer-out) --skip-analysis-in-path +path_prefix_OCaml_regex Ignore files whose path matches the given prefix (can be specified multiple times) --sqlite-lock-timeout int Timeout for SQLite results database operations, in milliseconds. (default: five seconds times number of cores) --version Print version information and exit --version-json Print version information in json format and exit -- Stop argument processing, use remaining arguments as a build command BUCK COMPILATION DATABASE OPTIONS --buck-targets-blacklist +regex Skip capture of buck targets matched by the specified regular expression. BUCK FLAVORS OPTIONS --buck-blacklist +regex Skip capture of files matched by the specified regular expression (only the "flavors (C++)" Buck integration is supported, not Java). --capture-blacklist regex Skip capture of files matched by the specified OCaml regular expression (only supported by the javac integration for now). CLANG OPTIONS --compute-analytics Activates: Emit analytics as info-level issues, like component kit line count and component kit file cyclomatic complexity (Conversely: --no-compute-analytics) ENVIRONMENT INFER_ARGS, INFERCONFIG, INFER_STRICT_MODE See the ENVIRONMENT section in the manual of infer(1). FILES .inferconfig See the FILES section in the manual of infer(1). SEE ALSO infer-analyze(1), infer-capture(1), infer-report(1)