Skip to content

Support Protobuf Editions #22

@spenczar

Description

@spenczar

Editions are a fancy new way that protobuf can expand the feature set gradually. Plugin authors are supposed to describe their minimum and maximum supported edition in the CodeGeneratorResponse they produce.

It would be nice if the protogen Options class supported these. I'd propose a type signature like this on init_:

    def __init__(
        self,
        *,
        ...
        supported_editions: Optional[Tuple[descriptor_pb2.Edition, descriptor_pb2.Edition]] = None
    ):

If we get a non-None value for supported_editions, then we add the "supports editions" feature to the supported feature set, and mark the appropriate spots in the CodeGeneratorResponse.

I've heard this will get increasingly important, as code generators will simply not work with proto files using Editions unless they opt in in this way.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions