Is there a Python buildout recipe which would allow the following:
[buildout]
parts = group-of-parts
[group-of-parts]
recipe = what.can.i.use.for.this
parts = part-1 part-2
[part-1]
...
[part-2]
...
In other words, I want a recipe which takes a 'parts' attribute much like 'buildout' section does so I can manually manage a hierarchy of groups of parts.
Yes, I know that I could do:
[buildout]
parts = group-of-parts
[group-of-parts]
recipe =
parts = ${part-1:recipe} ${part-2:recipe}
[part-1]
...
[part-2]
...
but relying on the side effect that the parts will be built by referencing an attribute of them seems a bit obscure. I would rather it be more explicit by using a recipe which would just allow the name of the part itself to be listed.
Certainly when extending and overriding, it looks a lot cleaner to say:
[groups-of-parts]
parts -= part-2
than:
[groups-of-parts]
parts -= ${part-2:recipe}
Or is my problem that I am just missing something fundamental about how buildout works, or just overlooking something in the documentation which makes this much cleaner.
And no I don't want to have a flat hierarchy where all parts are listed in the 'parts' attribute of the 'buildout' section.