stripe / skycfg

Skycfg is an extension library for the Starlark language that adds support for constructing Protocol Buffer messages.
Apache License 2.0
643 stars 54 forks source link

Drop gogo support #89

Closed seena-stripe closed 3 years ago

seena-stripe commented 3 years ago

Summary

Removes gogo support from Skycfg

In moving to the new go protobuf v2 api, Skycfg will only be able to expose the types in a provided protoregsitry.Types, which accepts values https://pkg.go.dev/google.golang.org/protobuf/reflect/protoregistry#Types.RegisterMessage that implement https://pkg.go.dev/google.golang.org/protobuf@v1.27.1/reflect/protoreflect#MessageType.

However, https://github.com/gogo/protobuf (an alternative go code generator that Skycfg supported) does not support the new API (implementing MessageType and other interfaces). As we move Skycfg to using the new protobuf api, I don't see a way to support gogo and thus this PR drops it.

For any user interested in using Skycfg with gogo, Skycfg was tagged with v0.1.0 prior to the v2 api switch, and users can continue to use that version with gogo support, but with the old protobuf api.

Testing

I ran bazel build, test and go build on skycfg and everything compiles (after removing the gogo tests)

seena-stripe commented 3 years ago

Nice, great catch