From 561ca94d962ba284ff0a088ad441bf0803195a89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gy=C3=B6rgy=20Krajcsovits?= Date: Thu, 24 Nov 2022 13:11:04 +0100 Subject: [PATCH] Reproducable httpgrpc.pb.go build MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Use gogo protobuf options explicitly to generate the same Equal, String, GoString etc functions in the protobug implementation. Add tools.go to download the gogo.proto dependency. Add vendor directory as include for protoc to load the dependency. Update protoc version otherwise there is a diff in the generated files, most notably const _ = proto.GoGoProtoPackageIsVersion3 is replaced with const _ = proto.GoGoProtoPackageIsVersion2 Signed-off-by: György Krajcsovits --- httpgrpc/httpgrpc.pb.go | 43 ++++++++++++++++++++++------------------- httpgrpc/httpgrpc.proto | 9 +++++++++ httpgrpc/tools.go | 6 ++++++ 3 files changed, 38 insertions(+), 20 deletions(-) create mode 100644 httpgrpc/tools.go diff --git a/httpgrpc/httpgrpc.pb.go b/httpgrpc/httpgrpc.pb.go index 6c498f3d4..646773fd8 100644 --- a/httpgrpc/httpgrpc.pb.go +++ b/httpgrpc/httpgrpc.pb.go @@ -7,6 +7,7 @@ import ( bytes "bytes" context "context" fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" proto "github.com/gogo/protobuf/proto" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" @@ -215,26 +216,28 @@ func init() { func init() { proto.RegisterFile("httpgrpc/httpgrpc.proto", fileDescriptor_6670c8e151665986) } var fileDescriptor_6670c8e151665986 = []byte{ - // 295 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0xcf, 0x28, 0x29, 0x29, - 0x48, 0x2f, 0x2a, 0x48, 0xd6, 0x87, 0x31, 0xf4, 0x0a, 0x8a, 0xf2, 0x4b, 0xf2, 0x85, 0x38, 0x60, - 0x7c, 0xa5, 0x72, 0x2e, 0x6e, 0x8f, 0x90, 0x90, 0x80, 0xa0, 0xd4, 0xc2, 0xd2, 0xd4, 0xe2, 0x12, - 0x21, 0x31, 0x2e, 0xb6, 0xdc, 0xd4, 0x92, 0x8c, 0xfc, 0x14, 0x09, 0x46, 0x05, 0x46, 0x0d, 0xce, - 0x20, 0x28, 0x4f, 0x48, 0x80, 0x8b, 0xb9, 0xb4, 0x28, 0x47, 0x82, 0x09, 0x2c, 0x08, 0x62, 0x0a, - 0x69, 0x71, 0xb1, 0x67, 0xa4, 0x26, 0xa6, 0xa4, 0x16, 0x15, 0x4b, 0x30, 0x2b, 0x30, 0x6b, 0x70, - 0x1b, 0x09, 0xe8, 0xc1, 0x2d, 0xf1, 0x00, 0x4b, 0x04, 0xc1, 0x14, 0x08, 0x09, 0x71, 0xb1, 0x24, - 0xe5, 0xa7, 0x54, 0x4a, 0xb0, 0x28, 0x30, 0x6a, 0xf0, 0x04, 0x81, 0xd9, 0x4a, 0x49, 0x5c, 0x3c, - 0x10, 0x8b, 0x8b, 0x0b, 0xf2, 0xf3, 0x8a, 0x53, 0x41, 0x6a, 0x9c, 0xf3, 0x53, 0x52, 0xc1, 0xf6, - 0xb2, 0x06, 0x81, 0xd9, 0xc8, 0x76, 0x30, 0x11, 0x6b, 0x07, 0x33, 0x92, 0x1d, 0x46, 0x5c, 0x6c, - 0x10, 0x65, 0x20, 0xf7, 0x67, 0xa7, 0x56, 0x42, 0x3d, 0x05, 0x62, 0x82, 0x7c, 0x5a, 0x96, 0x98, - 0x53, 0x9a, 0x0a, 0x31, 0x9a, 0x33, 0x08, 0xca, 0x33, 0x72, 0xe4, 0x62, 0x01, 0xb9, 0x4b, 0xc8, - 0x92, 0x8b, 0xcd, 0x23, 0x31, 0x2f, 0x25, 0x27, 0x55, 0x48, 0x14, 0xc9, 0x52, 0x44, 0x50, 0x49, - 0x89, 0xa1, 0x0b, 0x43, 0x3c, 0xa2, 0xc4, 0xe0, 0x64, 0x77, 0xe1, 0xa1, 0x1c, 0xc3, 0x8d, 0x87, - 0x72, 0x0c, 0x1f, 0x1e, 0xca, 0x31, 0x36, 0x3c, 0x92, 0x63, 0x5c, 0xf1, 0x48, 0x8e, 0xf1, 0xc4, - 0x23, 0x39, 0xc6, 0x0b, 0x8f, 0xe4, 0x18, 0x1f, 0x3c, 0x92, 0x63, 0x7c, 0xf1, 0x48, 0x8e, 0xe1, - 0xc3, 0x23, 0x39, 0xc6, 0x09, 0x8f, 0xe5, 0x18, 0x2e, 0x3c, 0x96, 0x63, 0xb8, 0xf1, 0x58, 0x8e, - 0x21, 0x0a, 0x1e, 0x27, 0x49, 0x6c, 0xe0, 0x48, 0x32, 0x06, 0x04, 0x00, 0x00, 0xff, 0xff, 0xd9, - 0x2e, 0xd7, 0x22, 0xbf, 0x01, 0x00, 0x00, + // 333 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x91, 0xc1, 0x4e, 0xfa, 0x40, + 0x10, 0xc6, 0xbb, 0x94, 0x7f, 0xff, 0xb2, 0x70, 0x20, 0x9b, 0x88, 0x0d, 0x87, 0x0d, 0x21, 0x31, + 0x21, 0x26, 0xd2, 0x04, 0x4f, 0x1e, 0xd5, 0x0b, 0x37, 0xcd, 0x86, 0x93, 0xb7, 0x96, 0x8e, 0xad, + 0x81, 0x32, 0xb5, 0xdd, 0x42, 0xb8, 0xf9, 0x08, 0x3e, 0x86, 0x8f, 0xe2, 0x91, 0x23, 0x47, 0x29, + 0x2f, 0xe0, 0x23, 0x98, 0xdd, 0x52, 0x6c, 0x3c, 0x79, 0xfb, 0xbe, 0xd9, 0x6f, 0xf7, 0x37, 0xb3, + 0x43, 0xcf, 0x42, 0x29, 0xe3, 0x20, 0x89, 0xa7, 0x4e, 0x29, 0x86, 0x71, 0x82, 0x12, 0xd9, 0x49, + 0xe9, 0xbb, 0x97, 0xc1, 0xb3, 0x0c, 0x33, 0x6f, 0x38, 0xc5, 0xc8, 0x09, 0x30, 0x40, 0x47, 0x07, + 0xbc, 0xec, 0x49, 0x3b, 0x6d, 0xb4, 0x2a, 0x2e, 0xf6, 0x57, 0xb4, 0x39, 0x9e, 0x4c, 0x1e, 0x04, + 0xbc, 0x64, 0x90, 0x4a, 0xd6, 0xa1, 0x56, 0x04, 0x32, 0x44, 0xdf, 0x26, 0x3d, 0x32, 0x68, 0x88, + 0x83, 0x63, 0x6d, 0x6a, 0x66, 0xc9, 0xdc, 0xae, 0xe9, 0xa2, 0x92, 0xec, 0x82, 0xfe, 0x0f, 0xc1, + 0xf5, 0x21, 0x49, 0x6d, 0xb3, 0x67, 0x0e, 0x9a, 0xa3, 0xf6, 0xf0, 0xd8, 0xd3, 0x58, 0x1f, 0x88, + 0x32, 0xc0, 0x18, 0xad, 0x7b, 0xe8, 0xaf, 0xed, 0x7a, 0x8f, 0x0c, 0x5a, 0x42, 0xeb, 0xbe, 0x47, + 0x5b, 0x05, 0x38, 0x8d, 0x71, 0x91, 0x82, 0xca, 0xdc, 0xa1, 0x0f, 0x9a, 0xfb, 0x4f, 0x68, 0x5d, + 0x65, 0xd4, 0xfe, 0xca, 0x30, 0x2b, 0x8c, 0x11, 0xb5, 0x8a, 0x98, 0xea, 0x7f, 0x06, 0xeb, 0xc3, + 0x50, 0x4a, 0xaa, 0x49, 0x97, 0xee, 0x3c, 0x83, 0xe2, 0xe9, 0x86, 0x38, 0xb8, 0xd1, 0x0d, 0xad, + 0xab, 0xbe, 0xd8, 0x35, 0xb5, 0xc6, 0xee, 0xc2, 0x9f, 0x03, 0x3b, 0xad, 0x40, 0x7f, 0xbe, 0xaa, + 0xdb, 0xf9, 0x5d, 0x2e, 0x06, 0xe9, 0x1b, 0xb7, 0xf7, 0xdb, 0x1d, 0x37, 0xbe, 0x76, 0x9c, 0xbc, + 0xe6, 0x9c, 0xbc, 0xe7, 0x9c, 0x7c, 0xe4, 0x9c, 0x6c, 0x72, 0x4e, 0x3e, 0x73, 0x4e, 0xde, 0xf6, + 0xdc, 0xd8, 0xec, 0xb9, 0xb1, 0xdd, 0x73, 0xe3, 0xf1, 0xbc, 0xb2, 0xac, 0x15, 0xb8, 0x4b, 0x58, + 0x61, 0x32, 0x4b, 0x9d, 0x29, 0x46, 0x11, 0x2e, 0x8e, 0x3b, 0xf6, 0x2c, 0xbd, 0xab, 0xab, 0xef, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xf6, 0x06, 0x42, 0xe4, 0xff, 0x01, 0x00, 0x00, } func (this *HTTPRequest) Equal(that interface{}) bool { diff --git a/httpgrpc/httpgrpc.proto b/httpgrpc/httpgrpc.proto index 5802486e8..b3dd1108a 100644 --- a/httpgrpc/httpgrpc.proto +++ b/httpgrpc/httpgrpc.proto @@ -2,6 +2,15 @@ syntax = "proto3"; package httpgrpc; +import "github.com/gogo/protobuf/gogoproto/gogo.proto"; + +option (gogoproto.equal_all) = true; +option (gogoproto.gostring_all) = true; +option (gogoproto.stringer_all) = true; +option (gogoproto.goproto_stringer_all) = false; +option (gogoproto.goproto_unkeyed_all) = false; +option (gogoproto.goproto_unrecognized_all) = false; +option (gogoproto.goproto_sizecache_all) = false; option go_package = "github.com/weaveworks/common/httpgrpc"; service HTTP { diff --git a/httpgrpc/tools.go b/httpgrpc/tools.go new file mode 100644 index 000000000..866af4b69 --- /dev/null +++ b/httpgrpc/tools.go @@ -0,0 +1,6 @@ +package httpgrpc + +import ( + // This is a workaround for go mod which fails to download gogoproto otherwise + _ "github.com/gogo/protobuf/gogoproto" +)