Skip to content

Edk2 setup

edk2_setup

Code that updates required submodules.

Contains a SetupSettingsManager that must be subclassed in a build settings file. This provides platform specific information to Edk2PlatformSetup invocable while allowing the invocable itself to remain platform agnostic.

RequiredSubmodule

A class containing information about a git submodule.

__init__

__init__(path: str, recursive: bool = True) -> None

Object to hold necessary information for resolving submodules.

Parameters:

Name Type Description Default
path str

workspace relative path to submodule that must be synchronized and updated

required
recursive bool

if recursion should be used in this submodule

True

SetupSettingsManager

Platform specific settings for Edk2PlatformSetup.

Provides information necessary for stuart_setup.exe or edk2_setup.py to successfully execute for a given platform.

Example of Overriding SetupSettingsManager

from edk2toolext.invocables.edk2_setup import SetupSettingsManager, RequiredSubmodule
class PlatformManager(SetupSettingsManager):
    def GetRequiredSubmodules(self) -> Iterable[RequiredSubmodule]:
        return [RequiredSubmodule('Common/MU', True)]

GetRequiredSubmodules

GetRequiredSubmodules() -> Iterable[RequiredSubmodule]

Provides a list of required git submodules.

These submodules are those that must be setup for the platform to successfully build.

Tip

Optional Override in a subclass

Returns:

Type Description
Iterable[RequiredSubmodule]

A Iterable of required submodules, or an empty Iterable

Edk2PlatformSetup

Invocable that updates git submodules listed in RequiredSubmodules.

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.

GetVerifyCheckRequired

GetVerifyCheckRequired() -> bool

Will not call self_describing_environment.VerifyEnvironment because it hasn't been set up yet.

GetSettingsClass

GetSettingsClass() -> type

Returns the SetupSettingsManager class.

Warning

SetupSettingsManager must be subclassed in your platform settings file.

GetLoggingFileName

GetLoggingFileName(loggerType: str) -> str

Returns the filename (SETUPLOG) of where the logs for the Edk2CiBuild invocable are stored in.

Go

Go() -> int

Executes the core functionality of the Edk2PlatformSetup invocable.

main

main() -> None

Entry point to invoke Edk2PlatformSetup.