6.1.2.6. Command¶
Use arbitrary custom command for analysis compilation
This rule calls a command shell with the given commands for build and clean actions.
Use this rule to call your build system with appropriate parameters to generate the desired IR file (most likely /Project/ir), or use for any other command you may need to execute during clean or build step.
Options¶
The following places define options that affect this rule: BuildSystemIntegration, Project-GlobalOptions
abort_on_error¶
abort_on_error : bool = True
build_command¶
build_command : str | None = None
capture_output¶
capture_output : bool = False
The output will be parsed according to the format configured with the options output_format, stdout_format, stderr_format.
clean_command¶
clean_command : str | None = None
cwd¶
cwd : bauhaus.analysis.config.ProjectRelativePath | None = None
environment¶
environment : dict[str, str] = {}
output_format¶
output_format : list[str] = ['generic']
The format names available here correspond to the provider
options in /Analysis/AnalysisControl/ExternalAnalysisFormats.
This option only has an effect if capture_output is true.
shell¶
shell : bauhaus.analysis.config.PlainPath | None = None
Shell executable to use for execution of build_command and clean_command.
Please note that replacing the default shell only works if the configured shell
behaves similar to the replaced default shell, i.e. on POSIX the command is passed
via -c whereas on Windows the command is passed via /c
(this is hard-coded in Python's standard library and cannot be changed).
On POSIX you could e.g. use bash or fish (instead of
the default shell /bin/sh), while on Windows usage of
powershell is possible (instead of the default shell designated by
%ComSpec% with fallback cmd.exe).
stderr_format¶
stderr_format : list[str] = []
The format names available here correspond to the provider
options in /Analysis/AnalysisControl/ExternalAnalysisFormats.
This option only has an effect if capture_output is true.
stdout_format¶
stdout_format : list[str] = []
The format names available here correspond to the provider
options in /Analysis/AnalysisControl/ExternalAnalysisFormats.
This option only has an effect if capture_output is true.