6.1.2.10. KeilIntegration

Use KEIL μVision project file (.uvprojx) for analysis compilation

This rule uses an KEIL μVision project file (.uvprojx or .uvproj) for the analysis compilation and corresponds to the command-line tool build_uvprojx or build_uvproj respectively.

A corresponding KeilToolchain has to be configured.

Options

The following places define options that affect this rule: BuildSystemIntegration, Project-GlobalOptions

abort_on_error

abort_on_error : bool = True

If set to true and the build step returns a non-zero exit-code, the build is aborted. Otherwise a non-zero exit-code is logged but the build continues.
 

build_tool

build_tool : BuildTool = 'build_uvprojx'

Specify the command-line tool to build the project. For KEIL ARM projects, we recommend to use build_uvprojx (even for .uvproj files), whereas for KEIL C166/C167 you should be using build_uvproj with .uvproj files.

 

capture_output

capture_output : bool = False

Sets whether the shell output of the step should be captured. Note that only the output of the build step will be captured and not the output of possible clean steps.

The output will be parsed according to the format configured with the options output_format, stdout_format, stderr_format.

 

cwd

cwd : bauhaus.analysis.config.ProjectRelativePath | None = None

Directory for execution of tool build_uvprojx or build_uvproj respectively. Defaults to /Project/directory if left unspecified.

 

environment

environment : dict[str, str] = {}

Environment for calling tool build_uvprojx or build_uvproj respectively. These entries are added to the environment and existing ones will be overwritten.

 

options

options : str | None = None

Additional command-line options to pass to tool build_uvprojx or build_uvproj respectively.

 

output_directory_prefix

output_directory_prefix : bauhaus.analysis.config.PlainPath | None = None

Append prefix directory to output directory structure (if OutputDirectory is not defined as absolute path inside the project file).

 

output_directory_suffix

output_directory_suffix : bauhaus.analysis.config.PlainPath | None = None

Append suffix directory to output directory structure.

 

output_format

output_format : list[str] = ['generic']

Name of the format(s) describing the output pattern to capture from stdout/stderr.

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.

 

stderr_format

stderr_format : list[str] = []

Name of the format(s) describing the output pattern to capture from stderr. This takes precedence over output_format if set.

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] = []

Name of the format(s) describing the output pattern to capture from stdout. This takes precedence over output_format if set.

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.

 

target

target : str | None = None

The target defined in the project file to analyze.

 

tools_ini

tools_ini : bauhaus.analysis.config.PlainPath | None = None

Path to the tools.ini file of the KEIL installation to use (only required for build tool build_uvprojx and if tools.ini is not detected via Windows registry).

 

uvprojx_file

uvprojx_file : bauhaus.analysis.config.PlainPath = 'None (value must be set)'

KEIL μVision project file (.uvprojx or .uvproj) to use for analysis compilation (interpreted relative to /Project/directory, or cwd if set).

 

Option Types

These types are used by options listed above:

BuildTool

An enumeration.
 

build_uvprojx

Use build_uvprojx as build tool.

build_uvproj

Use build_uvproj as build tool.