Skip to content

Make PipelineSelection a proper enum type

Tristan Maat requested to merge tlater/pipeline-enums into master

Description

PipelineSelection is one of the few stringy types that weren't converted to FastEnum, presumably because we lacked a mechanism for only allowing a sub-set of options as CLI arguments.

We've re-designed this since, and as part of the UI/UX refactor we'd like to generally clean this, but that is probably still a while out.

Since that hasn't happened, for now, this adds a feature to the FastEnumType that allows specifying only a subset of values is allowed for a specific command, so that we can use the type as a proper enum.

We also get rid of a number of accidental uses of strings, and move PipelineSelection to buildstream.types so that we don't have a significant import overhead for it.

This merge request, when approved, will close: #1135 (closed)


Merge request reports