diff --git a/Protobuild.toml b/Protobuild.toml index 5c0db95..7d9d2f3 100644 --- a/Protobuild.toml +++ b/Protobuild.toml @@ -3,7 +3,7 @@ version = "unstable" # Generator defines which generator to go. The default is "go". This will be # formatted into the --xxx_out flag provided to protoc. Below, we have an # example that selects the ctrd vanity binary. -# generator = "gogoctrd" +# generator = "go" # Plugins allows one to specify one or more plugins for use in generation. # @@ -27,21 +27,18 @@ plugins = ["grpc"] # vendor package and not a GOPATH package. Most users should employ the # `packages` configuration and let protobuild resolve the existing package. # - # With the example below, we import the gogo protobufs from the vendor + # With the example below, we import github.com/golang/protobuf from the vendor # directory. # # This is empty by default. - # vendored = ["github.com/gogo/protobuf"] + # vendored = ["github.com/golang/protobuf"] # Packages will add imports that are relative to the vendor path or GOPATH. - # For example, if we import `gogoproto/gogo.proto`, we would add an import - # root of `$GOPATH/github.com/gogo/protobuf`, in addition to the vendored - # directory. # # If in doubt, use this over `vendored` configuration for your project. # # This is empty by default. - # packages = ["github.com/gogo/protobuf"] + # packages = ["github.com/golang/protobuf"] # Paths that will be added untouched to the end of the includes. We use # a few paths to pickup the common install locations for protobuf. @@ -53,10 +50,7 @@ plugins = ["grpc"] # # We have a few examples to map packages from the examples. [packages] - "gogoproto/gogo.proto" = "github.com/gogo/protobuf/gogoproto" - "google/protobuf/descriptor.proto" = "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" - "google/protobuf/timestamp.proto" = "github.com/gogo/protobuf/types" - "google/protobuf/empty.proto" = "github.com/gogo/protobuf/types" + "google/protobuf/empty.proto" = "github.com/containerd/protobuild/internal" # Overrides allows one to specify configuration overrides for specific # packages. Currently, only overriding the generator and plugin set are diff --git a/README.md b/README.md index 13f1c4b..4b9b499 100644 --- a/README.md +++ b/README.md @@ -9,9 +9,6 @@ Build protobufs in Go, easily. `protoc` commands, configured with the plugins, packages and details of your choice. -It should work with both the default `golang/protobuf` and the `gogo` -toolchain. If it doesn't, we should figure out how to get there. - The main benefit is that it makes it much easier to consume external types from vendored projects. By integrating the protoc include paths with Go's vendoring and GOPATH, builds are much easier to keep consistent across a project. diff --git a/descriptors.go b/descriptors.go index 4840aa6..d3b903f 100644 --- a/descriptors.go +++ b/descriptors.go @@ -26,7 +26,7 @@ import ( "os/exec" "strings" - "github.com/gogo/protobuf/proto" + "github.com/golang/protobuf/proto" "github.com/golang/protobuf/protoc-gen-go/descriptor" ) diff --git a/examples/bar/bar.pb.go b/examples/bar/bar.pb.go index 5ce410e..e9794e0 100644 --- a/examples/bar/bar.pb.go +++ b/examples/bar/bar.pb.go @@ -6,8 +6,9 @@ package bar import ( context "context" fmt "fmt" - types "github.com/gogo/protobuf/types" + internal "github.com/containerd/protobuild/internal" proto "github.com/golang/protobuf/proto" + timestamp "github.com/golang/protobuf/ptypes/timestamp" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" @@ -26,10 +27,10 @@ var _ = math.Inf const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package type DoRequest struct { - Timestamp *types.Timestamp `protobuf:"bytes,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Timestamp *timestamp.Timestamp `protobuf:"bytes,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *DoRequest) Reset() { *m = DoRequest{} } @@ -57,7 +58,7 @@ func (m *DoRequest) XXX_DiscardUnknown() { var xxx_messageInfo_DoRequest proto.InternalMessageInfo -func (m *DoRequest) GetTimestamp() *types.Timestamp { +func (m *DoRequest) GetTimestamp() *timestamp.Timestamp { if m != nil { return m.Timestamp } @@ -101,7 +102,7 @@ const _ = grpc.SupportPackageIsVersion6 // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type BarClient interface { - Do(ctx context.Context, in *DoRequest, opts ...grpc.CallOption) (*types.Empty, error) + Do(ctx context.Context, in *DoRequest, opts ...grpc.CallOption) (*internal.Empty, error) } type barClient struct { @@ -112,8 +113,8 @@ func NewBarClient(cc grpc.ClientConnInterface) BarClient { return &barClient{cc} } -func (c *barClient) Do(ctx context.Context, in *DoRequest, opts ...grpc.CallOption) (*types.Empty, error) { - out := new(types.Empty) +func (c *barClient) Do(ctx context.Context, in *DoRequest, opts ...grpc.CallOption) (*internal.Empty, error) { + out := new(internal.Empty) err := c.cc.Invoke(ctx, "/protobuild.example.bar.Bar/Do", in, out, opts...) if err != nil { return nil, err @@ -123,14 +124,14 @@ func (c *barClient) Do(ctx context.Context, in *DoRequest, opts ...grpc.CallOpti // BarServer is the server API for Bar service. type BarServer interface { - Do(context.Context, *DoRequest) (*types.Empty, error) + Do(context.Context, *DoRequest) (*internal.Empty, error) } // UnimplementedBarServer can be embedded to have forward compatible implementations. type UnimplementedBarServer struct { } -func (*UnimplementedBarServer) Do(ctx context.Context, req *DoRequest) (*types.Empty, error) { +func (*UnimplementedBarServer) Do(ctx context.Context, req *DoRequest) (*internal.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method Do not implemented") } diff --git a/examples/foo/foo.pb.go b/examples/foo/foo.pb.go index e657951..0b6843a 100644 --- a/examples/foo/foo.pb.go +++ b/examples/foo/foo.pb.go @@ -6,8 +6,9 @@ package foo import ( context "context" fmt "fmt" - types "github.com/gogo/protobuf/types" + internal "github.com/containerd/protobuild/internal" proto "github.com/golang/protobuf/proto" + timestamp "github.com/golang/protobuf/ptypes/timestamp" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" @@ -26,10 +27,10 @@ var _ = math.Inf const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package type DoRequest struct { - Timestamp *types.Timestamp `protobuf:"bytes,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Timestamp *timestamp.Timestamp `protobuf:"bytes,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *DoRequest) Reset() { *m = DoRequest{} } @@ -57,7 +58,7 @@ func (m *DoRequest) XXX_DiscardUnknown() { var xxx_messageInfo_DoRequest proto.InternalMessageInfo -func (m *DoRequest) GetTimestamp() *types.Timestamp { +func (m *DoRequest) GetTimestamp() *timestamp.Timestamp { if m != nil { return m.Timestamp } @@ -101,7 +102,7 @@ const _ = grpc.SupportPackageIsVersion6 // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type FooClient interface { - Do(ctx context.Context, in *DoRequest, opts ...grpc.CallOption) (*types.Empty, error) + Do(ctx context.Context, in *DoRequest, opts ...grpc.CallOption) (*internal.Empty, error) } type fooClient struct { @@ -112,8 +113,8 @@ func NewFooClient(cc grpc.ClientConnInterface) FooClient { return &fooClient{cc} } -func (c *fooClient) Do(ctx context.Context, in *DoRequest, opts ...grpc.CallOption) (*types.Empty, error) { - out := new(types.Empty) +func (c *fooClient) Do(ctx context.Context, in *DoRequest, opts ...grpc.CallOption) (*internal.Empty, error) { + out := new(internal.Empty) err := c.cc.Invoke(ctx, "/protobuild.example.foo.Foo/Do", in, out, opts...) if err != nil { return nil, err @@ -123,14 +124,14 @@ func (c *fooClient) Do(ctx context.Context, in *DoRequest, opts ...grpc.CallOpti // FooServer is the server API for Foo service. type FooServer interface { - Do(context.Context, *DoRequest) (*types.Empty, error) + Do(context.Context, *DoRequest) (*internal.Empty, error) } // UnimplementedFooServer can be embedded to have forward compatible implementations. type UnimplementedFooServer struct { } -func (*UnimplementedFooServer) Do(ctx context.Context, req *DoRequest) (*types.Empty, error) { +func (*UnimplementedFooServer) Do(ctx context.Context, req *DoRequest) (*internal.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method Do not implemented") } diff --git a/examples/nogrpc/nogrpc.pb.go b/examples/nogrpc/nogrpc.pb.go index fa36df1..66e466c 100644 --- a/examples/nogrpc/nogrpc.pb.go +++ b/examples/nogrpc/nogrpc.pb.go @@ -5,8 +5,8 @@ package nogrpc import ( fmt "fmt" - types "github.com/gogo/protobuf/types" proto "github.com/golang/protobuf/proto" + timestamp "github.com/golang/protobuf/ptypes/timestamp" math "math" ) @@ -22,10 +22,10 @@ var _ = math.Inf const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package type Thing struct { - Timestamp *types.Timestamp `protobuf:"bytes,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Timestamp *timestamp.Timestamp `protobuf:"bytes,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *Thing) Reset() { *m = Thing{} } @@ -53,7 +53,7 @@ func (m *Thing) XXX_DiscardUnknown() { var xxx_messageInfo_Thing proto.InternalMessageInfo -func (m *Thing) GetTimestamp() *types.Timestamp { +func (m *Thing) GetTimestamp() *timestamp.Timestamp { if m != nil { return m.Timestamp } diff --git a/go.mod b/go.mod index d9daccc..e1c3c7e 100644 --- a/go.mod +++ b/go.mod @@ -3,8 +3,10 @@ module github.com/containerd/protobuild go 1.13 require ( - github.com/gogo/protobuf v1.3.2 - github.com/golang/protobuf v1.3.5 + github.com/golang/protobuf v1.5.0 github.com/pelletier/go-toml v1.8.1 + golang.org/x/net v0.0.0-20201021035429-f5854403a974 // indirect + golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect google.golang.org/grpc v1.28.1 + google.golang.org/protobuf v1.27.1 // indirect ) diff --git a/go.sum b/go.sum index 578240f..2795263 100644 --- a/go.sum +++ b/go.sum @@ -8,48 +8,36 @@ github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.5 h1:F768QJ1E9tib+q5Sc8MkdJi1RxLTbRcTf8LJV56aRls= -github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= -github.com/google/go-cmp v0.2.0 h1:+dTQ8DZQJz0Mb/HjFlkptS1FeQ4cWSnN941F8aEG4SQ= +github.com/golang/protobuf v1.5.0 h1:LUVKkCeviFUMKqHa4tXIIij/lbhnMbP7Fn5wKdKkRh4= +github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU= +github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/pelletier/go-toml v1.8.1 h1:1Nf83orprkJyknT6h7zbuEGUEjcyVlCxSUGTENmNCRM= github.com/pelletier/go-toml v1.8.1/go.mod h1:T2/BmBdy8dvIRq1a/8aqjN41wvWlN4lrapLU/GW4pbc= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974 h1:IX6qOQeG5uLjB/hjjwjedwfjND0hgjPMMyO1RoIXQNI= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -63,12 +51,8 @@ golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGm golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -80,5 +64,8 @@ google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyac google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= google.golang.org/grpc v1.28.1 h1:C1QC6KzgSiLyBabDi87BbjaGreoRgGUF5nOyvfrAZ1k= google.golang.org/grpc v1.28.1/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= +google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= +google.golang.org/protobuf v1.27.1 h1:SnqbnDw1V7RiZcXPx5MEeqPv2s79L9i7BJUlG/+RurQ= +google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= diff --git a/internal/emptypb.go b/internal/emptypb.go new file mode 100644 index 0000000..f3fa61e --- /dev/null +++ b/internal/emptypb.go @@ -0,0 +1,21 @@ +/* + Copyright The containerd Authors. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +// This package is written for demonstrating Protobuild's "packages" override. +// Not for production. +package internal + +type Empty struct{}