Foundry.BuildPipeline¶
- Subclasses:
None
Methods¶
- Inherited:
Foundry.Contextual (4), GObject.Object (37), Json.Serializable (8), Gio.ListModel (4)
- Structs:
class |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Virtual Methods¶
- Inherited:
GObject.Object (7), Json.Serializable (5), Gio.ListModel (3)
Properties¶
- Inherited:
Name |
Type |
Flags |
Short Description |
|---|---|---|---|
r |
|||
r |
|||
r/w/co |
|||
r/w/co |
|||
r/w/co |
|||
r |
|||
r/w/co |
|||
r/w/co |
Signals¶
- Inherited:
Fields¶
- Inherited:
Class Details¶
- class Foundry.BuildPipeline(**kwargs)¶
- Bases:
- Abstract:
No
- Structure:
Manages build pipeline execution and coordination.
Foundry.BuildPipelineprovides functionality for executing build pipelines including configuration management, device targeting, and addin integration. It coordinates build stages, manages build artifacts, and provides a unified interface for build operations across different build systems.- classmethod new(context, config, device, sdk, enable_adddins)¶
- Parameters:
context (
Foundry.Context) –config (
Foundry.Config) –device (
Foundry.Device) –sdk (
Foundry.Sdk) –enable_adddins (
bool) –
- Return type:
- add_stage(stage)¶
- Parameters:
stage (
Foundry.BuildStage) –
- append_path(path)¶
- Parameters:
path (
str) – the path to append
Adds a path to the list of paths that will be appended to PATH.
New in version 1.1.
- build(phase, pty_fd, cancellable)¶
- Parameters:
phase (
Foundry.BuildPipelinePhase) –pty_fd (
int) –cancellable (
Dex.CancellableorNone) – a [class`Dex`.Cancellable]
- Returns:
- Return type:
Build the build pipeline.
- clean(phase, pty_fd, cancellable)¶
- Parameters:
phase (
Foundry.BuildPipelinePhase) –pty_fd (
int) –cancellable (
Dex.CancellableorNone) – a [class`Dex`.Cancellable]
- Returns:
- Return type:
Clean the build pipeline. (e.g.
make clean)
- contains_program(program)¶
- Parameters:
program (
str) – the name of a program such as “meson”- Returns:
a [class`Dex`.Future] that resolves to a string containing the path or rejects with error.
- Return type:
- dup_append_path()¶
-
Gets the joined form of all append paths (e.g. “a:b:py:data::c<Foundry.BuildPipeline.props.c>").
New in version 1.1.
- dup_build_system()¶
-
Get the expected build system for the pipeline.
New in version 1.1.
- dup_builddir()¶
- Returns:
a string containing a file path
- Return type:
Gets the directory where the project should be built.
- dup_config()¶
- Returns:
- Return type:
Gets the CONFIG to use for the platform.
- dup_device()¶
- Returns:
- Return type:
Gets the device used for the pipeline.
- dup_prepend_path()¶
-
Gets the joined form of all prepend paths (e.g. “a:b:py:data::c<Foundry.BuildPipeline.props.c>").
New in version 1.1.
- dup_sdk()¶
- Returns:
- Return type:
Gets the SDK to use for the platform.
- dup_srcdir()¶
- Returns:
a string containing the project directory path
- Return type:
Gets the project directory path from the context as a string.
New in version 1.1.
- dup_triplet()¶
- Returns:
a [struct`Foundry`.Triplet]
- Return type:
Gets the triplet for a build pipeline.
- find_build_flags(file)¶
- Parameters:
file (
Gio.File) –- Returns:
a [class`Dex`.Future] that resolves to a [class`Foundry`.Command] or rejects with error.
- Return type:
Queries build stages for a build command for file.
- get_phase()¶
- Returns:
the maximum phase reached
- Return type:
Gets the maximum phase reached by all completed stages.
The phase is calculated as the maximum phase of all stages that have the completed property set to true, up to the first stage that is not completed. If two stages in the same phase have different values for completed, that phase has not been reached.
New in version 1.1.
- list_build_targets()¶
- Returns:
a [class`Dex`.Future] that resolves to a [iface`Gio`.ListModel] of [class`Foundry`.BuildTarget] or rejects with error.
- Return type:
Gets a list of build targets.
This list is dynamically populated. If you want to wait for all providers to complete use [func`Foundry`.list_model_await] on the resulting [iface`Gio`.ListModel].
- prepare(launcher, phase)¶
- Parameters:
launcher (
Foundry.ProcessLauncher) – a [class`Foundry`.ProcessLauncher]phase (
Foundry.BuildPipelinePhase) –
- Returns:
a [class`Dex`.Future] that resolves to any value or rejects with error.
- Return type:
Prepares the launcher for running within the build pipeline.
- prepare_for_run(launcher)¶
- Parameters:
launcher (
Foundry.ProcessLauncher) – a [class`Foundry`.ProcessLauncher]- Returns:
a [class`Dex`.Future] that resolves to any value or rejects with error.
- Return type:
Prepares the launcher for running within the build pipeline.
- prepend_path(path)¶
- Parameters:
path (
str) – the path to prepend
Adds a path to the list of paths that will be prepended to PATH.
New in version 1.1.
- purge(phase, pty_fd, cancellable)¶
- Parameters:
phase (
Foundry.BuildPipelinePhase) –pty_fd (
int) –cancellable (
Dex.CancellableorNone) – a [class`Dex`.Cancellable]
- Returns:
- Return type:
Purge the build pipeline. (e.g.
make distclean)
- query()¶
- Returns:
a
Dex.Futurethat resolves when all stage queries have completed or rejects with an error.- Return type:
Query information about the state of all stages in the pipeline and update as necessary. This method calls [method`Foundry`.BuildStage.query] for each stage in parallel and resolves when all queries are complete.
New in version 1.1.
- remove_stage(stage)¶
- Parameters:
stage (
Foundry.BuildStage) –
Property Details¶
- Foundry.BuildPipeline.props.build_system¶
- Foundry.BuildPipeline.props.config¶
- Name:
config- Type:
- Default Value:
- Flags:
- Foundry.BuildPipeline.props.device¶
- Name:
device- Type:
- Default Value:
- Flags:
- Foundry.BuildPipeline.props.enable_addins¶
- Name:
enable-addins- Type:
- Default Value:
- Flags:
- Foundry.BuildPipeline.props.phase¶
- Name:
phase- Type:
- Default Value:
- Flags:
- Foundry.BuildPipeline.props.sdk¶
- Name:
sdk- Type:
- Default Value:
- Flags:
- Foundry.BuildPipeline.props.triplet¶
- Name:
triplet- Type:
- Default Value:
- Flags: