We put in a lot of work to post-process the protobuf-generated files to meet our needs. This tool amalgamates all of that so we don't need to keep our various makefiles in sync.
This includes:
rewriting generated String() methods for enums to be compatible with our old protos
rewriting generated enums constants to remove the typename prefix that google/protobuf adds
protoc-gen-go-helpers
This tool generates various helper methods required for compatibility with Gogo/protobuf.
For structs we generate implementations of:
Marshal()
Unmarshal()
Equal()
Size()
For enumerated types we generate a FromString method that instantiates the enum from either the old PascalCase string we have always supported or the SCREAMING_SNAKE string generated by protojson.