Skip to content

Edk2 parse

edk2_parse

An invocable to run workspace parsers on a workspace and generate a database.

AppendSplitAction

An argparse action to split a comma separated list and append it to a list.

example: -p Pkg1,Pkg2 -p Pkg3 => ['Pkg1', 'Pkg2', 'Pkg3']

__call__

__call__(
    parser: ArgumentParser,
    namespace: Namespace,
    values: Sequence[str],
    option_string: Optional[str] = None,
) -> None

The command to invoke the action.

ParseSettingsManager

Settings to support ReportSettingsManager functionality.

GetPackagesSupported

GetPackagesSupported() -> Iterable[str]

Returns an iterable of edk2 packages supported by this build.

GetArchitecturesSupported

GetArchitecturesSupported() -> Iterable

Returns an iterable of edk2 architectures supported by this build.

GetTargetsSupported

GetTargetsSupported() -> Iterable

Returns an iterable of edk2 target tags supported by this build.

Edk2Parse

An invocable used to parse the environment and generate a database.

This invocable has the ability to parse both a repo containing generic Edk2 packages, and a repo containing platform packages. When parsing generic packages, The Edk2Report invocable uses methods from the MultiPkgAwareSettingsInterface, most commonly found ina CI Settings File. In this scenario, it will either parse all packages defined by GetPackagesSupported() or a subset of those packages as defined by the -p flag. The same can be said about the architectures by using GetDefinedArchitectures() and the -a command.

When the goal is to parse a platform package, the Edk2Report invocable uses methods from the UefiBuilder, which is most commonly found in the Platform Build File. In this scenario, it will invoke the methods found in the UefiBuilder which are used to build a platform. It will not execute any plugins, build the platform, nor execute any functionality normally called after the build command.

Addionally, any build variables can be overwritten or added via the command line VAR=VALUE functionality.

__init__

__init__() -> None

Initializes an Edk2Report Object.

GetSettingsClass

GetSettingsClass() -> type

Returns the Settings Manager for the invocable.

GetVerifyCheckRequired

GetVerifyCheckRequired() -> bool

Will call self_describing_environment.VerifyEnvironment if this returns True.

AddCommandLineOptions

AddCommandLineOptions(parserObj: ArgumentParser) -> None

Adds the command line options.

RetrieveCommandLineOptions

RetrieveCommandLineOptions(args: Namespace) -> None

Retrives the command line options.

GetLoggingFileName

GetLoggingFileName(loggerType: str) -> str

Returns the logging file name for this invocation.

Go

Go() -> int

Executes the invocable. Runs the subcommand specified by the user.

parse_with_builder_settings

parse_with_builder_settings(
    db: Edk2DB, pathobj: Edk2Path, env: VarDict
) -> int

Parses the workspace using a uefi builder to setup the environment.

parse_with_ci_settings

parse_with_ci_settings(
    db: Edk2DB, pathobj: Edk2Path, env: VarDict
) -> int

Parses the workspace using ci settings to setup the environment.

load_extra_tables

load_extra_tables(
    table_paths: list,
) -> list[TableGenerator]

Loads TableParsers from a python file.

Returns:

Type Description
list

A list of instantiated TableParsers.

main

main() -> None

Entry point to invoke Edk2PlatformSetup.