Skip to content

Edk2 platform build

edk2_platform_build

Invocable class that does a build.

Contains a BuildSettingsManager that must be subclassed in a build settings file, along with a UefiBuilder subclass. This provides platform specific information to the Edk2PlatformBuild invocable while allowing the invocable itself to remain platform agnostic.

BuildSettingsManager

Platform specific settings for Edk2PlatformBuild.

Provides information necessary for stuart_build.exe or edk2_platform_build.py to successfully execute.

Example of Overriding BuildSettingsManager

from edk2toolext.invocables.edk2_platform_build import BuildSettingsManager
class PlatformManager(BuildSettingsManager):
    def GetName(self) -> str:
        return "QemuQ35"

GetName

GetName() -> str

Get the name of the repo, platform, or product being build.

Tip

Optional Override in subclass

Returns:

Type Description
str

Name of the repo, platform, or product

Edk2PlatformBuild

Invocable that performs some environment setup,Imports UefiBuilder and calls go.

AddCommandLineOptions

AddCommandLineOptions(
    parserObj: argparse.ArgumentParser,
) -> None

Adds command line options to the argparser.

RetrieveCommandLineOptions

RetrieveCommandLineOptions(
    args: argparse.Namespace,
) -> None

Retrieve command line options from the argparser.

AddParserEpilog

AddParserEpilog() -> str

Adds an epilog to the end of the argument parser when displaying help information.

Returns:

Type Description
str

The string to be added to the end of the argument parser.

GetSettingsClass

GetSettingsClass() -> type

Returns the BuildSettingsManager class.

Warning

CiSetupSettingsManager must be subclassed in your platform settings file.

GetLoggingFileName

GetLoggingFileName(loggerType: str) -> str

Returns the filename of where the logs for the Edk2PlatformBuild invocable are stored in.

Go

Go() -> int

Executes the core functionality of the Edk2PlatformBuild invocable.

main

main() -> None

Entry point invoke Edk2PlatformBuild.