idf_build_apps.manifest package

Submodules

class idf_build_apps.manifest.if_parser.Stmt

Bases: object

Statement

get_value(target: str, config_name: str) Any

Lazy calculated. All subclasses of Stmt should implement this function.

Parameters:
  • target (str) – ESP-IDF target

  • config_name – config name

Returns:

the value of the statement

class idf_build_apps.manifest.if_parser.ChipAttr(t: ParseResults)

Bases: Stmt

Attributes defined in SOC Header Files and other keywords as followed:

  • IDF_TARGET: target

  • INCLUDE_DEFAULT: take the default build targets into account or not

  • IDF_VERSION_MAJOR: major version of ESP-IDF

  • IDF_VERSION_MINOR: minor version of ESP-IDF

  • IDF_VERSION_PATCH: patch version of ESP-IDF

  • CONFIG_NAME: config name defined in the config rules

get_value(target: str, config_name: str) Any

Lazy calculated. All subclasses of Stmt should implement this function.

Parameters:
  • target (str) – ESP-IDF target

  • config_name – config name

Returns:

the value of the statement

class idf_build_apps.manifest.if_parser.Integer(t: ParseResults)

Bases: Stmt

get_value(target: str, config_name: str) Any

Lazy calculated. All subclasses of Stmt should implement this function.

Parameters:
  • target (str) – ESP-IDF target

  • config_name – config name

Returns:

the value of the statement

class idf_build_apps.manifest.if_parser.String(t: ParseResults)

Bases: Stmt

get_value(target: str, config_name: str) Any

Lazy calculated. All subclasses of Stmt should implement this function.

Parameters:
  • target (str) – ESP-IDF target

  • config_name – config name

Returns:

the value of the statement

class idf_build_apps.manifest.if_parser.List_(t: ParseResults)

Bases: Stmt

get_value(target: str, config_name: str) Any

Lazy calculated. All subclasses of Stmt should implement this function.

Parameters:
  • target (str) – ESP-IDF target

  • config_name – config name

Returns:

the value of the statement

class idf_build_apps.manifest.if_parser.BoolStmt(t: ParseResults)

Bases: Stmt

get_value(target: str, config_name: str) Any

Lazy calculated. All subclasses of Stmt should implement this function.

Parameters:
  • target (str) – ESP-IDF target

  • config_name – config name

Returns:

the value of the statement

class idf_build_apps.manifest.if_parser.BoolExpr

Bases: Stmt

class idf_build_apps.manifest.if_parser.BoolOrAnd(t: ParseResults)

Bases: BoolExpr

get_value(target: str, config_name: str) Any

Lazy calculated. All subclasses of Stmt should implement this function.

Parameters:
  • target (str) – ESP-IDF target

  • config_name – config name

Returns:

the value of the statement

class idf_build_apps.manifest.manifest.IfClause(stmt: str, temporary: bool = False, reason: Optional[str] = None)

Bases: object

get_value(target: str, config_name: str) Any
class idf_build_apps.manifest.manifest.SwitchClause(if_clauses: List[IfClause], contents: List[List[str]], default_clause: List[str])

Bases: object

get_value(target: str, config_name: str) Any
class idf_build_apps.manifest.manifest.FolderRule(folder: str, enable: Optional[List[Dict[str, Any]]] = None, disable: Optional[List[Dict[str, Any]]] = None, disable_test: Optional[List[Dict[str, Any]]] = None, depends_components: Optional[List[Union[str, Dict[str, Any]]]] = None, depends_filepatterns: Optional[List[Union[str, Dict[str, Any]]]] = None)

Bases: object

DEFAULT_BUILD_TARGETS = []
property sha: str

SHA of the FolderRule instance

Returns:

SHA value

enable_build_targets(default_sdkconfig_target: Optional[str] = None, config_name: Optional[str] = None) List[str]
enable_test_targets(default_sdkconfig_target: Optional[str] = None, config_name: Optional[str] = None) List[str]
class idf_build_apps.manifest.manifest.DefaultRule(folder: str)

Bases: FolderRule

class idf_build_apps.manifest.manifest.Manifest(rules: Iterable[FolderRule], *, root_path: str = '.')

Bases: object

CHECK_MANIFEST_RULES = False
classmethod from_files(paths: Iterable[Union[str, Path]], *, root_path: str = '.') Manifest

Create a Manifest instance from multiple manifest files

Parameters:
  • paths – manifest file paths

  • root_path – root path for relative paths in manifest files

Returns:

Manifest instance

classmethod from_file(path: Union[str, Path], *, root_path: str = '.') Manifest

Create a Manifest instance from a manifest file

Parameters:
  • path – path to the manifest file

  • root_path – root path for relative paths in manifest file

Returns:

Manifest instance

dump_sha_values(sha_filepath: str) None

Dump the (relative path of the folder, SHA of the FolderRule instance) pairs for all rules to the file in format: <relative_path>:<SHA>

Parameters:

sha_filepath – output file path

Returns:

None

diff_sha_with_filepath(sha_filepath: str, use_abspath: bool = False) Set[str]

Compare the SHA recorded in the file with the current Manifest instance.

Parameters:
  • sha_filepath – dumped SHA file path

  • use_abspath – whether to return the absolute path of the folders

Returns:

Set of folders that have different SHA values

most_suitable_rule(_folder: str) FolderRule
enable_build_targets(folder: str, default_sdkconfig_target: Optional[str] = None, config_name: Optional[str] = None) List[str]
enable_test_targets(folder: str, default_sdkconfig_target: Optional[str] = None, config_name: Optional[str] = None) List[str]
depends_components(folder: str, default_sdkconfig_target: Optional[str] = None, config_name: Optional[str] = None) List[str]
depends_filepatterns(folder: str, default_sdkconfig_target: Optional[str] = None, config_name: Optional[str] = None) List[str]
idf_build_apps.manifest.soc_header.get_defines(header_path: str) List[str]
idf_build_apps.manifest.soc_header.parse_define(define_line: str) ParseResults
class idf_build_apps.manifest.soc_header.SocHeader(target: str)

Bases: dict

CAPS_HEADER_FILEPATTERN = '*_caps.h'

Module contents

Manifest file