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,
    configuration_file: str = None,
) -> 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
configuration_file str

path to file containing CiSettingsManager instance

None

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.