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 report.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 "block list" instead of a "allow list". 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, --print-buckets, --print-types, --reports-include-ml-loc, --no-only-cheap-debug, --trace-error, --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. --debug-level-capture int Debug level for the capture. See --debug-level for accepted values. --debug-level-linters int Debug level for the linters. See --debug-level for accepted values. --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, rebar3, 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. --help-full Show this manual with all internal options in the INTERNAL OPTIONS section --pmd-xml Activates: Output issues in (PMD) XML format in infer-out/report.xml (Conversely: --no-pmd-xml) --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 --no-report Deactivates: Run the reporting phase once the analysis has completed (Conversely: --report) --report-allow-list-path-regex +path_regex Report issues only on files whose relative path matches the specified OCaml regex (and which do not match --report-block-list-path-regex) --report-block-list-files-containing +string Do not report any issues on files containing the specified string --report-block-list-path-regex +path_regex Do not report any issues on files whose relative path matches the specified OCaml regex, even if they match the allow list specified by --report-allow-list-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-suppress-errors +error_name do not report a type of errors --results-dir,-o dir Write results and internal files in the specified directory --skip-analysis-in-path +path_prefix_OCaml_regex Ignore files whose path matches the given prefix (can be specified multiple times) --sqlite-cache-size int SQLite cache size in pages (if positive) or kB (if negative), follows formal of corresponding SQLite PRAGMA. --sqlite-lock-timeout int Timeout for SQLite results database operations, in milliseconds. --sqlite-page-size int SQLite page size in bytes, must be a power of two between 512 and 65536. --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 OPTIONS --buck-block-list +regex Skip capture of files matched by the specified regular expression. Only the clang, non-compilation-database Buck integration is supported, not Java. --buck-targets-block-list +regex Skip capture of buck targets matched by the specified regular expression. Only valid for --buck-compilation-database. JAVA OPTIONS --capture-block-list regex Skip capture of files matched by the specified OCaml regular expression (only supported by the javac integration for now). 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)