pipeline: identify pipelines by name
Every pipeline that gets added to the `Manifest` now need to have a unique name by which it can be identified. The version 1 format loader is changed so that the main pipeline that builds the tree is always called `tree`. The build pipeline for it will be called `build` and further recursive build pipelines `build-build`, where the number of repetitions of `build` corresponds to their level of nesting. An assembler, if it exists, will be added as `assembler`. The `Manifest.__getitem__` helper is changed so it will first try to access pipeline via its name and then fall back to an id based search. NB: in the degenrate case of multiple pipelines that have exactly the same `id`, i.e. same stages, with the same options and same build pipeline, only the first one will be return; but only the first one here will be built as well, so this is in practice not a problem. The formatter uses this helper to get the tree pipeline via its name wherever it is needed. This also adds an `__iter__` method `Manifest` to ease iterating over just the pipeline values, a la `for pipeline in manifet`.
This commit is contained in:
parent
88acd7bb00
commit
569345cc72
4 changed files with 44 additions and 25 deletions
|
|
@ -58,7 +58,7 @@ class TestMonitor(unittest.TestCase):
|
|||
index = osbuild.meta.Index(os.curdir)
|
||||
|
||||
runner = detect_host_runner()
|
||||
pipeline = osbuild.Pipeline(runner=runner)
|
||||
pipeline = osbuild.Pipeline("pipeline", runner=runner)
|
||||
info = index.get_module_info("Stage", "org.osbuild.noop")
|
||||
pipeline.add_stage(info, {
|
||||
"isthisthereallife": False
|
||||
|
|
@ -93,7 +93,7 @@ class TestMonitor(unittest.TestCase):
|
|||
runner = detect_host_runner()
|
||||
index = osbuild.meta.Index(os.curdir)
|
||||
|
||||
pipeline = osbuild.Pipeline(runner=runner)
|
||||
pipeline = osbuild.Pipeline("pipeline", runner=runner)
|
||||
noop_info = index.get_module_info("Stage", "org.osbuild.noop")
|
||||
pipeline.add_stage(noop_info, {
|
||||
"isthisthereallife": False
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue