yambs.generate package#

Subpackages#

Submodules#

yambs.generate.architectures module#

A module for generating architecture-related files.

yambs.generate.architectures.generate(jinja: Environment, config: CommonConfig) None[source]#

Generate architecture-related ninja files.

yambs.generate.boards module#

A module for generating board-related files.

yambs.generate.boards.add_dir(stream: TextIO, paths: Set[Path], path: Path, comment: str, base: Path, current_sources: Set[Path], board: Board, board_specific: bool = False) Set[Path][source]#

Add a directory to set of paths.

yambs.generate.boards.create_paths_dict(root: Path, board: Board) Dict[str, Any][source]#

Create paths based on common pathing conventions.

yambs.generate.boards.generate(jinja: Environment, env: BuildEnvironment, sources_only: bool = False) None[source]#

Generate board-related ninja files.

yambs.generate.boards.write_sources(stream: TextIO, board: Board, src_root: Path, env: BuildEnvironment) SourceSets[source]#

Write the source-file manifest.

yambs.generate.chips module#

A module for generating chip-related files.

yambs.generate.chips.generate(jinja: Environment, config: CommonConfig) None[source]#

Generate chip-related ninja files.

yambs.generate.common module#

A module containing common generation utilities.

yambs.generate.common.get_jinja() Environment[source]#

Get a jinja environment for package templates.

yambs.generate.common.render_template(jinja: Environment, root: Path, name: str, data: Dict[str, Any], out: str = None) None[source]#

Render a single template.

yambs.generate.toolchains module#

A module for generating toolchain-related files.

yambs.generate.toolchains.generate(jinja: Environment, config: CommonConfig) None[source]#

Generate toolchain-related ninja files.

yambs.generate.variants module#

A module for generating variant-related files.

yambs.generate.variants.generate(jinja: Environment, config: CommonConfig, cflag_groups: Dict[str, List[str]], ldflag_groups: Dict[str, List[str]]) None[source]#

Generate variant-related ninja files.

yambs.generate.variants.modified_variant_data(name: str, data: Dict[str, Any], cflag_groups: Dict[str, List[str]], ldflag_groups: Dict[str, List[str]]) Iterator[None][source]#

Ensure that cflag groups are processed, and that the variant has access to its name while rendering.

Module contents#

A module for generating templated outputs.

yambs.generate.create_board_apps(env: BuildEnvironment) None[source]#

Generate JSON metadata to give other tools a simple lookup to application sources (e.g. for loading or deploying).

yambs.generate.generate(env: BuildEnvironment, sources_only: bool = False) None[source]#

Generate ninja files.