diff --git a/.github/workflows/ci-check-repo.yaml b/.github/workflows/ci-check-repo.yaml index 6101f1a166..c71b7e4889 100644 --- a/.github/workflows/ci-check-repo.yaml +++ b/.github/workflows/ci-check-repo.yaml @@ -158,13 +158,8 @@ jobs: pull: "--ff" - name: Check generated protobufs working-directory: ./proto - env: - USE_BAZEL_VERSION: 7.4.0 run: | - (cd third_party/protobuf && bazel build //:protoc) - (cd third_party/protobuf-go && go build -o ._protoc-gen-go ./cmd/protoc-gen-go) - (cd third_party/grpc-go/cmd/protoc-gen-go-grpc && go build -o ._protoc-gen-go-grpc .) - make clean all + bazel run //:update find ../go/gen/proto -name '*.pb.go' -exec gofmt -s -w {} + find ../go/gen/proto -name '*.pb.go' -exec goimports -w {} + changes=$(git status --porcelain) diff --git a/.gitmodules b/.gitmodules index b1778fa998..399166cae9 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,19 +1,3 @@ -[submodule "proto/third_party/protobuf"] - path = proto/third_party/protobuf - url = https://github.com/protocolbuffers/protobuf.git - ignore = dirty -[submodule "proto/third_party/googleapis"] - path = proto/third_party/googleapis - url = https://github.com/googleapis/googleapis.git - ignore = dirty -[submodule "proto/third_party/protobuf-go"] - path = proto/third_party/protobuf-go - url = https://github.com/protocolbuffers/protobuf-go.git - ignore = dirty -[submodule "proto/third_party/grpc-go"] - path = proto/third_party/grpc-go - url = https://github.com/grpc/grpc-go.git - ignore = dirty [submodule "integration-tests/mysql-client-tests/cpp/third_party/mysql-connector-cpp"] path = integration-tests/mysql-client-tests/cpp/third_party/mysql-connector-cpp url = https://github.com/mysql/mysql-connector-cpp.git diff --git a/go/gen/proto/dolt/services/remotesapi/v1alpha1/chunkstore.pb.go b/go/gen/proto/dolt/services/remotesapi/v1alpha1/chunkstore.pb.go index 88783fe62c..e5a9f5ef46 100644 --- a/go/gen/proto/dolt/services/remotesapi/v1alpha1/chunkstore.pb.go +++ b/go/gen/proto/dolt/services/remotesapi/v1alpha1/chunkstore.pb.go @@ -14,20 +14,23 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.6 -// protoc v6.31.1 +// protoc-gen-go v1.36.11 +// protoc v6.33.5 // source: dolt/services/remotesapi/v1alpha1/chunkstore.proto package remotesapi import ( - reflect "reflect" - sync "sync" - unsafe "unsafe" - + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" timestamppb "google.golang.org/protobuf/types/known/timestamppb" + reflect "reflect" + sync "sync" + unsafe "unsafe" ) const ( @@ -2488,3 +2491,490 @@ func file_dolt_services_remotesapi_v1alpha1_chunkstore_proto_init() { file_dolt_services_remotesapi_v1alpha1_chunkstore_proto_goTypes = nil file_dolt_services_remotesapi_v1alpha1_chunkstore_proto_depIdxs = nil } + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConnInterface + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion6 + +// ChunkStoreServiceClient is the client API for ChunkStoreService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type ChunkStoreServiceClient interface { + GetRepoMetadata(ctx context.Context, in *GetRepoMetadataRequest, opts ...grpc.CallOption) (*GetRepoMetadataResponse, error) + HasChunks(ctx context.Context, in *HasChunksRequest, opts ...grpc.CallOption) (*HasChunksResponse, error) + // Get the download locations for a list of chunk hashes. + // Deprecated. Use StreamDownloadLocations. + GetDownloadLocations(ctx context.Context, in *GetDownloadLocsRequest, opts ...grpc.CallOption) (*GetDownloadLocsResponse, error) + // Get the download locations for a list of chunk hashes. Streaming to + // support large and incrementally available payloads. Results are generated + // as requests come in. + StreamDownloadLocations(ctx context.Context, opts ...grpc.CallOption) (ChunkStoreService_StreamDownloadLocationsClient, error) + // Get upload locations for a list of table file hashes. + // NOTE: We upload full table files but download individual chunks. + GetUploadLocations(ctx context.Context, in *GetUploadLocsRequest, opts ...grpc.CallOption) (*GetUploadLocsResponse, error) + Rebase(ctx context.Context, in *RebaseRequest, opts ...grpc.CallOption) (*RebaseResponse, error) + Root(ctx context.Context, in *RootRequest, opts ...grpc.CallOption) (*RootResponse, error) + Commit(ctx context.Context, in *CommitRequest, opts ...grpc.CallOption) (*CommitResponse, error) + ListTableFiles(ctx context.Context, in *ListTableFilesRequest, opts ...grpc.CallOption) (*ListTableFilesResponse, error) + RefreshTableFileUrl(ctx context.Context, in *RefreshTableFileUrlRequest, opts ...grpc.CallOption) (*RefreshTableFileUrlResponse, error) + AddTableFiles(ctx context.Context, in *AddTableFilesRequest, opts ...grpc.CallOption) (*AddTableFilesResponse, error) +} + +type chunkStoreServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewChunkStoreServiceClient(cc grpc.ClientConnInterface) ChunkStoreServiceClient { + return &chunkStoreServiceClient{cc} +} + +func (c *chunkStoreServiceClient) GetRepoMetadata(ctx context.Context, in *GetRepoMetadataRequest, opts ...grpc.CallOption) (*GetRepoMetadataResponse, error) { + out := new(GetRepoMetadataResponse) + err := c.cc.Invoke(ctx, "/dolt.services.remotesapi.v1alpha1.ChunkStoreService/GetRepoMetadata", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *chunkStoreServiceClient) HasChunks(ctx context.Context, in *HasChunksRequest, opts ...grpc.CallOption) (*HasChunksResponse, error) { + out := new(HasChunksResponse) + err := c.cc.Invoke(ctx, "/dolt.services.remotesapi.v1alpha1.ChunkStoreService/HasChunks", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *chunkStoreServiceClient) GetDownloadLocations(ctx context.Context, in *GetDownloadLocsRequest, opts ...grpc.CallOption) (*GetDownloadLocsResponse, error) { + out := new(GetDownloadLocsResponse) + err := c.cc.Invoke(ctx, "/dolt.services.remotesapi.v1alpha1.ChunkStoreService/GetDownloadLocations", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *chunkStoreServiceClient) StreamDownloadLocations(ctx context.Context, opts ...grpc.CallOption) (ChunkStoreService_StreamDownloadLocationsClient, error) { + stream, err := c.cc.NewStream(ctx, &_ChunkStoreService_serviceDesc.Streams[0], "/dolt.services.remotesapi.v1alpha1.ChunkStoreService/StreamDownloadLocations", opts...) + if err != nil { + return nil, err + } + x := &chunkStoreServiceStreamDownloadLocationsClient{stream} + return x, nil +} + +type ChunkStoreService_StreamDownloadLocationsClient interface { + Send(*GetDownloadLocsRequest) error + Recv() (*GetDownloadLocsResponse, error) + grpc.ClientStream +} + +type chunkStoreServiceStreamDownloadLocationsClient struct { + grpc.ClientStream +} + +func (x *chunkStoreServiceStreamDownloadLocationsClient) Send(m *GetDownloadLocsRequest) error { + return x.ClientStream.SendMsg(m) +} + +func (x *chunkStoreServiceStreamDownloadLocationsClient) Recv() (*GetDownloadLocsResponse, error) { + m := new(GetDownloadLocsResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *chunkStoreServiceClient) GetUploadLocations(ctx context.Context, in *GetUploadLocsRequest, opts ...grpc.CallOption) (*GetUploadLocsResponse, error) { + out := new(GetUploadLocsResponse) + err := c.cc.Invoke(ctx, "/dolt.services.remotesapi.v1alpha1.ChunkStoreService/GetUploadLocations", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *chunkStoreServiceClient) Rebase(ctx context.Context, in *RebaseRequest, opts ...grpc.CallOption) (*RebaseResponse, error) { + out := new(RebaseResponse) + err := c.cc.Invoke(ctx, "/dolt.services.remotesapi.v1alpha1.ChunkStoreService/Rebase", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *chunkStoreServiceClient) Root(ctx context.Context, in *RootRequest, opts ...grpc.CallOption) (*RootResponse, error) { + out := new(RootResponse) + err := c.cc.Invoke(ctx, "/dolt.services.remotesapi.v1alpha1.ChunkStoreService/Root", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *chunkStoreServiceClient) Commit(ctx context.Context, in *CommitRequest, opts ...grpc.CallOption) (*CommitResponse, error) { + out := new(CommitResponse) + err := c.cc.Invoke(ctx, "/dolt.services.remotesapi.v1alpha1.ChunkStoreService/Commit", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *chunkStoreServiceClient) ListTableFiles(ctx context.Context, in *ListTableFilesRequest, opts ...grpc.CallOption) (*ListTableFilesResponse, error) { + out := new(ListTableFilesResponse) + err := c.cc.Invoke(ctx, "/dolt.services.remotesapi.v1alpha1.ChunkStoreService/ListTableFiles", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *chunkStoreServiceClient) RefreshTableFileUrl(ctx context.Context, in *RefreshTableFileUrlRequest, opts ...grpc.CallOption) (*RefreshTableFileUrlResponse, error) { + out := new(RefreshTableFileUrlResponse) + err := c.cc.Invoke(ctx, "/dolt.services.remotesapi.v1alpha1.ChunkStoreService/RefreshTableFileUrl", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *chunkStoreServiceClient) AddTableFiles(ctx context.Context, in *AddTableFilesRequest, opts ...grpc.CallOption) (*AddTableFilesResponse, error) { + out := new(AddTableFilesResponse) + err := c.cc.Invoke(ctx, "/dolt.services.remotesapi.v1alpha1.ChunkStoreService/AddTableFiles", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// ChunkStoreServiceServer is the server API for ChunkStoreService service. +type ChunkStoreServiceServer interface { + GetRepoMetadata(context.Context, *GetRepoMetadataRequest) (*GetRepoMetadataResponse, error) + HasChunks(context.Context, *HasChunksRequest) (*HasChunksResponse, error) + // Get the download locations for a list of chunk hashes. + // Deprecated. Use StreamDownloadLocations. + GetDownloadLocations(context.Context, *GetDownloadLocsRequest) (*GetDownloadLocsResponse, error) + // Get the download locations for a list of chunk hashes. Streaming to + // support large and incrementally available payloads. Results are generated + // as requests come in. + StreamDownloadLocations(ChunkStoreService_StreamDownloadLocationsServer) error + // Get upload locations for a list of table file hashes. + // NOTE: We upload full table files but download individual chunks. + GetUploadLocations(context.Context, *GetUploadLocsRequest) (*GetUploadLocsResponse, error) + Rebase(context.Context, *RebaseRequest) (*RebaseResponse, error) + Root(context.Context, *RootRequest) (*RootResponse, error) + Commit(context.Context, *CommitRequest) (*CommitResponse, error) + ListTableFiles(context.Context, *ListTableFilesRequest) (*ListTableFilesResponse, error) + RefreshTableFileUrl(context.Context, *RefreshTableFileUrlRequest) (*RefreshTableFileUrlResponse, error) + AddTableFiles(context.Context, *AddTableFilesRequest) (*AddTableFilesResponse, error) +} + +// UnimplementedChunkStoreServiceServer can be embedded to have forward compatible implementations. +type UnimplementedChunkStoreServiceServer struct { +} + +func (*UnimplementedChunkStoreServiceServer) GetRepoMetadata(context.Context, *GetRepoMetadataRequest) (*GetRepoMetadataResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetRepoMetadata not implemented") +} +func (*UnimplementedChunkStoreServiceServer) HasChunks(context.Context, *HasChunksRequest) (*HasChunksResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method HasChunks not implemented") +} +func (*UnimplementedChunkStoreServiceServer) GetDownloadLocations(context.Context, *GetDownloadLocsRequest) (*GetDownloadLocsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetDownloadLocations not implemented") +} +func (*UnimplementedChunkStoreServiceServer) StreamDownloadLocations(ChunkStoreService_StreamDownloadLocationsServer) error { + return status.Errorf(codes.Unimplemented, "method StreamDownloadLocations not implemented") +} +func (*UnimplementedChunkStoreServiceServer) GetUploadLocations(context.Context, *GetUploadLocsRequest) (*GetUploadLocsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetUploadLocations not implemented") +} +func (*UnimplementedChunkStoreServiceServer) Rebase(context.Context, *RebaseRequest) (*RebaseResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Rebase not implemented") +} +func (*UnimplementedChunkStoreServiceServer) Root(context.Context, *RootRequest) (*RootResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Root not implemented") +} +func (*UnimplementedChunkStoreServiceServer) Commit(context.Context, *CommitRequest) (*CommitResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Commit not implemented") +} +func (*UnimplementedChunkStoreServiceServer) ListTableFiles(context.Context, *ListTableFilesRequest) (*ListTableFilesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListTableFiles not implemented") +} +func (*UnimplementedChunkStoreServiceServer) RefreshTableFileUrl(context.Context, *RefreshTableFileUrlRequest) (*RefreshTableFileUrlResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RefreshTableFileUrl not implemented") +} +func (*UnimplementedChunkStoreServiceServer) AddTableFiles(context.Context, *AddTableFilesRequest) (*AddTableFilesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AddTableFiles not implemented") +} + +func RegisterChunkStoreServiceServer(s *grpc.Server, srv ChunkStoreServiceServer) { + s.RegisterService(&_ChunkStoreService_serviceDesc, srv) +} + +func _ChunkStoreService_GetRepoMetadata_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetRepoMetadataRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ChunkStoreServiceServer).GetRepoMetadata(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/dolt.services.remotesapi.v1alpha1.ChunkStoreService/GetRepoMetadata", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ChunkStoreServiceServer).GetRepoMetadata(ctx, req.(*GetRepoMetadataRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ChunkStoreService_HasChunks_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(HasChunksRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ChunkStoreServiceServer).HasChunks(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/dolt.services.remotesapi.v1alpha1.ChunkStoreService/HasChunks", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ChunkStoreServiceServer).HasChunks(ctx, req.(*HasChunksRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ChunkStoreService_GetDownloadLocations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetDownloadLocsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ChunkStoreServiceServer).GetDownloadLocations(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/dolt.services.remotesapi.v1alpha1.ChunkStoreService/GetDownloadLocations", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ChunkStoreServiceServer).GetDownloadLocations(ctx, req.(*GetDownloadLocsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ChunkStoreService_StreamDownloadLocations_Handler(srv interface{}, stream grpc.ServerStream) error { + return srv.(ChunkStoreServiceServer).StreamDownloadLocations(&chunkStoreServiceStreamDownloadLocationsServer{stream}) +} + +type ChunkStoreService_StreamDownloadLocationsServer interface { + Send(*GetDownloadLocsResponse) error + Recv() (*GetDownloadLocsRequest, error) + grpc.ServerStream +} + +type chunkStoreServiceStreamDownloadLocationsServer struct { + grpc.ServerStream +} + +func (x *chunkStoreServiceStreamDownloadLocationsServer) Send(m *GetDownloadLocsResponse) error { + return x.ServerStream.SendMsg(m) +} + +func (x *chunkStoreServiceStreamDownloadLocationsServer) Recv() (*GetDownloadLocsRequest, error) { + m := new(GetDownloadLocsRequest) + if err := x.ServerStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func _ChunkStoreService_GetUploadLocations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetUploadLocsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ChunkStoreServiceServer).GetUploadLocations(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/dolt.services.remotesapi.v1alpha1.ChunkStoreService/GetUploadLocations", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ChunkStoreServiceServer).GetUploadLocations(ctx, req.(*GetUploadLocsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ChunkStoreService_Rebase_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RebaseRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ChunkStoreServiceServer).Rebase(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/dolt.services.remotesapi.v1alpha1.ChunkStoreService/Rebase", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ChunkStoreServiceServer).Rebase(ctx, req.(*RebaseRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ChunkStoreService_Root_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RootRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ChunkStoreServiceServer).Root(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/dolt.services.remotesapi.v1alpha1.ChunkStoreService/Root", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ChunkStoreServiceServer).Root(ctx, req.(*RootRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ChunkStoreService_Commit_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CommitRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ChunkStoreServiceServer).Commit(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/dolt.services.remotesapi.v1alpha1.ChunkStoreService/Commit", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ChunkStoreServiceServer).Commit(ctx, req.(*CommitRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ChunkStoreService_ListTableFiles_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListTableFilesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ChunkStoreServiceServer).ListTableFiles(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/dolt.services.remotesapi.v1alpha1.ChunkStoreService/ListTableFiles", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ChunkStoreServiceServer).ListTableFiles(ctx, req.(*ListTableFilesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ChunkStoreService_RefreshTableFileUrl_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RefreshTableFileUrlRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ChunkStoreServiceServer).RefreshTableFileUrl(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/dolt.services.remotesapi.v1alpha1.ChunkStoreService/RefreshTableFileUrl", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ChunkStoreServiceServer).RefreshTableFileUrl(ctx, req.(*RefreshTableFileUrlRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ChunkStoreService_AddTableFiles_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AddTableFilesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ChunkStoreServiceServer).AddTableFiles(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/dolt.services.remotesapi.v1alpha1.ChunkStoreService/AddTableFiles", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ChunkStoreServiceServer).AddTableFiles(ctx, req.(*AddTableFilesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _ChunkStoreService_serviceDesc = grpc.ServiceDesc{ + ServiceName: "dolt.services.remotesapi.v1alpha1.ChunkStoreService", + HandlerType: (*ChunkStoreServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "GetRepoMetadata", + Handler: _ChunkStoreService_GetRepoMetadata_Handler, + }, + { + MethodName: "HasChunks", + Handler: _ChunkStoreService_HasChunks_Handler, + }, + { + MethodName: "GetDownloadLocations", + Handler: _ChunkStoreService_GetDownloadLocations_Handler, + }, + { + MethodName: "GetUploadLocations", + Handler: _ChunkStoreService_GetUploadLocations_Handler, + }, + { + MethodName: "Rebase", + Handler: _ChunkStoreService_Rebase_Handler, + }, + { + MethodName: "Root", + Handler: _ChunkStoreService_Root_Handler, + }, + { + MethodName: "Commit", + Handler: _ChunkStoreService_Commit_Handler, + }, + { + MethodName: "ListTableFiles", + Handler: _ChunkStoreService_ListTableFiles_Handler, + }, + { + MethodName: "RefreshTableFileUrl", + Handler: _ChunkStoreService_RefreshTableFileUrl_Handler, + }, + { + MethodName: "AddTableFiles", + Handler: _ChunkStoreService_AddTableFiles_Handler, + }, + }, + Streams: []grpc.StreamDesc{ + { + StreamName: "StreamDownloadLocations", + Handler: _ChunkStoreService_StreamDownloadLocations_Handler, + ServerStreams: true, + ClientStreams: true, + }, + }, + Metadata: "dolt/services/remotesapi/v1alpha1/chunkstore.proto", +} diff --git a/go/gen/proto/dolt/services/remotesapi/v1alpha1/chunkstore_grpc.pb.go b/go/gen/proto/dolt/services/remotesapi/v1alpha1/chunkstore_grpc.pb.go deleted file mode 100644 index bb9732a6b1..0000000000 --- a/go/gen/proto/dolt/services/remotesapi/v1alpha1/chunkstore_grpc.pb.go +++ /dev/null @@ -1,525 +0,0 @@ -// Copyright 2019 Dolthub, Inc. -// -// 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. - -// Code generated by protoc-gen-go-grpc. DO NOT EDIT. -// versions: -// - protoc-gen-go-grpc v1.5.1 -// - protoc v6.31.1 -// source: dolt/services/remotesapi/v1alpha1/chunkstore.proto - -package remotesapi - -import ( - context "context" - - grpc "google.golang.org/grpc" - codes "google.golang.org/grpc/codes" - status "google.golang.org/grpc/status" -) - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.64.0 or later. -const _ = grpc.SupportPackageIsVersion9 - -const ( - ChunkStoreService_GetRepoMetadata_FullMethodName = "/dolt.services.remotesapi.v1alpha1.ChunkStoreService/GetRepoMetadata" - ChunkStoreService_HasChunks_FullMethodName = "/dolt.services.remotesapi.v1alpha1.ChunkStoreService/HasChunks" - ChunkStoreService_GetDownloadLocations_FullMethodName = "/dolt.services.remotesapi.v1alpha1.ChunkStoreService/GetDownloadLocations" - ChunkStoreService_StreamDownloadLocations_FullMethodName = "/dolt.services.remotesapi.v1alpha1.ChunkStoreService/StreamDownloadLocations" - ChunkStoreService_GetUploadLocations_FullMethodName = "/dolt.services.remotesapi.v1alpha1.ChunkStoreService/GetUploadLocations" - ChunkStoreService_Rebase_FullMethodName = "/dolt.services.remotesapi.v1alpha1.ChunkStoreService/Rebase" - ChunkStoreService_Root_FullMethodName = "/dolt.services.remotesapi.v1alpha1.ChunkStoreService/Root" - ChunkStoreService_Commit_FullMethodName = "/dolt.services.remotesapi.v1alpha1.ChunkStoreService/Commit" - ChunkStoreService_ListTableFiles_FullMethodName = "/dolt.services.remotesapi.v1alpha1.ChunkStoreService/ListTableFiles" - ChunkStoreService_RefreshTableFileUrl_FullMethodName = "/dolt.services.remotesapi.v1alpha1.ChunkStoreService/RefreshTableFileUrl" - ChunkStoreService_AddTableFiles_FullMethodName = "/dolt.services.remotesapi.v1alpha1.ChunkStoreService/AddTableFiles" -) - -// ChunkStoreServiceClient is the client API for ChunkStoreService service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. -type ChunkStoreServiceClient interface { - GetRepoMetadata(ctx context.Context, in *GetRepoMetadataRequest, opts ...grpc.CallOption) (*GetRepoMetadataResponse, error) - HasChunks(ctx context.Context, in *HasChunksRequest, opts ...grpc.CallOption) (*HasChunksResponse, error) - // Get the download locations for a list of chunk hashes. - // Deprecated. Use StreamDownloadLocations. - GetDownloadLocations(ctx context.Context, in *GetDownloadLocsRequest, opts ...grpc.CallOption) (*GetDownloadLocsResponse, error) - // Get the download locations for a list of chunk hashes. Streaming to - // support large and incrementally available payloads. Results are generated - // as requests come in. - StreamDownloadLocations(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[GetDownloadLocsRequest, GetDownloadLocsResponse], error) - // Get upload locations for a list of table file hashes. - // NOTE: We upload full table files but download individual chunks. - GetUploadLocations(ctx context.Context, in *GetUploadLocsRequest, opts ...grpc.CallOption) (*GetUploadLocsResponse, error) - Rebase(ctx context.Context, in *RebaseRequest, opts ...grpc.CallOption) (*RebaseResponse, error) - Root(ctx context.Context, in *RootRequest, opts ...grpc.CallOption) (*RootResponse, error) - Commit(ctx context.Context, in *CommitRequest, opts ...grpc.CallOption) (*CommitResponse, error) - ListTableFiles(ctx context.Context, in *ListTableFilesRequest, opts ...grpc.CallOption) (*ListTableFilesResponse, error) - RefreshTableFileUrl(ctx context.Context, in *RefreshTableFileUrlRequest, opts ...grpc.CallOption) (*RefreshTableFileUrlResponse, error) - AddTableFiles(ctx context.Context, in *AddTableFilesRequest, opts ...grpc.CallOption) (*AddTableFilesResponse, error) -} - -type chunkStoreServiceClient struct { - cc grpc.ClientConnInterface -} - -func NewChunkStoreServiceClient(cc grpc.ClientConnInterface) ChunkStoreServiceClient { - return &chunkStoreServiceClient{cc} -} - -func (c *chunkStoreServiceClient) GetRepoMetadata(ctx context.Context, in *GetRepoMetadataRequest, opts ...grpc.CallOption) (*GetRepoMetadataResponse, error) { - cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) - out := new(GetRepoMetadataResponse) - err := c.cc.Invoke(ctx, ChunkStoreService_GetRepoMetadata_FullMethodName, in, out, cOpts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *chunkStoreServiceClient) HasChunks(ctx context.Context, in *HasChunksRequest, opts ...grpc.CallOption) (*HasChunksResponse, error) { - cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) - out := new(HasChunksResponse) - err := c.cc.Invoke(ctx, ChunkStoreService_HasChunks_FullMethodName, in, out, cOpts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *chunkStoreServiceClient) GetDownloadLocations(ctx context.Context, in *GetDownloadLocsRequest, opts ...grpc.CallOption) (*GetDownloadLocsResponse, error) { - cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) - out := new(GetDownloadLocsResponse) - err := c.cc.Invoke(ctx, ChunkStoreService_GetDownloadLocations_FullMethodName, in, out, cOpts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *chunkStoreServiceClient) StreamDownloadLocations(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[GetDownloadLocsRequest, GetDownloadLocsResponse], error) { - cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) - stream, err := c.cc.NewStream(ctx, &ChunkStoreService_ServiceDesc.Streams[0], ChunkStoreService_StreamDownloadLocations_FullMethodName, cOpts...) - if err != nil { - return nil, err - } - x := &grpc.GenericClientStream[GetDownloadLocsRequest, GetDownloadLocsResponse]{ClientStream: stream} - return x, nil -} - -// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. -type ChunkStoreService_StreamDownloadLocationsClient = grpc.BidiStreamingClient[GetDownloadLocsRequest, GetDownloadLocsResponse] - -func (c *chunkStoreServiceClient) GetUploadLocations(ctx context.Context, in *GetUploadLocsRequest, opts ...grpc.CallOption) (*GetUploadLocsResponse, error) { - cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) - out := new(GetUploadLocsResponse) - err := c.cc.Invoke(ctx, ChunkStoreService_GetUploadLocations_FullMethodName, in, out, cOpts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *chunkStoreServiceClient) Rebase(ctx context.Context, in *RebaseRequest, opts ...grpc.CallOption) (*RebaseResponse, error) { - cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) - out := new(RebaseResponse) - err := c.cc.Invoke(ctx, ChunkStoreService_Rebase_FullMethodName, in, out, cOpts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *chunkStoreServiceClient) Root(ctx context.Context, in *RootRequest, opts ...grpc.CallOption) (*RootResponse, error) { - cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) - out := new(RootResponse) - err := c.cc.Invoke(ctx, ChunkStoreService_Root_FullMethodName, in, out, cOpts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *chunkStoreServiceClient) Commit(ctx context.Context, in *CommitRequest, opts ...grpc.CallOption) (*CommitResponse, error) { - cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) - out := new(CommitResponse) - err := c.cc.Invoke(ctx, ChunkStoreService_Commit_FullMethodName, in, out, cOpts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *chunkStoreServiceClient) ListTableFiles(ctx context.Context, in *ListTableFilesRequest, opts ...grpc.CallOption) (*ListTableFilesResponse, error) { - cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) - out := new(ListTableFilesResponse) - err := c.cc.Invoke(ctx, ChunkStoreService_ListTableFiles_FullMethodName, in, out, cOpts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *chunkStoreServiceClient) RefreshTableFileUrl(ctx context.Context, in *RefreshTableFileUrlRequest, opts ...grpc.CallOption) (*RefreshTableFileUrlResponse, error) { - cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) - out := new(RefreshTableFileUrlResponse) - err := c.cc.Invoke(ctx, ChunkStoreService_RefreshTableFileUrl_FullMethodName, in, out, cOpts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *chunkStoreServiceClient) AddTableFiles(ctx context.Context, in *AddTableFilesRequest, opts ...grpc.CallOption) (*AddTableFilesResponse, error) { - cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) - out := new(AddTableFilesResponse) - err := c.cc.Invoke(ctx, ChunkStoreService_AddTableFiles_FullMethodName, in, out, cOpts...) - if err != nil { - return nil, err - } - return out, nil -} - -// ChunkStoreServiceServer is the server API for ChunkStoreService service. -// All implementations must embed UnimplementedChunkStoreServiceServer -// for forward compatibility. -type ChunkStoreServiceServer interface { - GetRepoMetadata(context.Context, *GetRepoMetadataRequest) (*GetRepoMetadataResponse, error) - HasChunks(context.Context, *HasChunksRequest) (*HasChunksResponse, error) - // Get the download locations for a list of chunk hashes. - // Deprecated. Use StreamDownloadLocations. - GetDownloadLocations(context.Context, *GetDownloadLocsRequest) (*GetDownloadLocsResponse, error) - // Get the download locations for a list of chunk hashes. Streaming to - // support large and incrementally available payloads. Results are generated - // as requests come in. - StreamDownloadLocations(grpc.BidiStreamingServer[GetDownloadLocsRequest, GetDownloadLocsResponse]) error - // Get upload locations for a list of table file hashes. - // NOTE: We upload full table files but download individual chunks. - GetUploadLocations(context.Context, *GetUploadLocsRequest) (*GetUploadLocsResponse, error) - Rebase(context.Context, *RebaseRequest) (*RebaseResponse, error) - Root(context.Context, *RootRequest) (*RootResponse, error) - Commit(context.Context, *CommitRequest) (*CommitResponse, error) - ListTableFiles(context.Context, *ListTableFilesRequest) (*ListTableFilesResponse, error) - RefreshTableFileUrl(context.Context, *RefreshTableFileUrlRequest) (*RefreshTableFileUrlResponse, error) - AddTableFiles(context.Context, *AddTableFilesRequest) (*AddTableFilesResponse, error) - mustEmbedUnimplementedChunkStoreServiceServer() -} - -// UnimplementedChunkStoreServiceServer must be embedded to have -// forward compatible implementations. -// -// NOTE: this should be embedded by value instead of pointer to avoid a nil -// pointer dereference when methods are called. -type UnimplementedChunkStoreServiceServer struct{} - -func (UnimplementedChunkStoreServiceServer) GetRepoMetadata(context.Context, *GetRepoMetadataRequest) (*GetRepoMetadataResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetRepoMetadata not implemented") -} -func (UnimplementedChunkStoreServiceServer) HasChunks(context.Context, *HasChunksRequest) (*HasChunksResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method HasChunks not implemented") -} -func (UnimplementedChunkStoreServiceServer) GetDownloadLocations(context.Context, *GetDownloadLocsRequest) (*GetDownloadLocsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetDownloadLocations not implemented") -} -func (UnimplementedChunkStoreServiceServer) StreamDownloadLocations(grpc.BidiStreamingServer[GetDownloadLocsRequest, GetDownloadLocsResponse]) error { - return status.Errorf(codes.Unimplemented, "method StreamDownloadLocations not implemented") -} -func (UnimplementedChunkStoreServiceServer) GetUploadLocations(context.Context, *GetUploadLocsRequest) (*GetUploadLocsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetUploadLocations not implemented") -} -func (UnimplementedChunkStoreServiceServer) Rebase(context.Context, *RebaseRequest) (*RebaseResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method Rebase not implemented") -} -func (UnimplementedChunkStoreServiceServer) Root(context.Context, *RootRequest) (*RootResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method Root not implemented") -} -func (UnimplementedChunkStoreServiceServer) Commit(context.Context, *CommitRequest) (*CommitResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method Commit not implemented") -} -func (UnimplementedChunkStoreServiceServer) ListTableFiles(context.Context, *ListTableFilesRequest) (*ListTableFilesResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ListTableFiles not implemented") -} -func (UnimplementedChunkStoreServiceServer) RefreshTableFileUrl(context.Context, *RefreshTableFileUrlRequest) (*RefreshTableFileUrlResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method RefreshTableFileUrl not implemented") -} -func (UnimplementedChunkStoreServiceServer) AddTableFiles(context.Context, *AddTableFilesRequest) (*AddTableFilesResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method AddTableFiles not implemented") -} -func (UnimplementedChunkStoreServiceServer) mustEmbedUnimplementedChunkStoreServiceServer() {} -func (UnimplementedChunkStoreServiceServer) testEmbeddedByValue() {} - -// UnsafeChunkStoreServiceServer may be embedded to opt out of forward compatibility for this service. -// Use of this interface is not recommended, as added methods to ChunkStoreServiceServer will -// result in compilation errors. -type UnsafeChunkStoreServiceServer interface { - mustEmbedUnimplementedChunkStoreServiceServer() -} - -func RegisterChunkStoreServiceServer(s grpc.ServiceRegistrar, srv ChunkStoreServiceServer) { - // If the following call panics, it indicates UnimplementedChunkStoreServiceServer was - // embedded by pointer and is nil. This will cause panics if an - // unimplemented method is ever invoked, so we test this at initialization - // time to prevent it from happening at runtime later due to I/O. - if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { - t.testEmbeddedByValue() - } - s.RegisterService(&ChunkStoreService_ServiceDesc, srv) -} - -func _ChunkStoreService_GetRepoMetadata_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetRepoMetadataRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ChunkStoreServiceServer).GetRepoMetadata(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: ChunkStoreService_GetRepoMetadata_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ChunkStoreServiceServer).GetRepoMetadata(ctx, req.(*GetRepoMetadataRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _ChunkStoreService_HasChunks_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(HasChunksRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ChunkStoreServiceServer).HasChunks(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: ChunkStoreService_HasChunks_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ChunkStoreServiceServer).HasChunks(ctx, req.(*HasChunksRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _ChunkStoreService_GetDownloadLocations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetDownloadLocsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ChunkStoreServiceServer).GetDownloadLocations(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: ChunkStoreService_GetDownloadLocations_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ChunkStoreServiceServer).GetDownloadLocations(ctx, req.(*GetDownloadLocsRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _ChunkStoreService_StreamDownloadLocations_Handler(srv interface{}, stream grpc.ServerStream) error { - return srv.(ChunkStoreServiceServer).StreamDownloadLocations(&grpc.GenericServerStream[GetDownloadLocsRequest, GetDownloadLocsResponse]{ServerStream: stream}) -} - -// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. -type ChunkStoreService_StreamDownloadLocationsServer = grpc.BidiStreamingServer[GetDownloadLocsRequest, GetDownloadLocsResponse] - -func _ChunkStoreService_GetUploadLocations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetUploadLocsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ChunkStoreServiceServer).GetUploadLocations(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: ChunkStoreService_GetUploadLocations_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ChunkStoreServiceServer).GetUploadLocations(ctx, req.(*GetUploadLocsRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _ChunkStoreService_Rebase_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(RebaseRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ChunkStoreServiceServer).Rebase(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: ChunkStoreService_Rebase_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ChunkStoreServiceServer).Rebase(ctx, req.(*RebaseRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _ChunkStoreService_Root_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(RootRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ChunkStoreServiceServer).Root(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: ChunkStoreService_Root_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ChunkStoreServiceServer).Root(ctx, req.(*RootRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _ChunkStoreService_Commit_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(CommitRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ChunkStoreServiceServer).Commit(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: ChunkStoreService_Commit_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ChunkStoreServiceServer).Commit(ctx, req.(*CommitRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _ChunkStoreService_ListTableFiles_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ListTableFilesRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ChunkStoreServiceServer).ListTableFiles(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: ChunkStoreService_ListTableFiles_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ChunkStoreServiceServer).ListTableFiles(ctx, req.(*ListTableFilesRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _ChunkStoreService_RefreshTableFileUrl_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(RefreshTableFileUrlRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ChunkStoreServiceServer).RefreshTableFileUrl(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: ChunkStoreService_RefreshTableFileUrl_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ChunkStoreServiceServer).RefreshTableFileUrl(ctx, req.(*RefreshTableFileUrlRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _ChunkStoreService_AddTableFiles_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(AddTableFilesRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ChunkStoreServiceServer).AddTableFiles(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: ChunkStoreService_AddTableFiles_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ChunkStoreServiceServer).AddTableFiles(ctx, req.(*AddTableFilesRequest)) - } - return interceptor(ctx, in, info, handler) -} - -// ChunkStoreService_ServiceDesc is the grpc.ServiceDesc for ChunkStoreService service. -// It's only intended for direct use with grpc.RegisterService, -// and not to be introspected or modified (even as a copy) -var ChunkStoreService_ServiceDesc = grpc.ServiceDesc{ - ServiceName: "dolt.services.remotesapi.v1alpha1.ChunkStoreService", - HandlerType: (*ChunkStoreServiceServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "GetRepoMetadata", - Handler: _ChunkStoreService_GetRepoMetadata_Handler, - }, - { - MethodName: "HasChunks", - Handler: _ChunkStoreService_HasChunks_Handler, - }, - { - MethodName: "GetDownloadLocations", - Handler: _ChunkStoreService_GetDownloadLocations_Handler, - }, - { - MethodName: "GetUploadLocations", - Handler: _ChunkStoreService_GetUploadLocations_Handler, - }, - { - MethodName: "Rebase", - Handler: _ChunkStoreService_Rebase_Handler, - }, - { - MethodName: "Root", - Handler: _ChunkStoreService_Root_Handler, - }, - { - MethodName: "Commit", - Handler: _ChunkStoreService_Commit_Handler, - }, - { - MethodName: "ListTableFiles", - Handler: _ChunkStoreService_ListTableFiles_Handler, - }, - { - MethodName: "RefreshTableFileUrl", - Handler: _ChunkStoreService_RefreshTableFileUrl_Handler, - }, - { - MethodName: "AddTableFiles", - Handler: _ChunkStoreService_AddTableFiles_Handler, - }, - }, - Streams: []grpc.StreamDesc{ - { - StreamName: "StreamDownloadLocations", - Handler: _ChunkStoreService_StreamDownloadLocations_Handler, - ServerStreams: true, - ClientStreams: true, - }, - }, - Metadata: "dolt/services/remotesapi/v1alpha1/chunkstore.proto", -} diff --git a/go/gen/proto/dolt/services/remotesapi/v1alpha1/credentials.pb.go b/go/gen/proto/dolt/services/remotesapi/v1alpha1/credentials.pb.go index 2e09b82429..e7a1a2b9cd 100644 --- a/go/gen/proto/dolt/services/remotesapi/v1alpha1/credentials.pb.go +++ b/go/gen/proto/dolt/services/remotesapi/v1alpha1/credentials.pb.go @@ -14,19 +14,22 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.6 -// protoc v6.31.1 +// protoc-gen-go v1.36.11 +// protoc v6.33.5 // source: dolt/services/remotesapi/v1alpha1/credentials.proto package remotesapi import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" unsafe "unsafe" - - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" ) const ( @@ -198,3 +201,83 @@ func file_dolt_services_remotesapi_v1alpha1_credentials_proto_init() { file_dolt_services_remotesapi_v1alpha1_credentials_proto_goTypes = nil file_dolt_services_remotesapi_v1alpha1_credentials_proto_depIdxs = nil } + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConnInterface + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion6 + +// CredentialsServiceClient is the client API for CredentialsService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type CredentialsServiceClient interface { + WhoAmI(ctx context.Context, in *WhoAmIRequest, opts ...grpc.CallOption) (*WhoAmIResponse, error) +} + +type credentialsServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewCredentialsServiceClient(cc grpc.ClientConnInterface) CredentialsServiceClient { + return &credentialsServiceClient{cc} +} + +func (c *credentialsServiceClient) WhoAmI(ctx context.Context, in *WhoAmIRequest, opts ...grpc.CallOption) (*WhoAmIResponse, error) { + out := new(WhoAmIResponse) + err := c.cc.Invoke(ctx, "/dolt.services.remotesapi.v1alpha1.CredentialsService/WhoAmI", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// CredentialsServiceServer is the server API for CredentialsService service. +type CredentialsServiceServer interface { + WhoAmI(context.Context, *WhoAmIRequest) (*WhoAmIResponse, error) +} + +// UnimplementedCredentialsServiceServer can be embedded to have forward compatible implementations. +type UnimplementedCredentialsServiceServer struct { +} + +func (*UnimplementedCredentialsServiceServer) WhoAmI(context.Context, *WhoAmIRequest) (*WhoAmIResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method WhoAmI not implemented") +} + +func RegisterCredentialsServiceServer(s *grpc.Server, srv CredentialsServiceServer) { + s.RegisterService(&_CredentialsService_serviceDesc, srv) +} + +func _CredentialsService_WhoAmI_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(WhoAmIRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CredentialsServiceServer).WhoAmI(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/dolt.services.remotesapi.v1alpha1.CredentialsService/WhoAmI", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CredentialsServiceServer).WhoAmI(ctx, req.(*WhoAmIRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _CredentialsService_serviceDesc = grpc.ServiceDesc{ + ServiceName: "dolt.services.remotesapi.v1alpha1.CredentialsService", + HandlerType: (*CredentialsServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "WhoAmI", + Handler: _CredentialsService_WhoAmI_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "dolt/services/remotesapi/v1alpha1/credentials.proto", +} diff --git a/go/gen/proto/dolt/services/remotesapi/v1alpha1/credentials_grpc.pb.go b/go/gen/proto/dolt/services/remotesapi/v1alpha1/credentials_grpc.pb.go deleted file mode 100644 index 742ea5da01..0000000000 --- a/go/gen/proto/dolt/services/remotesapi/v1alpha1/credentials_grpc.pb.go +++ /dev/null @@ -1,136 +0,0 @@ -// Copyright 2019 Dolthub, Inc. -// -// 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. - -// Code generated by protoc-gen-go-grpc. DO NOT EDIT. -// versions: -// - protoc-gen-go-grpc v1.5.1 -// - protoc v6.31.1 -// source: dolt/services/remotesapi/v1alpha1/credentials.proto - -package remotesapi - -import ( - context "context" - - grpc "google.golang.org/grpc" - codes "google.golang.org/grpc/codes" - status "google.golang.org/grpc/status" -) - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.64.0 or later. -const _ = grpc.SupportPackageIsVersion9 - -const ( - CredentialsService_WhoAmI_FullMethodName = "/dolt.services.remotesapi.v1alpha1.CredentialsService/WhoAmI" -) - -// CredentialsServiceClient is the client API for CredentialsService service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. -type CredentialsServiceClient interface { - WhoAmI(ctx context.Context, in *WhoAmIRequest, opts ...grpc.CallOption) (*WhoAmIResponse, error) -} - -type credentialsServiceClient struct { - cc grpc.ClientConnInterface -} - -func NewCredentialsServiceClient(cc grpc.ClientConnInterface) CredentialsServiceClient { - return &credentialsServiceClient{cc} -} - -func (c *credentialsServiceClient) WhoAmI(ctx context.Context, in *WhoAmIRequest, opts ...grpc.CallOption) (*WhoAmIResponse, error) { - cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) - out := new(WhoAmIResponse) - err := c.cc.Invoke(ctx, CredentialsService_WhoAmI_FullMethodName, in, out, cOpts...) - if err != nil { - return nil, err - } - return out, nil -} - -// CredentialsServiceServer is the server API for CredentialsService service. -// All implementations must embed UnimplementedCredentialsServiceServer -// for forward compatibility. -type CredentialsServiceServer interface { - WhoAmI(context.Context, *WhoAmIRequest) (*WhoAmIResponse, error) - mustEmbedUnimplementedCredentialsServiceServer() -} - -// UnimplementedCredentialsServiceServer must be embedded to have -// forward compatible implementations. -// -// NOTE: this should be embedded by value instead of pointer to avoid a nil -// pointer dereference when methods are called. -type UnimplementedCredentialsServiceServer struct{} - -func (UnimplementedCredentialsServiceServer) WhoAmI(context.Context, *WhoAmIRequest) (*WhoAmIResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method WhoAmI not implemented") -} -func (UnimplementedCredentialsServiceServer) mustEmbedUnimplementedCredentialsServiceServer() {} -func (UnimplementedCredentialsServiceServer) testEmbeddedByValue() {} - -// UnsafeCredentialsServiceServer may be embedded to opt out of forward compatibility for this service. -// Use of this interface is not recommended, as added methods to CredentialsServiceServer will -// result in compilation errors. -type UnsafeCredentialsServiceServer interface { - mustEmbedUnimplementedCredentialsServiceServer() -} - -func RegisterCredentialsServiceServer(s grpc.ServiceRegistrar, srv CredentialsServiceServer) { - // If the following call panics, it indicates UnimplementedCredentialsServiceServer was - // embedded by pointer and is nil. This will cause panics if an - // unimplemented method is ever invoked, so we test this at initialization - // time to prevent it from happening at runtime later due to I/O. - if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { - t.testEmbeddedByValue() - } - s.RegisterService(&CredentialsService_ServiceDesc, srv) -} - -func _CredentialsService_WhoAmI_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(WhoAmIRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CredentialsServiceServer).WhoAmI(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: CredentialsService_WhoAmI_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CredentialsServiceServer).WhoAmI(ctx, req.(*WhoAmIRequest)) - } - return interceptor(ctx, in, info, handler) -} - -// CredentialsService_ServiceDesc is the grpc.ServiceDesc for CredentialsService service. -// It's only intended for direct use with grpc.RegisterService, -// and not to be introspected or modified (even as a copy) -var CredentialsService_ServiceDesc = grpc.ServiceDesc{ - ServiceName: "dolt.services.remotesapi.v1alpha1.CredentialsService", - HandlerType: (*CredentialsServiceServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "WhoAmI", - Handler: _CredentialsService_WhoAmI_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "dolt/services/remotesapi/v1alpha1/credentials.proto", -} diff --git a/go/gen/proto/dolt/services/replicationapi/v1alpha1/replication.pb.go b/go/gen/proto/dolt/services/replicationapi/v1alpha1/replication.pb.go index cd1802e873..6eb7b7791e 100644 --- a/go/gen/proto/dolt/services/replicationapi/v1alpha1/replication.pb.go +++ b/go/gen/proto/dolt/services/replicationapi/v1alpha1/replication.pb.go @@ -14,19 +14,22 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.6 -// protoc v6.31.1 +// protoc-gen-go v1.36.11 +// protoc v6.33.5 // source: dolt/services/replicationapi/v1alpha1/replication.proto package replicationapi import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" unsafe "unsafe" - - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" ) const ( @@ -357,3 +360,167 @@ func file_dolt_services_replicationapi_v1alpha1_replication_proto_init() { file_dolt_services_replicationapi_v1alpha1_replication_proto_goTypes = nil file_dolt_services_replicationapi_v1alpha1_replication_proto_depIdxs = nil } + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConnInterface + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion6 + +// ReplicationServiceClient is the client API for ReplicationService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type ReplicationServiceClient interface { + // Users and grants in Dolt are stored in in a + // `github.com/dolthub/go-mysql-server/sql/mysql_db.*MySQLDb` instance. This + // method is called by a primary on a standby instance in order to set its + // in-effect users and grants. Its primary payload is the serialized contents + // of the `*MySQLDb` instance at the primary, such that it can be applied + // with OverwriteUsersAndGrantData. + UpdateUsersAndGrants(ctx context.Context, in *UpdateUsersAndGrantsRequest, opts ...grpc.CallOption) (*UpdateUsersAndGrantsResponse, error) + UpdateBranchControl(ctx context.Context, in *UpdateBranchControlRequest, opts ...grpc.CallOption) (*UpdateBranchControlResponse, error) + DropDatabase(ctx context.Context, in *DropDatabaseRequest, opts ...grpc.CallOption) (*DropDatabaseResponse, error) +} + +type replicationServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewReplicationServiceClient(cc grpc.ClientConnInterface) ReplicationServiceClient { + return &replicationServiceClient{cc} +} + +func (c *replicationServiceClient) UpdateUsersAndGrants(ctx context.Context, in *UpdateUsersAndGrantsRequest, opts ...grpc.CallOption) (*UpdateUsersAndGrantsResponse, error) { + out := new(UpdateUsersAndGrantsResponse) + err := c.cc.Invoke(ctx, "/dolt.services.replicationapi.v1alpha1.ReplicationService/UpdateUsersAndGrants", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *replicationServiceClient) UpdateBranchControl(ctx context.Context, in *UpdateBranchControlRequest, opts ...grpc.CallOption) (*UpdateBranchControlResponse, error) { + out := new(UpdateBranchControlResponse) + err := c.cc.Invoke(ctx, "/dolt.services.replicationapi.v1alpha1.ReplicationService/UpdateBranchControl", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *replicationServiceClient) DropDatabase(ctx context.Context, in *DropDatabaseRequest, opts ...grpc.CallOption) (*DropDatabaseResponse, error) { + out := new(DropDatabaseResponse) + err := c.cc.Invoke(ctx, "/dolt.services.replicationapi.v1alpha1.ReplicationService/DropDatabase", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// ReplicationServiceServer is the server API for ReplicationService service. +type ReplicationServiceServer interface { + // Users and grants in Dolt are stored in in a + // `github.com/dolthub/go-mysql-server/sql/mysql_db.*MySQLDb` instance. This + // method is called by a primary on a standby instance in order to set its + // in-effect users and grants. Its primary payload is the serialized contents + // of the `*MySQLDb` instance at the primary, such that it can be applied + // with OverwriteUsersAndGrantData. + UpdateUsersAndGrants(context.Context, *UpdateUsersAndGrantsRequest) (*UpdateUsersAndGrantsResponse, error) + UpdateBranchControl(context.Context, *UpdateBranchControlRequest) (*UpdateBranchControlResponse, error) + DropDatabase(context.Context, *DropDatabaseRequest) (*DropDatabaseResponse, error) +} + +// UnimplementedReplicationServiceServer can be embedded to have forward compatible implementations. +type UnimplementedReplicationServiceServer struct { +} + +func (*UnimplementedReplicationServiceServer) UpdateUsersAndGrants(context.Context, *UpdateUsersAndGrantsRequest) (*UpdateUsersAndGrantsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateUsersAndGrants not implemented") +} +func (*UnimplementedReplicationServiceServer) UpdateBranchControl(context.Context, *UpdateBranchControlRequest) (*UpdateBranchControlResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateBranchControl not implemented") +} +func (*UnimplementedReplicationServiceServer) DropDatabase(context.Context, *DropDatabaseRequest) (*DropDatabaseResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DropDatabase not implemented") +} + +func RegisterReplicationServiceServer(s *grpc.Server, srv ReplicationServiceServer) { + s.RegisterService(&_ReplicationService_serviceDesc, srv) +} + +func _ReplicationService_UpdateUsersAndGrants_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateUsersAndGrantsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ReplicationServiceServer).UpdateUsersAndGrants(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/dolt.services.replicationapi.v1alpha1.ReplicationService/UpdateUsersAndGrants", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ReplicationServiceServer).UpdateUsersAndGrants(ctx, req.(*UpdateUsersAndGrantsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ReplicationService_UpdateBranchControl_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateBranchControlRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ReplicationServiceServer).UpdateBranchControl(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/dolt.services.replicationapi.v1alpha1.ReplicationService/UpdateBranchControl", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ReplicationServiceServer).UpdateBranchControl(ctx, req.(*UpdateBranchControlRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ReplicationService_DropDatabase_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DropDatabaseRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ReplicationServiceServer).DropDatabase(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/dolt.services.replicationapi.v1alpha1.ReplicationService/DropDatabase", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ReplicationServiceServer).DropDatabase(ctx, req.(*DropDatabaseRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _ReplicationService_serviceDesc = grpc.ServiceDesc{ + ServiceName: "dolt.services.replicationapi.v1alpha1.ReplicationService", + HandlerType: (*ReplicationServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "UpdateUsersAndGrants", + Handler: _ReplicationService_UpdateUsersAndGrants_Handler, + }, + { + MethodName: "UpdateBranchControl", + Handler: _ReplicationService_UpdateBranchControl_Handler, + }, + { + MethodName: "DropDatabase", + Handler: _ReplicationService_DropDatabase_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "dolt/services/replicationapi/v1alpha1/replication.proto", +} diff --git a/go/gen/proto/dolt/services/replicationapi/v1alpha1/replication_grpc.pb.go b/go/gen/proto/dolt/services/replicationapi/v1alpha1/replication_grpc.pb.go deleted file mode 100644 index b72e94482d..0000000000 --- a/go/gen/proto/dolt/services/replicationapi/v1alpha1/replication_grpc.pb.go +++ /dev/null @@ -1,224 +0,0 @@ -// Copyright 2023 Dolthub, Inc. -// -// 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. - -// Code generated by protoc-gen-go-grpc. DO NOT EDIT. -// versions: -// - protoc-gen-go-grpc v1.5.1 -// - protoc v6.31.1 -// source: dolt/services/replicationapi/v1alpha1/replication.proto - -package replicationapi - -import ( - context "context" - - grpc "google.golang.org/grpc" - codes "google.golang.org/grpc/codes" - status "google.golang.org/grpc/status" -) - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.64.0 or later. -const _ = grpc.SupportPackageIsVersion9 - -const ( - ReplicationService_UpdateUsersAndGrants_FullMethodName = "/dolt.services.replicationapi.v1alpha1.ReplicationService/UpdateUsersAndGrants" - ReplicationService_UpdateBranchControl_FullMethodName = "/dolt.services.replicationapi.v1alpha1.ReplicationService/UpdateBranchControl" - ReplicationService_DropDatabase_FullMethodName = "/dolt.services.replicationapi.v1alpha1.ReplicationService/DropDatabase" -) - -// ReplicationServiceClient is the client API for ReplicationService service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. -type ReplicationServiceClient interface { - // Users and grants in Dolt are stored in in a - // `github.com/dolthub/go-mysql-server/sql/mysql_db.*MySQLDb` instance. This - // method is called by a primary on a standby instance in order to set its - // in-effect users and grants. Its primary payload is the serialized contents - // of the `*MySQLDb` instance at the primary, such that it can be applied - // with OverwriteUsersAndGrantData. - UpdateUsersAndGrants(ctx context.Context, in *UpdateUsersAndGrantsRequest, opts ...grpc.CallOption) (*UpdateUsersAndGrantsResponse, error) - UpdateBranchControl(ctx context.Context, in *UpdateBranchControlRequest, opts ...grpc.CallOption) (*UpdateBranchControlResponse, error) - DropDatabase(ctx context.Context, in *DropDatabaseRequest, opts ...grpc.CallOption) (*DropDatabaseResponse, error) -} - -type replicationServiceClient struct { - cc grpc.ClientConnInterface -} - -func NewReplicationServiceClient(cc grpc.ClientConnInterface) ReplicationServiceClient { - return &replicationServiceClient{cc} -} - -func (c *replicationServiceClient) UpdateUsersAndGrants(ctx context.Context, in *UpdateUsersAndGrantsRequest, opts ...grpc.CallOption) (*UpdateUsersAndGrantsResponse, error) { - cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) - out := new(UpdateUsersAndGrantsResponse) - err := c.cc.Invoke(ctx, ReplicationService_UpdateUsersAndGrants_FullMethodName, in, out, cOpts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *replicationServiceClient) UpdateBranchControl(ctx context.Context, in *UpdateBranchControlRequest, opts ...grpc.CallOption) (*UpdateBranchControlResponse, error) { - cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) - out := new(UpdateBranchControlResponse) - err := c.cc.Invoke(ctx, ReplicationService_UpdateBranchControl_FullMethodName, in, out, cOpts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *replicationServiceClient) DropDatabase(ctx context.Context, in *DropDatabaseRequest, opts ...grpc.CallOption) (*DropDatabaseResponse, error) { - cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) - out := new(DropDatabaseResponse) - err := c.cc.Invoke(ctx, ReplicationService_DropDatabase_FullMethodName, in, out, cOpts...) - if err != nil { - return nil, err - } - return out, nil -} - -// ReplicationServiceServer is the server API for ReplicationService service. -// All implementations must embed UnimplementedReplicationServiceServer -// for forward compatibility. -type ReplicationServiceServer interface { - // Users and grants in Dolt are stored in in a - // `github.com/dolthub/go-mysql-server/sql/mysql_db.*MySQLDb` instance. This - // method is called by a primary on a standby instance in order to set its - // in-effect users and grants. Its primary payload is the serialized contents - // of the `*MySQLDb` instance at the primary, such that it can be applied - // with OverwriteUsersAndGrantData. - UpdateUsersAndGrants(context.Context, *UpdateUsersAndGrantsRequest) (*UpdateUsersAndGrantsResponse, error) - UpdateBranchControl(context.Context, *UpdateBranchControlRequest) (*UpdateBranchControlResponse, error) - DropDatabase(context.Context, *DropDatabaseRequest) (*DropDatabaseResponse, error) - mustEmbedUnimplementedReplicationServiceServer() -} - -// UnimplementedReplicationServiceServer must be embedded to have -// forward compatible implementations. -// -// NOTE: this should be embedded by value instead of pointer to avoid a nil -// pointer dereference when methods are called. -type UnimplementedReplicationServiceServer struct{} - -func (UnimplementedReplicationServiceServer) UpdateUsersAndGrants(context.Context, *UpdateUsersAndGrantsRequest) (*UpdateUsersAndGrantsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UpdateUsersAndGrants not implemented") -} -func (UnimplementedReplicationServiceServer) UpdateBranchControl(context.Context, *UpdateBranchControlRequest) (*UpdateBranchControlResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UpdateBranchControl not implemented") -} -func (UnimplementedReplicationServiceServer) DropDatabase(context.Context, *DropDatabaseRequest) (*DropDatabaseResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method DropDatabase not implemented") -} -func (UnimplementedReplicationServiceServer) mustEmbedUnimplementedReplicationServiceServer() {} -func (UnimplementedReplicationServiceServer) testEmbeddedByValue() {} - -// UnsafeReplicationServiceServer may be embedded to opt out of forward compatibility for this service. -// Use of this interface is not recommended, as added methods to ReplicationServiceServer will -// result in compilation errors. -type UnsafeReplicationServiceServer interface { - mustEmbedUnimplementedReplicationServiceServer() -} - -func RegisterReplicationServiceServer(s grpc.ServiceRegistrar, srv ReplicationServiceServer) { - // If the following call panics, it indicates UnimplementedReplicationServiceServer was - // embedded by pointer and is nil. This will cause panics if an - // unimplemented method is ever invoked, so we test this at initialization - // time to prevent it from happening at runtime later due to I/O. - if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { - t.testEmbeddedByValue() - } - s.RegisterService(&ReplicationService_ServiceDesc, srv) -} - -func _ReplicationService_UpdateUsersAndGrants_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(UpdateUsersAndGrantsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ReplicationServiceServer).UpdateUsersAndGrants(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: ReplicationService_UpdateUsersAndGrants_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ReplicationServiceServer).UpdateUsersAndGrants(ctx, req.(*UpdateUsersAndGrantsRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _ReplicationService_UpdateBranchControl_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(UpdateBranchControlRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ReplicationServiceServer).UpdateBranchControl(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: ReplicationService_UpdateBranchControl_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ReplicationServiceServer).UpdateBranchControl(ctx, req.(*UpdateBranchControlRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _ReplicationService_DropDatabase_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(DropDatabaseRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ReplicationServiceServer).DropDatabase(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: ReplicationService_DropDatabase_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ReplicationServiceServer).DropDatabase(ctx, req.(*DropDatabaseRequest)) - } - return interceptor(ctx, in, info, handler) -} - -// ReplicationService_ServiceDesc is the grpc.ServiceDesc for ReplicationService service. -// It's only intended for direct use with grpc.RegisterService, -// and not to be introspected or modified (even as a copy) -var ReplicationService_ServiceDesc = grpc.ServiceDesc{ - ServiceName: "dolt.services.replicationapi.v1alpha1.ReplicationService", - HandlerType: (*ReplicationServiceServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "UpdateUsersAndGrants", - Handler: _ReplicationService_UpdateUsersAndGrants_Handler, - }, - { - MethodName: "UpdateBranchControl", - Handler: _ReplicationService_UpdateBranchControl_Handler, - }, - { - MethodName: "DropDatabase", - Handler: _ReplicationService_DropDatabase_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "dolt/services/replicationapi/v1alpha1/replication.proto", -} diff --git a/go/serial/.bazelversion b/go/serial/.bazelversion new file mode 100644 index 0000000000..c9277c5a60 --- /dev/null +++ b/go/serial/.bazelversion @@ -0,0 +1 @@ +9.0.0 \ No newline at end of file diff --git a/go/serial/.gitignore b/go/serial/.gitignore new file mode 100644 index 0000000000..6d8ad95fa6 --- /dev/null +++ b/go/serial/.gitignore @@ -0,0 +1 @@ +bazel-* \ No newline at end of file diff --git a/go/serial/BUILD.bazel b/go/serial/BUILD.bazel new file mode 100644 index 0000000000..a399d662d7 --- /dev/null +++ b/go/serial/BUILD.bazel @@ -0,0 +1,3 @@ +package(default_visibility = ["//visibility:public"]) + +exports_files(glob(["*.fbs"])) diff --git a/go/serial/MODULE.bazel b/go/serial/MODULE.bazel new file mode 100644 index 0000000000..8ad1f55e13 --- /dev/null +++ b/go/serial/MODULE.bazel @@ -0,0 +1 @@ +module(name = "com_github_dolthub_dolt_go_serial") diff --git a/go/serial/MODULE.bazel.lock b/go/serial/MODULE.bazel.lock new file mode 100644 index 0000000000..891271ffcc --- /dev/null +++ b/go/serial/MODULE.bazel.lock @@ -0,0 +1,191 @@ +{ + "lockFileVersion": 26, + "registryFileHashes": { + "https://bcr.bazel.build/bazel_registry.json": "8a28e4aff06ee60aed2a8c281907fb8bcbf3b753c91fb5a5c57da3215d5b3497", + "https://bcr.bazel.build/modules/abseil-cpp/20210324.2/MODULE.bazel": "7cd0312e064fde87c8d1cd79ba06c876bd23630c83466e9500321be55c96ace2", + "https://bcr.bazel.build/modules/abseil-cpp/20211102.0/MODULE.bazel": "70390338f7a5106231d20620712f7cccb659cd0e9d073d1991c038eb9fc57589", + "https://bcr.bazel.build/modules/abseil-cpp/20230125.1/MODULE.bazel": "89047429cb0207707b2dface14ba7f8df85273d484c2572755be4bab7ce9c3a0", + "https://bcr.bazel.build/modules/abseil-cpp/20230802.0.bcr.1/MODULE.bazel": "1c8cec495288dccd14fdae6e3f95f772c1c91857047a098fad772034264cc8cb", + "https://bcr.bazel.build/modules/abseil-cpp/20230802.0/MODULE.bazel": "d253ae36a8bd9ee3c5955384096ccb6baf16a1b1e93e858370da0a3b94f77c16", + "https://bcr.bazel.build/modules/abseil-cpp/20230802.1/MODULE.bazel": "fa92e2eb41a04df73cdabeec37107316f7e5272650f81d6cc096418fe647b915", + "https://bcr.bazel.build/modules/abseil-cpp/20240116.1/MODULE.bazel": "37bcdb4440fbb61df6a1c296ae01b327f19e9bb521f9b8e26ec854b6f97309ed", + "https://bcr.bazel.build/modules/abseil-cpp/20240116.2/MODULE.bazel": "73939767a4686cd9a520d16af5ab440071ed75cec1a876bf2fcfaf1f71987a16", + "https://bcr.bazel.build/modules/abseil-cpp/20250127.1/MODULE.bazel": "c4a89e7ceb9bf1e25cf84a9f830ff6b817b72874088bf5141b314726e46a57c1", + "https://bcr.bazel.build/modules/abseil-cpp/20250512.1/MODULE.bazel": "d209fdb6f36ffaf61c509fcc81b19e81b411a999a934a032e10cd009a0226215", + "https://bcr.bazel.build/modules/abseil-cpp/20250814.1/MODULE.bazel": "51f2312901470cdab0dbdf3b88c40cd21c62a7ed58a3de45b365ddc5b11bcab2", + "https://bcr.bazel.build/modules/abseil-cpp/20250814.1/source.json": "cea3901d7e299da7320700abbaafe57a65d039f10d0d7ea601c4a66938ea4b0c", + "https://bcr.bazel.build/modules/apple_support/1.11.1/MODULE.bazel": "1843d7cd8a58369a444fc6000e7304425fba600ff641592161d9f15b179fb896", + "https://bcr.bazel.build/modules/apple_support/1.15.1/MODULE.bazel": "a0556fefca0b1bb2de8567b8827518f94db6a6e7e7d632b4c48dc5f865bc7c85", + "https://bcr.bazel.build/modules/apple_support/1.21.0/MODULE.bazel": "ac1824ed5edf17dee2fdd4927ada30c9f8c3b520be1b5fd02a5da15bc10bff3e", + "https://bcr.bazel.build/modules/apple_support/1.21.1/MODULE.bazel": "5809fa3efab15d1f3c3c635af6974044bac8a4919c62238cce06acee8a8c11f1", + "https://bcr.bazel.build/modules/apple_support/1.24.2/MODULE.bazel": "0e62471818affb9f0b26f128831d5c40b074d32e6dda5a0d3852847215a41ca4", + "https://bcr.bazel.build/modules/apple_support/1.24.2/source.json": "2c22c9827093250406c5568da6c54e6fdf0ef06238def3d99c71b12feb057a8d", + "https://bcr.bazel.build/modules/bazel_features/1.1.1/MODULE.bazel": "27b8c79ef57efe08efccbd9dd6ef70d61b4798320b8d3c134fd571f78963dbcd", + "https://bcr.bazel.build/modules/bazel_features/1.10.0/MODULE.bazel": "f75e8807570484a99be90abcd52b5e1f390362c258bcb73106f4544957a48101", + "https://bcr.bazel.build/modules/bazel_features/1.11.0/MODULE.bazel": "f9382337dd5a474c3b7d334c2f83e50b6eaedc284253334cf823044a26de03e8", + "https://bcr.bazel.build/modules/bazel_features/1.15.0/MODULE.bazel": "d38ff6e517149dc509406aca0db3ad1efdd890a85e049585b7234d04238e2a4d", + "https://bcr.bazel.build/modules/bazel_features/1.17.0/MODULE.bazel": "039de32d21b816b47bd42c778e0454217e9c9caac4a3cf8e15c7231ee3ddee4d", + "https://bcr.bazel.build/modules/bazel_features/1.18.0/MODULE.bazel": "1be0ae2557ab3a72a57aeb31b29be347bcdc5d2b1eb1e70f39e3851a7e97041a", + "https://bcr.bazel.build/modules/bazel_features/1.19.0/MODULE.bazel": "59adcdf28230d220f0067b1f435b8537dd033bfff8db21335ef9217919c7fb58", + "https://bcr.bazel.build/modules/bazel_features/1.21.0/MODULE.bazel": "675642261665d8eea09989aa3b8afb5c37627f1be178382c320d1b46afba5e3b", + "https://bcr.bazel.build/modules/bazel_features/1.23.0/MODULE.bazel": "fd1ac84bc4e97a5a0816b7fd7d4d4f6d837b0047cf4cbd81652d616af3a6591a", + "https://bcr.bazel.build/modules/bazel_features/1.27.0/MODULE.bazel": "621eeee06c4458a9121d1f104efb80f39d34deff4984e778359c60eaf1a8cb65", + "https://bcr.bazel.build/modules/bazel_features/1.28.0/MODULE.bazel": "4b4200e6cbf8fa335b2c3f43e1d6ef3e240319c33d43d60cc0fbd4b87ece299d", + "https://bcr.bazel.build/modules/bazel_features/1.3.0/MODULE.bazel": "cdcafe83ec318cda34e02948e81d790aab8df7a929cec6f6969f13a489ccecd9", + "https://bcr.bazel.build/modules/bazel_features/1.30.0/MODULE.bazel": "a14b62d05969a293b80257e72e597c2da7f717e1e69fa8b339703ed6731bec87", + "https://bcr.bazel.build/modules/bazel_features/1.33.0/MODULE.bazel": "8b8dc9d2a4c88609409c3191165bccec0e4cb044cd7a72ccbe826583303459f6", + "https://bcr.bazel.build/modules/bazel_features/1.33.0/source.json": "13617db3930328c2cd2807a0f13d52ca870ac05f96db9668655113265147b2a6", + "https://bcr.bazel.build/modules/bazel_features/1.4.1/MODULE.bazel": "e45b6bb2350aff3e442ae1111c555e27eac1d915e77775f6fdc4b351b758b5d7", + "https://bcr.bazel.build/modules/bazel_features/1.9.1/MODULE.bazel": "8f679097876a9b609ad1f60249c49d68bfab783dd9be012faf9d82547b14815a", + "https://bcr.bazel.build/modules/bazel_skylib/1.0.3/MODULE.bazel": "bcb0fd896384802d1ad283b4e4eb4d718eebd8cb820b0a2c3a347fb971afd9d8", + "https://bcr.bazel.build/modules/bazel_skylib/1.1.1/MODULE.bazel": "1add3e7d93ff2e6998f9e118022c84d163917d912f5afafb3058e3d2f1545b5e", + "https://bcr.bazel.build/modules/bazel_skylib/1.2.0/MODULE.bazel": "44fe84260e454ed94ad326352a698422dbe372b21a1ac9f3eab76eb531223686", + "https://bcr.bazel.build/modules/bazel_skylib/1.2.1/MODULE.bazel": "f35baf9da0efe45fa3da1696ae906eea3d615ad41e2e3def4aeb4e8bc0ef9a7a", + "https://bcr.bazel.build/modules/bazel_skylib/1.3.0/MODULE.bazel": "20228b92868bf5cfc41bda7afc8a8ba2a543201851de39d990ec957b513579c5", + "https://bcr.bazel.build/modules/bazel_skylib/1.4.1/MODULE.bazel": "a0dcb779424be33100dcae821e9e27e4f2901d9dfd5333efe5ac6a8d7ab75e1d", + "https://bcr.bazel.build/modules/bazel_skylib/1.4.2/MODULE.bazel": "3bd40978e7a1fac911d5989e6b09d8f64921865a45822d8b09e815eaa726a651", + "https://bcr.bazel.build/modules/bazel_skylib/1.5.0/MODULE.bazel": "32880f5e2945ce6a03d1fbd588e9198c0a959bb42297b2cfaf1685b7bc32e138", + "https://bcr.bazel.build/modules/bazel_skylib/1.6.1/MODULE.bazel": "8fdee2dbaace6c252131c00e1de4b165dc65af02ea278476187765e1a617b917", + "https://bcr.bazel.build/modules/bazel_skylib/1.7.0/MODULE.bazel": "0db596f4563de7938de764cc8deeabec291f55e8ec15299718b93c4423e9796d", + "https://bcr.bazel.build/modules/bazel_skylib/1.7.1/MODULE.bazel": "3120d80c5861aa616222ec015332e5f8d3171e062e3e804a2a0253e1be26e59b", + "https://bcr.bazel.build/modules/bazel_skylib/1.8.1/MODULE.bazel": "88ade7293becda963e0e3ea33e7d54d3425127e0a326e0d17da085a5f1f03ff6", + "https://bcr.bazel.build/modules/bazel_skylib/1.8.2/MODULE.bazel": "69ad6927098316848b34a9142bcc975e018ba27f08c4ff403f50c1b6e646ca67", + "https://bcr.bazel.build/modules/bazel_skylib/1.8.2/source.json": "34a3c8bcf233b835eb74be9d628899bb32999d3e0eadef1947a0a562a2b16ffb", + "https://bcr.bazel.build/modules/buildozer/8.2.1/MODULE.bazel": "61e9433c574c2bd9519cad7fa66b9c1d2b8e8d5f3ae5d6528a2c2d26e68d874d", + "https://bcr.bazel.build/modules/buildozer/8.2.1/source.json": "7c33f6a26ee0216f85544b4bca5e9044579e0219b6898dd653f5fb449cf2e484", + "https://bcr.bazel.build/modules/google_benchmark/1.8.2/MODULE.bazel": "a70cf1bba851000ba93b58ae2f6d76490a9feb74192e57ab8e8ff13c34ec50cb", + "https://bcr.bazel.build/modules/googletest/1.11.0/MODULE.bazel": "3a83f095183f66345ca86aa13c58b59f9f94a2f81999c093d4eeaa2d262d12f4", + "https://bcr.bazel.build/modules/googletest/1.14.0.bcr.1/MODULE.bazel": "22c31a561553727960057361aa33bf20fb2e98584bc4fec007906e27053f80c6", + "https://bcr.bazel.build/modules/googletest/1.14.0/MODULE.bazel": "cfbcbf3e6eac06ef9d85900f64424708cc08687d1b527f0ef65aa7517af8118f", + "https://bcr.bazel.build/modules/googletest/1.15.2/MODULE.bazel": "6de1edc1d26cafb0ea1a6ab3f4d4192d91a312fd2d360b63adaa213cd00b2108", + "https://bcr.bazel.build/modules/googletest/1.17.0/MODULE.bazel": "dbec758171594a705933a29fcf69293d2468c49ec1f2ebca65c36f504d72df46", + "https://bcr.bazel.build/modules/googletest/1.17.0/source.json": "38e4454b25fc30f15439c0378e57909ab1fd0a443158aa35aec685da727cd713", + "https://bcr.bazel.build/modules/jsoncpp/1.9.5/MODULE.bazel": "31271aedc59e815656f5736f282bb7509a97c7ecb43e927ac1a37966e0578075", + "https://bcr.bazel.build/modules/jsoncpp/1.9.6/MODULE.bazel": "2f8d20d3b7d54143213c4dfc3d98225c42de7d666011528dc8fe91591e2e17b0", + "https://bcr.bazel.build/modules/jsoncpp/1.9.6/source.json": "a04756d367a2126c3541682864ecec52f92cdee80a35735a3cb249ce015ca000", + "https://bcr.bazel.build/modules/libpfm/4.11.0/MODULE.bazel": "45061ff025b301940f1e30d2c16bea596c25b176c8b6b3087e92615adbd52902", + "https://bcr.bazel.build/modules/nlohmann_json/3.6.1/MODULE.bazel": "6f7b417dcc794d9add9e556673ad25cb3ba835224290f4f848f8e2db1e1fca74", + "https://bcr.bazel.build/modules/nlohmann_json/3.6.1/source.json": "f448c6e8963fdfa7eb831457df83ad63d3d6355018f6574fb017e8169deb43a9", + "https://bcr.bazel.build/modules/platforms/0.0.10/MODULE.bazel": "8cb8efaf200bdeb2150d93e162c40f388529a25852b332cec879373771e48ed5", + "https://bcr.bazel.build/modules/platforms/0.0.11/MODULE.bazel": "0daefc49732e227caa8bfa834d65dc52e8cc18a2faf80df25e8caea151a9413f", + "https://bcr.bazel.build/modules/platforms/0.0.4/MODULE.bazel": "9b328e31ee156f53f3c416a64f8491f7eb731742655a47c9eec4703a71644aee", + "https://bcr.bazel.build/modules/platforms/0.0.5/MODULE.bazel": "5733b54ea419d5eaf7997054bb55f6a1d0b5ff8aedf0176fef9eea44f3acda37", + "https://bcr.bazel.build/modules/platforms/0.0.6/MODULE.bazel": "ad6eeef431dc52aefd2d77ed20a4b353f8ebf0f4ecdd26a807d2da5aa8cd0615", + "https://bcr.bazel.build/modules/platforms/0.0.7/MODULE.bazel": "72fd4a0ede9ee5c021f6a8dd92b503e089f46c227ba2813ff183b71616034814", + "https://bcr.bazel.build/modules/platforms/0.0.8/MODULE.bazel": "9f142c03e348f6d263719f5074b21ef3adf0b139ee4c5133e2aa35664da9eb2d", + "https://bcr.bazel.build/modules/platforms/0.0.9/MODULE.bazel": "4a87a60c927b56ddd67db50c89acaa62f4ce2a1d2149ccb63ffd871d5ce29ebc", + "https://bcr.bazel.build/modules/platforms/1.0.0/MODULE.bazel": "f05feb42b48f1b3c225e4ccf351f367be0371411a803198ec34a389fb22aa580", + "https://bcr.bazel.build/modules/platforms/1.0.0/source.json": "f4ff1fd412e0246fd38c82328eb209130ead81d62dcd5a9e40910f867f733d96", + "https://bcr.bazel.build/modules/protobuf/21.7/MODULE.bazel": "a5a29bb89544f9b97edce05642fac225a808b5b7be74038ea3640fae2f8e66a7", + "https://bcr.bazel.build/modules/protobuf/27.0/MODULE.bazel": "7873b60be88844a0a1d8f80b9d5d20cfbd8495a689b8763e76c6372998d3f64c", + "https://bcr.bazel.build/modules/protobuf/29.0-rc2/MODULE.bazel": "6241d35983510143049943fc0d57937937122baf1b287862f9dc8590fc4c37df", + "https://bcr.bazel.build/modules/protobuf/29.0-rc3/MODULE.bazel": "33c2dfa286578573afc55a7acaea3cada4122b9631007c594bf0729f41c8de92", + "https://bcr.bazel.build/modules/protobuf/29.1/MODULE.bazel": "557c3457560ff49e122ed76c0bc3397a64af9574691cb8201b4e46d4ab2ecb95", + "https://bcr.bazel.build/modules/protobuf/3.19.0/MODULE.bazel": "6b5fbb433f760a99a22b18b6850ed5784ef0e9928a72668b66e4d7ccd47db9b0", + "https://bcr.bazel.build/modules/protobuf/32.1/MODULE.bazel": "89cd2866a9cb07fee9ff74c41ceace11554f32e0d849de4e23ac55515cfada4d", + "https://bcr.bazel.build/modules/protobuf/33.4/MODULE.bazel": "114775b816b38b6d0ca620450d6b02550c60ceedfdc8d9a229833b34a223dc42", + "https://bcr.bazel.build/modules/protobuf/33.4/source.json": "555f8686b4c7d6b5ba731fbea13bf656b4bfd9a7ff629c1d9d3f6e1d6155de79", + "https://bcr.bazel.build/modules/pybind11_bazel/2.11.1/MODULE.bazel": "88af1c246226d87e65be78ed49ecd1e6f5e98648558c14ce99176da041dc378e", + "https://bcr.bazel.build/modules/pybind11_bazel/2.12.0/MODULE.bazel": "e6f4c20442eaa7c90d7190d8dc539d0ab422f95c65a57cc59562170c58ae3d34", + "https://bcr.bazel.build/modules/pybind11_bazel/2.12.0/source.json": "6900fdc8a9e95866b8c0d4ad4aba4d4236317b5c1cd04c502df3f0d33afed680", + "https://bcr.bazel.build/modules/re2/2023-09-01/MODULE.bazel": "cb3d511531b16cfc78a225a9e2136007a48cf8a677e4264baeab57fe78a80206", + "https://bcr.bazel.build/modules/re2/2024-07-02.bcr.1/MODULE.bazel": "b4963dda9b31080be1905ef085ecd7dd6cd47c05c79b9cdf83ade83ab2ab271a", + "https://bcr.bazel.build/modules/re2/2024-07-02.bcr.1/source.json": "2ff292be6ef3340325ce8a045ecc326e92cbfab47c7cbab4bd85d28971b97ac4", + "https://bcr.bazel.build/modules/re2/2024-07-02/MODULE.bazel": "0eadc4395959969297cbcf31a249ff457f2f1d456228c67719480205aa306daa", + "https://bcr.bazel.build/modules/rules_android/0.1.1/MODULE.bazel": "48809ab0091b07ad0182defb787c4c5328bd3a278938415c00a7b69b50c4d3a8", + "https://bcr.bazel.build/modules/rules_android/0.1.1/source.json": "e6986b41626ee10bdc864937ffb6d6bf275bb5b9c65120e6137d56e6331f089e", + "https://bcr.bazel.build/modules/rules_apple/3.16.0/MODULE.bazel": "0d1caf0b8375942ce98ea944be754a18874041e4e0459401d925577624d3a54a", + "https://bcr.bazel.build/modules/rules_apple/4.1.0/MODULE.bazel": "76e10fd4a48038d3fc7c5dc6e63b7063bbf5304a2e3bd42edda6ec660eebea68", + "https://bcr.bazel.build/modules/rules_apple/4.1.0/source.json": "8ee81e1708756f81b343a5eb2b2f0b953f1d25c4ab3d4a68dc02754872e80715", + "https://bcr.bazel.build/modules/rules_cc/0.0.1/MODULE.bazel": "cb2aa0747f84c6c3a78dad4e2049c154f08ab9d166b1273835a8174940365647", + "https://bcr.bazel.build/modules/rules_cc/0.0.10/MODULE.bazel": "ec1705118f7eaedd6e118508d3d26deba2a4e76476ada7e0e3965211be012002", + "https://bcr.bazel.build/modules/rules_cc/0.0.13/MODULE.bazel": "0e8529ed7b323dad0775ff924d2ae5af7640b23553dfcd4d34344c7e7a867191", + "https://bcr.bazel.build/modules/rules_cc/0.0.15/MODULE.bazel": "6704c35f7b4a72502ee81f61bf88706b54f06b3cbe5558ac17e2e14666cd5dcc", + "https://bcr.bazel.build/modules/rules_cc/0.0.16/MODULE.bazel": "7661303b8fc1b4d7f532e54e9d6565771fea666fbdf839e0a86affcd02defe87", + "https://bcr.bazel.build/modules/rules_cc/0.0.17/MODULE.bazel": "2ae1d8f4238ec67d7185d8861cb0a2cdf4bc608697c331b95bf990e69b62e64a", + "https://bcr.bazel.build/modules/rules_cc/0.0.2/MODULE.bazel": "6915987c90970493ab97393024c156ea8fb9f3bea953b2f3ec05c34f19b5695c", + "https://bcr.bazel.build/modules/rules_cc/0.0.6/MODULE.bazel": "abf360251023dfe3efcef65ab9d56beefa8394d4176dd29529750e1c57eaa33f", + "https://bcr.bazel.build/modules/rules_cc/0.0.8/MODULE.bazel": "964c85c82cfeb6f3855e6a07054fdb159aced38e99a5eecf7bce9d53990afa3e", + "https://bcr.bazel.build/modules/rules_cc/0.0.9/MODULE.bazel": "836e76439f354b89afe6a911a7adf59a6b2518fafb174483ad78a2a2fde7b1c5", + "https://bcr.bazel.build/modules/rules_cc/0.1.1/MODULE.bazel": "2f0222a6f229f0bf44cd711dc13c858dad98c62d52bd51d8fc3a764a83125513", + "https://bcr.bazel.build/modules/rules_cc/0.1.2/MODULE.bazel": "557ddc3a96858ec0d465a87c0a931054d7dcfd6583af2c7ed3baf494407fd8d0", + "https://bcr.bazel.build/modules/rules_cc/0.1.5/MODULE.bazel": "88dfc9361e8b5ae1008ac38f7cdfd45ad738e4fa676a3ad67d19204f045a1fd8", + "https://bcr.bazel.build/modules/rules_cc/0.2.0/MODULE.bazel": "b5c17f90458caae90d2ccd114c81970062946f49f355610ed89bebf954f5783c", + "https://bcr.bazel.build/modules/rules_cc/0.2.13/MODULE.bazel": "eecdd666eda6be16a8d9dc15e44b5c75133405e820f620a234acc4b1fdc5aa37", + "https://bcr.bazel.build/modules/rules_cc/0.2.14/MODULE.bazel": "353c99ed148887ee89c54a17d4100ae7e7e436593d104b668476019023b58df8", + "https://bcr.bazel.build/modules/rules_cc/0.2.14/source.json": "55d0a4587c5592fad350f6e698530f4faf0e7dd15e69d43f8d87e220c78bea54", + "https://bcr.bazel.build/modules/rules_cc/0.2.8/MODULE.bazel": "f1df20f0bf22c28192a794f29b501ee2018fa37a3862a1a2132ae2940a23a642", + "https://bcr.bazel.build/modules/rules_foreign_cc/0.9.0/MODULE.bazel": "c9e8c682bf75b0e7c704166d79b599f93b72cfca5ad7477df596947891feeef6", + "https://bcr.bazel.build/modules/rules_fuzzing/0.5.2/MODULE.bazel": "40c97d1144356f52905566c55811f13b299453a14ac7769dfba2ac38192337a8", + "https://bcr.bazel.build/modules/rules_java/4.0.0/MODULE.bazel": "5a78a7ae82cd1a33cef56dc578c7d2a46ed0dca12643ee45edbb8417899e6f74", + "https://bcr.bazel.build/modules/rules_java/5.3.5/MODULE.bazel": "a4ec4f2db570171e3e5eb753276ee4b389bae16b96207e9d3230895c99644b86", + "https://bcr.bazel.build/modules/rules_java/6.5.2/MODULE.bazel": "1d440d262d0e08453fa0c4d8f699ba81609ed0e9a9a0f02cd10b3e7942e61e31", + "https://bcr.bazel.build/modules/rules_java/7.10.0/MODULE.bazel": "530c3beb3067e870561739f1144329a21c851ff771cd752a49e06e3dc9c2e71a", + "https://bcr.bazel.build/modules/rules_java/7.12.2/MODULE.bazel": "579c505165ee757a4280ef83cda0150eea193eed3bef50b1004ba88b99da6de6", + "https://bcr.bazel.build/modules/rules_java/7.2.0/MODULE.bazel": "06c0334c9be61e6cef2c8c84a7800cef502063269a5af25ceb100b192453d4ab", + "https://bcr.bazel.build/modules/rules_java/7.6.1/MODULE.bazel": "2f14b7e8a1aa2f67ae92bc69d1ec0fa8d9f827c4e17ff5e5f02e91caa3b2d0fe", + "https://bcr.bazel.build/modules/rules_java/8.3.2/MODULE.bazel": "7336d5511ad5af0b8615fdc7477535a2e4e723a357b6713af439fe8cf0195017", + "https://bcr.bazel.build/modules/rules_java/8.5.1/MODULE.bazel": "d8a9e38cc5228881f7055a6079f6f7821a073df3744d441978e7a43e20226939", + "https://bcr.bazel.build/modules/rules_java/8.6.1/MODULE.bazel": "f4808e2ab5b0197f094cabce9f4b006a27766beb6a9975931da07099560ca9c2", + "https://bcr.bazel.build/modules/rules_java/9.0.3/MODULE.bazel": "1f98ed015f7e744a745e0df6e898a7c5e83562d6b759dfd475c76456dda5ccea", + "https://bcr.bazel.build/modules/rules_java/9.0.3/source.json": "b038c0c07e12e658135bbc32cc1a2ded6e33785105c9d41958014c592de4593e", + "https://bcr.bazel.build/modules/rules_jvm_external/4.4.2/MODULE.bazel": "a56b85e418c83eb1839819f0b515c431010160383306d13ec21959ac412d2fe7", + "https://bcr.bazel.build/modules/rules_jvm_external/5.1/MODULE.bazel": "33f6f999e03183f7d088c9be518a63467dfd0be94a11d0055fe2d210f89aa909", + "https://bcr.bazel.build/modules/rules_jvm_external/5.2/MODULE.bazel": "d9351ba35217ad0de03816ef3ed63f89d411349353077348a45348b096615036", + "https://bcr.bazel.build/modules/rules_jvm_external/6.3/MODULE.bazel": "c998e060b85f71e00de5ec552019347c8bca255062c990ac02d051bb80a38df0", + "https://bcr.bazel.build/modules/rules_jvm_external/6.7/MODULE.bazel": "e717beabc4d091ecb2c803c2d341b88590e9116b8bf7947915eeb33aab4f96dd", + "https://bcr.bazel.build/modules/rules_jvm_external/6.7/source.json": "5426f412d0a7fc6b611643376c7e4a82dec991491b9ce5cb1cfdd25fe2e92be4", + "https://bcr.bazel.build/modules/rules_kotlin/1.9.6/MODULE.bazel": "d269a01a18ee74d0335450b10f62c9ed81f2321d7958a2934e44272fe82dcef3", + "https://bcr.bazel.build/modules/rules_kotlin/1.9.6/source.json": "2faa4794364282db7c06600b7e5e34867a564ae91bda7cae7c29c64e9466b7d5", + "https://bcr.bazel.build/modules/rules_license/0.0.3/MODULE.bazel": "627e9ab0247f7d1e05736b59dbb1b6871373de5ad31c3011880b4133cafd4bd0", + "https://bcr.bazel.build/modules/rules_license/0.0.7/MODULE.bazel": "088fbeb0b6a419005b89cf93fe62d9517c0a2b8bb56af3244af65ecfe37e7d5d", + "https://bcr.bazel.build/modules/rules_license/1.0.0/MODULE.bazel": "a7fda60eefdf3d8c827262ba499957e4df06f659330bbe6cdbdb975b768bb65c", + "https://bcr.bazel.build/modules/rules_license/1.0.0/source.json": "a52c89e54cc311196e478f8382df91c15f7a2bfdf4c6cd0e2675cc2ff0b56efb", + "https://bcr.bazel.build/modules/rules_pkg/0.7.0/MODULE.bazel": "df99f03fc7934a4737122518bb87e667e62d780b610910f0447665a7e2be62dc", + "https://bcr.bazel.build/modules/rules_pkg/1.0.1/MODULE.bazel": "5b1df97dbc29623bccdf2b0dcd0f5cb08e2f2c9050aab1092fd39a41e82686ff", + "https://bcr.bazel.build/modules/rules_pkg/1.0.1/source.json": "bd82e5d7b9ce2d31e380dd9f50c111d678c3bdaca190cb76b0e1c71b05e1ba8a", + "https://bcr.bazel.build/modules/rules_proto/4.0.0/MODULE.bazel": "a7a7b6ce9bee418c1a760b3d84f83a299ad6952f9903c67f19e4edd964894e06", + "https://bcr.bazel.build/modules/rules_proto/5.3.0-21.7/MODULE.bazel": "e8dff86b0971688790ae75528fe1813f71809b5afd57facb44dad9e8eca631b7", + "https://bcr.bazel.build/modules/rules_proto/6.0.0-rc1/MODULE.bazel": "1e5b502e2e1a9e825eef74476a5a1ee524a92297085015a052510b09a1a09483", + "https://bcr.bazel.build/modules/rules_proto/6.0.2/MODULE.bazel": "ce916b775a62b90b61888052a416ccdda405212b6aaeb39522f7dc53431a5e73", + "https://bcr.bazel.build/modules/rules_proto/7.1.0/MODULE.bazel": "002d62d9108f75bb807cd56245d45648f38275cb3a99dcd45dfb864c5d74cb96", + "https://bcr.bazel.build/modules/rules_proto/7.1.0/source.json": "39f89066c12c24097854e8f57ab8558929f9c8d474d34b2c00ac04630ad8940e", + "https://bcr.bazel.build/modules/rules_python/0.10.2/MODULE.bazel": "cc82bc96f2997baa545ab3ce73f196d040ffb8756fd2d66125a530031cd90e5f", + "https://bcr.bazel.build/modules/rules_python/0.23.1/MODULE.bazel": "49ffccf0511cb8414de28321f5fcf2a31312b47c40cc21577144b7447f2bf300", + "https://bcr.bazel.build/modules/rules_python/0.25.0/MODULE.bazel": "72f1506841c920a1afec76975b35312410eea3aa7b63267436bfb1dd91d2d382", + "https://bcr.bazel.build/modules/rules_python/0.28.0/MODULE.bazel": "cba2573d870babc976664a912539b320cbaa7114cd3e8f053c720171cde331ed", + "https://bcr.bazel.build/modules/rules_python/0.31.0/MODULE.bazel": "93a43dc47ee570e6ec9f5779b2e64c1476a6ce921c48cc9a1678a91dd5f8fd58", + "https://bcr.bazel.build/modules/rules_python/0.33.2/MODULE.bazel": "3e036c4ad8d804a4dad897d333d8dce200d943df4827cb849840055be8d2e937", + "https://bcr.bazel.build/modules/rules_python/0.4.0/MODULE.bazel": "9208ee05fd48bf09ac60ed269791cf17fb343db56c8226a720fbb1cdf467166c", + "https://bcr.bazel.build/modules/rules_python/1.3.0/MODULE.bazel": "8361d57eafb67c09b75bf4bbe6be360e1b8f4f18118ab48037f2bd50aa2ccb13", + "https://bcr.bazel.build/modules/rules_python/1.4.1/MODULE.bazel": "8991ad45bdc25018301d6b7e1d3626afc3c8af8aaf4bc04f23d0b99c938b73a6", + "https://bcr.bazel.build/modules/rules_python/1.6.0/MODULE.bazel": "7e04ad8f8d5bea40451cf80b1bd8262552aa73f841415d20db96b7241bd027d8", + "https://bcr.bazel.build/modules/rules_python/1.7.0/MODULE.bazel": "d01f995ecd137abf30238ad9ce97f8fc3ac57289c8b24bd0bf53324d937a14f8", + "https://bcr.bazel.build/modules/rules_python/1.7.0/source.json": "028a084b65dcf8f4dc4f82f8778dbe65df133f234b316828a82e060d81bdce32", + "https://bcr.bazel.build/modules/rules_shell/0.2.0/MODULE.bazel": "fda8a652ab3c7d8fee214de05e7a9916d8b28082234e8d2c0094505c5268ed3c", + "https://bcr.bazel.build/modules/rules_shell/0.3.0/MODULE.bazel": "de4402cd12f4cc8fda2354fce179fdb068c0b9ca1ec2d2b17b3e21b24c1a937b", + "https://bcr.bazel.build/modules/rules_shell/0.6.1/MODULE.bazel": "72e76b0eea4e81611ef5452aa82b3da34caca0c8b7b5c0c9584338aa93bae26b", + "https://bcr.bazel.build/modules/rules_shell/0.6.1/source.json": "20ec05cd5e592055e214b2da8ccb283c7f2a421ea0dc2acbf1aa792e11c03d0c", + "https://bcr.bazel.build/modules/rules_swift/1.16.0/MODULE.bazel": "4a09f199545a60d09895e8281362b1ff3bb08bbde69c6fc87aff5b92fcc916ca", + "https://bcr.bazel.build/modules/rules_swift/2.1.1/MODULE.bazel": "494900a80f944fc7aa61500c2073d9729dff0b764f0e89b824eb746959bc1046", + "https://bcr.bazel.build/modules/rules_swift/2.4.0/MODULE.bazel": "1639617eb1ede28d774d967a738b4a68b0accb40650beadb57c21846beab5efd", + "https://bcr.bazel.build/modules/rules_swift/3.1.2/MODULE.bazel": "72c8f5cf9d26427cee6c76c8e3853eb46ce6b0412a081b2b6db6e8ad56267400", + "https://bcr.bazel.build/modules/rules_swift/3.1.2/source.json": "e85761f3098a6faf40b8187695e3de6d97944e98abd0d8ce579cb2daf6319a66", + "https://bcr.bazel.build/modules/stardoc/0.5.1/MODULE.bazel": "1a05d92974d0c122f5ccf09291442580317cdd859f07a8655f1db9a60374f9f8", + "https://bcr.bazel.build/modules/stardoc/0.5.3/MODULE.bazel": "c7f6948dae6999bf0db32c1858ae345f112cacf98f174c7a8bb707e41b974f1c", + "https://bcr.bazel.build/modules/stardoc/0.7.0/MODULE.bazel": "05e3d6d30c099b6770e97da986c53bd31844d7f13d41412480ea265ac9e8079c", + "https://bcr.bazel.build/modules/stardoc/0.7.2/MODULE.bazel": "fc152419aa2ea0f51c29583fab1e8c99ddefd5b3778421845606ee628629e0e5", + "https://bcr.bazel.build/modules/stardoc/0.7.2/source.json": "58b029e5e901d6802967754adf0a9056747e8176f017cfe3607c0851f4d42216", + "https://bcr.bazel.build/modules/swift_argument_parser/1.3.1.1/MODULE.bazel": "5e463fbfba7b1701d957555ed45097d7f984211330106ccd1352c6e0af0dcf91", + "https://bcr.bazel.build/modules/swift_argument_parser/1.3.1.2/MODULE.bazel": "75aab2373a4bbe2a1260b9bf2a1ebbdbf872d3bd36f80bff058dccd82e89422f", + "https://bcr.bazel.build/modules/swift_argument_parser/1.3.1.2/source.json": "5fba48bbe0ba48761f9e9f75f92876cafb5d07c0ce059cc7a8027416de94a05b", + "https://bcr.bazel.build/modules/upb/0.0.0-20220923-a547704/MODULE.bazel": "7298990c00040a0e2f121f6c32544bab27d4452f80d9ce51349b1a28f3005c43", + "https://bcr.bazel.build/modules/zlib/1.2.11/MODULE.bazel": "07b389abc85fdbca459b69e2ec656ae5622873af3f845e1c9d80fe179f3effa0", + "https://bcr.bazel.build/modules/zlib/1.3.1.bcr.5/MODULE.bazel": "eec517b5bbe5492629466e11dae908d043364302283de25581e3eb944326c4ca", + "https://bcr.bazel.build/modules/zlib/1.3.1.bcr.5/source.json": "22bc55c47af97246cfc093d0acf683a7869377de362b5d1c552c2c2e16b7a806", + "https://bcr.bazel.build/modules/zlib/1.3.1/MODULE.bazel": "751c9940dcfe869f5f7274e1295422a34623555916eb98c174c1e945594bf198" + }, + "selectedYankedVersions": {}, + "moduleExtensions": {}, + "facts": {} +} diff --git a/go/utils/repofmt/format_repo.sh b/go/utils/repofmt/format_repo.sh index 6a0edd2675..39a3847deb 100755 --- a/go/utils/repofmt/format_repo.sh +++ b/go/utils/repofmt/format_repo.sh @@ -5,7 +5,7 @@ set -eo pipefail script_dir=$(dirname "$0") cd $script_dir/../.. -paths=`find . -maxdepth 1 -mindepth 1 \( -type d -print -o -type f -name '*.go' -print \)` +paths=`find . -maxdepth 1 -mindepth 1 \( -name gen -prune -o -type d -print -o -type f -name '*.go' -print \)` goimports -w -local github.com/dolthub/dolt,github.com/dolthub/eventsapi_schema $paths @@ -20,5 +20,5 @@ if [ "$bad_files" != "" ]; then awk '/import \(/{flag=1}/\)/{flag=0}flag&&!/^$/||!flag' < "$f" > "$f.bak" mv "$f.bak" "$f" done - goimports -w -local github.com/dolthub/dolt,github.com/dolthub/eventsapi_schema . + goimports -w -local github.com/dolthub/dolt,github.com/dolthub/eventsapi_schema $paths fi diff --git a/proto/.bazelignore b/proto/.bazelignore new file mode 100644 index 0000000000..912eacc1b5 --- /dev/null +++ b/proto/.bazelignore @@ -0,0 +1 @@ +third_party diff --git a/proto/.bazelrc b/proto/.bazelrc new file mode 100644 index 0000000000..11a26f6719 --- /dev/null +++ b/proto/.bazelrc @@ -0,0 +1,13 @@ +import %workspace%/tools/preset.bazelrc + +common --enable_platform_specific_config +build --@protobuf//bazel/toolchains:prefer_prebuilt_protoc +build --experimental_proto_descriptor_sets_include_source_info +build --action_env=PATH=/usr/bin:/bin:/sbin +build --action_env=TMPDIR=/tmp +build --action_env=LD_LIBRARY_PATH= +build --repo_env=PATH=/usr/bin:/bin:/sbin +build --repo_env=TMPDIR=/tmp +build --repo_env=LD_LIBRARY_PATH= + +common --override_module=com_github_dolthub_dolt_go_serial=../go/serial diff --git a/proto/.bazelversion b/proto/.bazelversion new file mode 100644 index 0000000000..c9277c5a60 --- /dev/null +++ b/proto/.bazelversion @@ -0,0 +1 @@ +9.0.0 \ No newline at end of file diff --git a/proto/.gitignore b/proto/.gitignore new file mode 100644 index 0000000000..6d8ad95fa6 --- /dev/null +++ b/proto/.gitignore @@ -0,0 +1 @@ +bazel-* \ No newline at end of file diff --git a/proto/BUILD.bazel b/proto/BUILD.bazel new file mode 100644 index 0000000000..643def0362 --- /dev/null +++ b/proto/BUILD.bazel @@ -0,0 +1,38 @@ +load("@rules_pkg//:pkg.bzl", "pkg_tar") +load("@rules_shell//shell:sh_binary.bzl", "sh_binary") + +filegroup( + name = "go_srcs_files", + srcs = [ + "//dolt/services/remotesapi/v1alpha1:remotesapi_go_proto", + "//dolt/services/replicationapi/v1alpha1:replicationapi_go_proto", + ], + output_group = "go_generated_srcs", +) + +pkg_tar( + name = "go_srcs", + srcs = [ + ":go_srcs_files", + ], + mode = "0644", + remap_paths = { + "dolt/services/remotesapi/v1alpha1/remotesapi_go_proto_/github.com/dolthub/dolt/go": "/", + "dolt/services/replicationapi/v1alpha1/replicationapi_go_proto_/github.com/dolthub/dolt/go": "/", + }, + strip_prefix = "./", +) + +sh_binary( + name = "update", + srcs = ["update.sh"], + args = [ + "$(rlocationpath :go_srcs)", + ], + data = [ + ":go_srcs", + ], + deps = [ + "@bazel_tools//tools/bash/runfiles", + ], +) diff --git a/proto/MODULE.bazel b/proto/MODULE.bazel new file mode 100644 index 0000000000..3e2da62d06 --- /dev/null +++ b/proto/MODULE.bazel @@ -0,0 +1,19 @@ +module(name = "com_github_dolthub_dolt_proto") + +bazel_dep(name = "com_github_dolthub_dolt_go_serial") + +bazel_dep(name = "rules_pkg", version = "1.2.0") +bazel_dep(name = "rules_go", version = "0.59.0") +bazel_dep(name = "gazelle", version = "0.45.0") +bazel_dep(name = "rules_shell", version = "0.6.1") +bazel_dep(name = "protobuf", version = "33.5") + +bazel_dep(name = "bazelrc-preset.bzl", version = "1.9.2", dev_dependency = True) + +go_sdk = use_extension("@rules_go//go:extensions.bzl", "go_sdk") +go_sdk.download(version = "1.25.6") + +go_deps = use_extension("@gazelle//:extensions.bzl", "go_deps") +go_deps.from_file(go_mod = "//:go.mod") +use_repo(go_deps, "org_golang_google_grpc", "org_golang_google_protobuf") + diff --git a/proto/MODULE.bazel.lock b/proto/MODULE.bazel.lock new file mode 100644 index 0000000000..4b6ced3643 --- /dev/null +++ b/proto/MODULE.bazel.lock @@ -0,0 +1,806 @@ +{ + "lockFileVersion": 26, + "registryFileHashes": { + "https://bcr.bazel.build/bazel_registry.json": "8a28e4aff06ee60aed2a8c281907fb8bcbf3b753c91fb5a5c57da3215d5b3497", + "https://bcr.bazel.build/modules/abseil-cpp/20210324.2/MODULE.bazel": "7cd0312e064fde87c8d1cd79ba06c876bd23630c83466e9500321be55c96ace2", + "https://bcr.bazel.build/modules/abseil-cpp/20211102.0/MODULE.bazel": "70390338f7a5106231d20620712f7cccb659cd0e9d073d1991c038eb9fc57589", + "https://bcr.bazel.build/modules/abseil-cpp/20230125.1/MODULE.bazel": "89047429cb0207707b2dface14ba7f8df85273d484c2572755be4bab7ce9c3a0", + "https://bcr.bazel.build/modules/abseil-cpp/20230802.0.bcr.1/MODULE.bazel": "1c8cec495288dccd14fdae6e3f95f772c1c91857047a098fad772034264cc8cb", + "https://bcr.bazel.build/modules/abseil-cpp/20230802.0/MODULE.bazel": "d253ae36a8bd9ee3c5955384096ccb6baf16a1b1e93e858370da0a3b94f77c16", + "https://bcr.bazel.build/modules/abseil-cpp/20230802.1/MODULE.bazel": "fa92e2eb41a04df73cdabeec37107316f7e5272650f81d6cc096418fe647b915", + "https://bcr.bazel.build/modules/abseil-cpp/20240116.1/MODULE.bazel": "37bcdb4440fbb61df6a1c296ae01b327f19e9bb521f9b8e26ec854b6f97309ed", + "https://bcr.bazel.build/modules/abseil-cpp/20240116.2/MODULE.bazel": "73939767a4686cd9a520d16af5ab440071ed75cec1a876bf2fcfaf1f71987a16", + "https://bcr.bazel.build/modules/abseil-cpp/20250127.1/MODULE.bazel": "c4a89e7ceb9bf1e25cf84a9f830ff6b817b72874088bf5141b314726e46a57c1", + "https://bcr.bazel.build/modules/abseil-cpp/20250512.1/MODULE.bazel": "d209fdb6f36ffaf61c509fcc81b19e81b411a999a934a032e10cd009a0226215", + "https://bcr.bazel.build/modules/abseil-cpp/20250814.1/MODULE.bazel": "51f2312901470cdab0dbdf3b88c40cd21c62a7ed58a3de45b365ddc5b11bcab2", + "https://bcr.bazel.build/modules/abseil-cpp/20250814.1/source.json": "cea3901d7e299da7320700abbaafe57a65d039f10d0d7ea601c4a66938ea4b0c", + "https://bcr.bazel.build/modules/apple_support/1.11.1/MODULE.bazel": "1843d7cd8a58369a444fc6000e7304425fba600ff641592161d9f15b179fb896", + "https://bcr.bazel.build/modules/apple_support/1.15.1/MODULE.bazel": "a0556fefca0b1bb2de8567b8827518f94db6a6e7e7d632b4c48dc5f865bc7c85", + "https://bcr.bazel.build/modules/apple_support/1.21.0/MODULE.bazel": "ac1824ed5edf17dee2fdd4927ada30c9f8c3b520be1b5fd02a5da15bc10bff3e", + "https://bcr.bazel.build/modules/apple_support/1.21.1/MODULE.bazel": "5809fa3efab15d1f3c3c635af6974044bac8a4919c62238cce06acee8a8c11f1", + "https://bcr.bazel.build/modules/apple_support/1.24.2/MODULE.bazel": "0e62471818affb9f0b26f128831d5c40b074d32e6dda5a0d3852847215a41ca4", + "https://bcr.bazel.build/modules/apple_support/1.24.2/source.json": "2c22c9827093250406c5568da6c54e6fdf0ef06238def3d99c71b12feb057a8d", + "https://bcr.bazel.build/modules/bazel_features/1.0.0/MODULE.bazel": "d7f022dc887efb96e1ee51cec7b2e48d41e36ff59a6e4f216c40e4029e1585bf", + "https://bcr.bazel.build/modules/bazel_features/1.1.0/MODULE.bazel": "cfd42ff3b815a5f39554d97182657f8c4b9719568eb7fded2b9135f084bf760b", + "https://bcr.bazel.build/modules/bazel_features/1.1.1/MODULE.bazel": "27b8c79ef57efe08efccbd9dd6ef70d61b4798320b8d3c134fd571f78963dbcd", + "https://bcr.bazel.build/modules/bazel_features/1.10.0/MODULE.bazel": "f75e8807570484a99be90abcd52b5e1f390362c258bcb73106f4544957a48101", + "https://bcr.bazel.build/modules/bazel_features/1.11.0/MODULE.bazel": "f9382337dd5a474c3b7d334c2f83e50b6eaedc284253334cf823044a26de03e8", + "https://bcr.bazel.build/modules/bazel_features/1.15.0/MODULE.bazel": "d38ff6e517149dc509406aca0db3ad1efdd890a85e049585b7234d04238e2a4d", + "https://bcr.bazel.build/modules/bazel_features/1.17.0/MODULE.bazel": "039de32d21b816b47bd42c778e0454217e9c9caac4a3cf8e15c7231ee3ddee4d", + "https://bcr.bazel.build/modules/bazel_features/1.18.0/MODULE.bazel": "1be0ae2557ab3a72a57aeb31b29be347bcdc5d2b1eb1e70f39e3851a7e97041a", + "https://bcr.bazel.build/modules/bazel_features/1.19.0/MODULE.bazel": "59adcdf28230d220f0067b1f435b8537dd033bfff8db21335ef9217919c7fb58", + "https://bcr.bazel.build/modules/bazel_features/1.21.0/MODULE.bazel": "675642261665d8eea09989aa3b8afb5c37627f1be178382c320d1b46afba5e3b", + "https://bcr.bazel.build/modules/bazel_features/1.23.0/MODULE.bazel": "fd1ac84bc4e97a5a0816b7fd7d4d4f6d837b0047cf4cbd81652d616af3a6591a", + "https://bcr.bazel.build/modules/bazel_features/1.27.0/MODULE.bazel": "621eeee06c4458a9121d1f104efb80f39d34deff4984e778359c60eaf1a8cb65", + "https://bcr.bazel.build/modules/bazel_features/1.28.0/MODULE.bazel": "4b4200e6cbf8fa335b2c3f43e1d6ef3e240319c33d43d60cc0fbd4b87ece299d", + "https://bcr.bazel.build/modules/bazel_features/1.3.0/MODULE.bazel": "cdcafe83ec318cda34e02948e81d790aab8df7a929cec6f6969f13a489ccecd9", + "https://bcr.bazel.build/modules/bazel_features/1.30.0/MODULE.bazel": "a14b62d05969a293b80257e72e597c2da7f717e1e69fa8b339703ed6731bec87", + "https://bcr.bazel.build/modules/bazel_features/1.33.0/MODULE.bazel": "8b8dc9d2a4c88609409c3191165bccec0e4cb044cd7a72ccbe826583303459f6", + "https://bcr.bazel.build/modules/bazel_features/1.33.0/source.json": "13617db3930328c2cd2807a0f13d52ca870ac05f96db9668655113265147b2a6", + "https://bcr.bazel.build/modules/bazel_features/1.4.1/MODULE.bazel": "e45b6bb2350aff3e442ae1111c555e27eac1d915e77775f6fdc4b351b758b5d7", + "https://bcr.bazel.build/modules/bazel_features/1.9.0/MODULE.bazel": "885151d58d90d8d9c811eb75e3288c11f850e1d6b481a8c9f766adee4712358b", + "https://bcr.bazel.build/modules/bazel_features/1.9.1/MODULE.bazel": "8f679097876a9b609ad1f60249c49d68bfab783dd9be012faf9d82547b14815a", + "https://bcr.bazel.build/modules/bazel_lib/3.0.0/MODULE.bazel": "22b70b80ac89ad3f3772526cd9feee2fa412c2b01933fea7ed13238a448d370d", + "https://bcr.bazel.build/modules/bazel_lib/3.0.0/source.json": "895f21909c6fba01d7c17914bb6c8e135982275a1b18cdaa4e62272217ef1751", + "https://bcr.bazel.build/modules/bazel_skylib/1.0.3/MODULE.bazel": "bcb0fd896384802d1ad283b4e4eb4d718eebd8cb820b0a2c3a347fb971afd9d8", + "https://bcr.bazel.build/modules/bazel_skylib/1.1.1/MODULE.bazel": "1add3e7d93ff2e6998f9e118022c84d163917d912f5afafb3058e3d2f1545b5e", + "https://bcr.bazel.build/modules/bazel_skylib/1.2.0/MODULE.bazel": "44fe84260e454ed94ad326352a698422dbe372b21a1ac9f3eab76eb531223686", + "https://bcr.bazel.build/modules/bazel_skylib/1.2.1/MODULE.bazel": "f35baf9da0efe45fa3da1696ae906eea3d615ad41e2e3def4aeb4e8bc0ef9a7a", + "https://bcr.bazel.build/modules/bazel_skylib/1.3.0/MODULE.bazel": "20228b92868bf5cfc41bda7afc8a8ba2a543201851de39d990ec957b513579c5", + "https://bcr.bazel.build/modules/bazel_skylib/1.4.1/MODULE.bazel": "a0dcb779424be33100dcae821e9e27e4f2901d9dfd5333efe5ac6a8d7ab75e1d", + "https://bcr.bazel.build/modules/bazel_skylib/1.4.2/MODULE.bazel": "3bd40978e7a1fac911d5989e6b09d8f64921865a45822d8b09e815eaa726a651", + "https://bcr.bazel.build/modules/bazel_skylib/1.5.0/MODULE.bazel": "32880f5e2945ce6a03d1fbd588e9198c0a959bb42297b2cfaf1685b7bc32e138", + "https://bcr.bazel.build/modules/bazel_skylib/1.6.1/MODULE.bazel": "8fdee2dbaace6c252131c00e1de4b165dc65af02ea278476187765e1a617b917", + "https://bcr.bazel.build/modules/bazel_skylib/1.7.0/MODULE.bazel": "0db596f4563de7938de764cc8deeabec291f55e8ec15299718b93c4423e9796d", + "https://bcr.bazel.build/modules/bazel_skylib/1.7.1/MODULE.bazel": "3120d80c5861aa616222ec015332e5f8d3171e062e3e804a2a0253e1be26e59b", + "https://bcr.bazel.build/modules/bazel_skylib/1.8.1/MODULE.bazel": "88ade7293becda963e0e3ea33e7d54d3425127e0a326e0d17da085a5f1f03ff6", + "https://bcr.bazel.build/modules/bazel_skylib/1.8.2/MODULE.bazel": "69ad6927098316848b34a9142bcc975e018ba27f08c4ff403f50c1b6e646ca67", + "https://bcr.bazel.build/modules/bazel_skylib/1.8.2/source.json": "34a3c8bcf233b835eb74be9d628899bb32999d3e0eadef1947a0a562a2b16ffb", + "https://bcr.bazel.build/modules/bazelrc-preset.bzl/1.9.2/MODULE.bazel": "9354bc3d91ee66e804642419af601b853e3228f6493f9263d51c5cd7b25c2a55", + "https://bcr.bazel.build/modules/bazelrc-preset.bzl/1.9.2/source.json": "d78791185eae5a8af3a5793f312f0ba21185bd8a115b9419fb99527d03ab112b", + "https://bcr.bazel.build/modules/buildozer/8.2.1/MODULE.bazel": "61e9433c574c2bd9519cad7fa66b9c1d2b8e8d5f3ae5d6528a2c2d26e68d874d", + "https://bcr.bazel.build/modules/buildozer/8.2.1/source.json": "7c33f6a26ee0216f85544b4bca5e9044579e0219b6898dd653f5fb449cf2e484", + "https://bcr.bazel.build/modules/gazelle/0.32.0/MODULE.bazel": "b499f58a5d0d3537f3cf5b76d8ada18242f64ec474d8391247438bf04f58c7b8", + "https://bcr.bazel.build/modules/gazelle/0.33.0/MODULE.bazel": "a13a0f279b462b784fb8dd52a4074526c4a2afe70e114c7d09066097a46b3350", + "https://bcr.bazel.build/modules/gazelle/0.34.0/MODULE.bazel": "abdd8ce4d70978933209db92e436deb3a8b737859e9354fb5fd11fb5c2004c8a", + "https://bcr.bazel.build/modules/gazelle/0.36.0/MODULE.bazel": "e375d5d6e9a6ca59b0cb38b0540bc9a05b6aa926d322f2de268ad267a2ee74c0", + "https://bcr.bazel.build/modules/gazelle/0.45.0/MODULE.bazel": "ecd19ebe9f8e024e1ccffb6d997cc893a974bcc581f1ae08f386bdd448b10687", + "https://bcr.bazel.build/modules/gazelle/0.45.0/source.json": "111d182facc5f5e80f0b823d5f077b74128f40c3fd2eccc89a06f34191bd3392", + "https://bcr.bazel.build/modules/google_benchmark/1.8.2/MODULE.bazel": "a70cf1bba851000ba93b58ae2f6d76490a9feb74192e57ab8e8ff13c34ec50cb", + "https://bcr.bazel.build/modules/googletest/1.11.0/MODULE.bazel": "3a83f095183f66345ca86aa13c58b59f9f94a2f81999c093d4eeaa2d262d12f4", + "https://bcr.bazel.build/modules/googletest/1.14.0.bcr.1/MODULE.bazel": "22c31a561553727960057361aa33bf20fb2e98584bc4fec007906e27053f80c6", + "https://bcr.bazel.build/modules/googletest/1.14.0/MODULE.bazel": "cfbcbf3e6eac06ef9d85900f64424708cc08687d1b527f0ef65aa7517af8118f", + "https://bcr.bazel.build/modules/googletest/1.15.2/MODULE.bazel": "6de1edc1d26cafb0ea1a6ab3f4d4192d91a312fd2d360b63adaa213cd00b2108", + "https://bcr.bazel.build/modules/googletest/1.17.0/MODULE.bazel": "dbec758171594a705933a29fcf69293d2468c49ec1f2ebca65c36f504d72df46", + "https://bcr.bazel.build/modules/googletest/1.17.0/source.json": "38e4454b25fc30f15439c0378e57909ab1fd0a443158aa35aec685da727cd713", + "https://bcr.bazel.build/modules/jsoncpp/1.9.5/MODULE.bazel": "31271aedc59e815656f5736f282bb7509a97c7ecb43e927ac1a37966e0578075", + "https://bcr.bazel.build/modules/jsoncpp/1.9.6/MODULE.bazel": "2f8d20d3b7d54143213c4dfc3d98225c42de7d666011528dc8fe91591e2e17b0", + "https://bcr.bazel.build/modules/jsoncpp/1.9.6/source.json": "a04756d367a2126c3541682864ecec52f92cdee80a35735a3cb249ce015ca000", + "https://bcr.bazel.build/modules/libpfm/4.11.0/MODULE.bazel": "45061ff025b301940f1e30d2c16bea596c25b176c8b6b3087e92615adbd52902", + "https://bcr.bazel.build/modules/nlohmann_json/3.6.1/MODULE.bazel": "6f7b417dcc794d9add9e556673ad25cb3ba835224290f4f848f8e2db1e1fca74", + "https://bcr.bazel.build/modules/nlohmann_json/3.6.1/source.json": "f448c6e8963fdfa7eb831457df83ad63d3d6355018f6574fb017e8169deb43a9", + "https://bcr.bazel.build/modules/package_metadata/0.0.5/MODULE.bazel": "ef4f9439e3270fdd6b9fd4dbc3d2f29d13888e44c529a1b243f7a31dfbc2e8e4", + "https://bcr.bazel.build/modules/package_metadata/0.0.5/source.json": "2326db2f6592578177751c3e1f74786b79382cd6008834c9d01ec865b9126a85", + "https://bcr.bazel.build/modules/platforms/0.0.10/MODULE.bazel": "8cb8efaf200bdeb2150d93e162c40f388529a25852b332cec879373771e48ed5", + "https://bcr.bazel.build/modules/platforms/0.0.11/MODULE.bazel": "0daefc49732e227caa8bfa834d65dc52e8cc18a2faf80df25e8caea151a9413f", + "https://bcr.bazel.build/modules/platforms/0.0.4/MODULE.bazel": "9b328e31ee156f53f3c416a64f8491f7eb731742655a47c9eec4703a71644aee", + "https://bcr.bazel.build/modules/platforms/0.0.5/MODULE.bazel": "5733b54ea419d5eaf7997054bb55f6a1d0b5ff8aedf0176fef9eea44f3acda37", + "https://bcr.bazel.build/modules/platforms/0.0.6/MODULE.bazel": "ad6eeef431dc52aefd2d77ed20a4b353f8ebf0f4ecdd26a807d2da5aa8cd0615", + "https://bcr.bazel.build/modules/platforms/0.0.7/MODULE.bazel": "72fd4a0ede9ee5c021f6a8dd92b503e089f46c227ba2813ff183b71616034814", + "https://bcr.bazel.build/modules/platforms/0.0.8/MODULE.bazel": "9f142c03e348f6d263719f5074b21ef3adf0b139ee4c5133e2aa35664da9eb2d", + "https://bcr.bazel.build/modules/platforms/0.0.9/MODULE.bazel": "4a87a60c927b56ddd67db50c89acaa62f4ce2a1d2149ccb63ffd871d5ce29ebc", + "https://bcr.bazel.build/modules/platforms/1.0.0/MODULE.bazel": "f05feb42b48f1b3c225e4ccf351f367be0371411a803198ec34a389fb22aa580", + "https://bcr.bazel.build/modules/platforms/1.0.0/source.json": "f4ff1fd412e0246fd38c82328eb209130ead81d62dcd5a9e40910f867f733d96", + "https://bcr.bazel.build/modules/protobuf/21.7/MODULE.bazel": "a5a29bb89544f9b97edce05642fac225a808b5b7be74038ea3640fae2f8e66a7", + "https://bcr.bazel.build/modules/protobuf/27.0/MODULE.bazel": "7873b60be88844a0a1d8f80b9d5d20cfbd8495a689b8763e76c6372998d3f64c", + "https://bcr.bazel.build/modules/protobuf/27.1/MODULE.bazel": "703a7b614728bb06647f965264967a8ef1c39e09e8f167b3ca0bb1fd80449c0d", + "https://bcr.bazel.build/modules/protobuf/29.0-rc2.bcr.1/MODULE.bazel": "52f4126f63a2f0bbf36b99c2a87648f08467a4eaf92ba726bc7d6a500bbf770c", + "https://bcr.bazel.build/modules/protobuf/29.0-rc2/MODULE.bazel": "6241d35983510143049943fc0d57937937122baf1b287862f9dc8590fc4c37df", + "https://bcr.bazel.build/modules/protobuf/29.0-rc3/MODULE.bazel": "33c2dfa286578573afc55a7acaea3cada4122b9631007c594bf0729f41c8de92", + "https://bcr.bazel.build/modules/protobuf/29.1/MODULE.bazel": "557c3457560ff49e122ed76c0bc3397a64af9574691cb8201b4e46d4ab2ecb95", + "https://bcr.bazel.build/modules/protobuf/3.19.0/MODULE.bazel": "6b5fbb433f760a99a22b18b6850ed5784ef0e9928a72668b66e4d7ccd47db9b0", + "https://bcr.bazel.build/modules/protobuf/3.19.2/MODULE.bazel": "532ffe5f2186b69fdde039efe6df13ba726ff338c6bc82275ad433013fa10573", + "https://bcr.bazel.build/modules/protobuf/3.19.6/MODULE.bazel": "9233edc5e1f2ee276a60de3eaa47ac4132302ef9643238f23128fea53ea12858", + "https://bcr.bazel.build/modules/protobuf/32.1/MODULE.bazel": "89cd2866a9cb07fee9ff74c41ceace11554f32e0d849de4e23ac55515cfada4d", + "https://bcr.bazel.build/modules/protobuf/33.4/MODULE.bazel": "114775b816b38b6d0ca620450d6b02550c60ceedfdc8d9a229833b34a223dc42", + "https://bcr.bazel.build/modules/protobuf/33.5/MODULE.bazel": "df58cd1c41c9d1257afa7f3110b23d970c107bf806b2e4d8c59a344d05504b0c", + "https://bcr.bazel.build/modules/protobuf/33.5/source.json": "fe53cb512afd722159c4c763f3fbbcc6ab850d45d1f389d8374f91c11e83bcd7", + "https://bcr.bazel.build/modules/pybind11_bazel/2.11.1/MODULE.bazel": "88af1c246226d87e65be78ed49ecd1e6f5e98648558c14ce99176da041dc378e", + "https://bcr.bazel.build/modules/pybind11_bazel/2.12.0/MODULE.bazel": "e6f4c20442eaa7c90d7190d8dc539d0ab422f95c65a57cc59562170c58ae3d34", + "https://bcr.bazel.build/modules/pybind11_bazel/2.12.0/source.json": "6900fdc8a9e95866b8c0d4ad4aba4d4236317b5c1cd04c502df3f0d33afed680", + "https://bcr.bazel.build/modules/re2/2023-09-01/MODULE.bazel": "cb3d511531b16cfc78a225a9e2136007a48cf8a677e4264baeab57fe78a80206", + "https://bcr.bazel.build/modules/re2/2024-07-02.bcr.1/MODULE.bazel": "b4963dda9b31080be1905ef085ecd7dd6cd47c05c79b9cdf83ade83ab2ab271a", + "https://bcr.bazel.build/modules/re2/2024-07-02.bcr.1/source.json": "2ff292be6ef3340325ce8a045ecc326e92cbfab47c7cbab4bd85d28971b97ac4", + "https://bcr.bazel.build/modules/re2/2024-07-02/MODULE.bazel": "0eadc4395959969297cbcf31a249ff457f2f1d456228c67719480205aa306daa", + "https://bcr.bazel.build/modules/rules_android/0.1.1/MODULE.bazel": "48809ab0091b07ad0182defb787c4c5328bd3a278938415c00a7b69b50c4d3a8", + "https://bcr.bazel.build/modules/rules_android/0.1.1/source.json": "e6986b41626ee10bdc864937ffb6d6bf275bb5b9c65120e6137d56e6331f089e", + "https://bcr.bazel.build/modules/rules_apple/3.16.0/MODULE.bazel": "0d1caf0b8375942ce98ea944be754a18874041e4e0459401d925577624d3a54a", + "https://bcr.bazel.build/modules/rules_apple/4.1.0/MODULE.bazel": "76e10fd4a48038d3fc7c5dc6e63b7063bbf5304a2e3bd42edda6ec660eebea68", + "https://bcr.bazel.build/modules/rules_apple/4.1.0/source.json": "8ee81e1708756f81b343a5eb2b2f0b953f1d25c4ab3d4a68dc02754872e80715", + "https://bcr.bazel.build/modules/rules_cc/0.0.1/MODULE.bazel": "cb2aa0747f84c6c3a78dad4e2049c154f08ab9d166b1273835a8174940365647", + "https://bcr.bazel.build/modules/rules_cc/0.0.10/MODULE.bazel": "ec1705118f7eaedd6e118508d3d26deba2a4e76476ada7e0e3965211be012002", + "https://bcr.bazel.build/modules/rules_cc/0.0.13/MODULE.bazel": "0e8529ed7b323dad0775ff924d2ae5af7640b23553dfcd4d34344c7e7a867191", + "https://bcr.bazel.build/modules/rules_cc/0.0.15/MODULE.bazel": "6704c35f7b4a72502ee81f61bf88706b54f06b3cbe5558ac17e2e14666cd5dcc", + "https://bcr.bazel.build/modules/rules_cc/0.0.16/MODULE.bazel": "7661303b8fc1b4d7f532e54e9d6565771fea666fbdf839e0a86affcd02defe87", + "https://bcr.bazel.build/modules/rules_cc/0.0.17/MODULE.bazel": "2ae1d8f4238ec67d7185d8861cb0a2cdf4bc608697c331b95bf990e69b62e64a", + "https://bcr.bazel.build/modules/rules_cc/0.0.2/MODULE.bazel": "6915987c90970493ab97393024c156ea8fb9f3bea953b2f3ec05c34f19b5695c", + "https://bcr.bazel.build/modules/rules_cc/0.0.6/MODULE.bazel": "abf360251023dfe3efcef65ab9d56beefa8394d4176dd29529750e1c57eaa33f", + "https://bcr.bazel.build/modules/rules_cc/0.0.8/MODULE.bazel": "964c85c82cfeb6f3855e6a07054fdb159aced38e99a5eecf7bce9d53990afa3e", + "https://bcr.bazel.build/modules/rules_cc/0.0.9/MODULE.bazel": "836e76439f354b89afe6a911a7adf59a6b2518fafb174483ad78a2a2fde7b1c5", + "https://bcr.bazel.build/modules/rules_cc/0.1.1/MODULE.bazel": "2f0222a6f229f0bf44cd711dc13c858dad98c62d52bd51d8fc3a764a83125513", + "https://bcr.bazel.build/modules/rules_cc/0.1.2/MODULE.bazel": "557ddc3a96858ec0d465a87c0a931054d7dcfd6583af2c7ed3baf494407fd8d0", + "https://bcr.bazel.build/modules/rules_cc/0.1.5/MODULE.bazel": "88dfc9361e8b5ae1008ac38f7cdfd45ad738e4fa676a3ad67d19204f045a1fd8", + "https://bcr.bazel.build/modules/rules_cc/0.2.0/MODULE.bazel": "b5c17f90458caae90d2ccd114c81970062946f49f355610ed89bebf954f5783c", + "https://bcr.bazel.build/modules/rules_cc/0.2.13/MODULE.bazel": "eecdd666eda6be16a8d9dc15e44b5c75133405e820f620a234acc4b1fdc5aa37", + "https://bcr.bazel.build/modules/rules_cc/0.2.14/MODULE.bazel": "353c99ed148887ee89c54a17d4100ae7e7e436593d104b668476019023b58df8", + "https://bcr.bazel.build/modules/rules_cc/0.2.14/source.json": "55d0a4587c5592fad350f6e698530f4faf0e7dd15e69d43f8d87e220c78bea54", + "https://bcr.bazel.build/modules/rules_cc/0.2.8/MODULE.bazel": "f1df20f0bf22c28192a794f29b501ee2018fa37a3862a1a2132ae2940a23a642", + "https://bcr.bazel.build/modules/rules_foreign_cc/0.9.0/MODULE.bazel": "c9e8c682bf75b0e7c704166d79b599f93b72cfca5ad7477df596947891feeef6", + "https://bcr.bazel.build/modules/rules_fuzzing/0.5.2/MODULE.bazel": "40c97d1144356f52905566c55811f13b299453a14ac7769dfba2ac38192337a8", + "https://bcr.bazel.build/modules/rules_go/0.41.0/MODULE.bazel": "55861d8e8bb0e62cbd2896f60ff303f62ffcb0eddb74ecb0e5c0cbe36fc292c8", + "https://bcr.bazel.build/modules/rules_go/0.42.0/MODULE.bazel": "8cfa875b9aa8c6fce2b2e5925e73c1388173ea3c32a0db4d2b4804b453c14270", + "https://bcr.bazel.build/modules/rules_go/0.46.0/MODULE.bazel": "3477df8bdcc49e698b9d25f734c4f3a9f5931ff34ee48a2c662be168f5f2d3fd", + "https://bcr.bazel.build/modules/rules_go/0.53.0/MODULE.bazel": "a4ed760d3ac0dbc0d7b967631a9a3fd9100d28f7d9fcf214b4df87d4bfff5f9a", + "https://bcr.bazel.build/modules/rules_go/0.59.0/MODULE.bazel": "b7e43e7414a3139a7547d1b4909b29085fbe5182b6c58cbe1ed4c6272815aeae", + "https://bcr.bazel.build/modules/rules_go/0.59.0/source.json": "1df17bb7865cfc029492c30163cee891d0dd8658ea0d5bfdf252c4b6db5c1ef6", + "https://bcr.bazel.build/modules/rules_java/4.0.0/MODULE.bazel": "5a78a7ae82cd1a33cef56dc578c7d2a46ed0dca12643ee45edbb8417899e6f74", + "https://bcr.bazel.build/modules/rules_java/5.3.5/MODULE.bazel": "a4ec4f2db570171e3e5eb753276ee4b389bae16b96207e9d3230895c99644b86", + "https://bcr.bazel.build/modules/rules_java/6.5.2/MODULE.bazel": "1d440d262d0e08453fa0c4d8f699ba81609ed0e9a9a0f02cd10b3e7942e61e31", + "https://bcr.bazel.build/modules/rules_java/7.10.0/MODULE.bazel": "530c3beb3067e870561739f1144329a21c851ff771cd752a49e06e3dc9c2e71a", + "https://bcr.bazel.build/modules/rules_java/7.12.2/MODULE.bazel": "579c505165ee757a4280ef83cda0150eea193eed3bef50b1004ba88b99da6de6", + "https://bcr.bazel.build/modules/rules_java/7.2.0/MODULE.bazel": "06c0334c9be61e6cef2c8c84a7800cef502063269a5af25ceb100b192453d4ab", + "https://bcr.bazel.build/modules/rules_java/7.6.1/MODULE.bazel": "2f14b7e8a1aa2f67ae92bc69d1ec0fa8d9f827c4e17ff5e5f02e91caa3b2d0fe", + "https://bcr.bazel.build/modules/rules_java/8.3.2/MODULE.bazel": "7336d5511ad5af0b8615fdc7477535a2e4e723a357b6713af439fe8cf0195017", + "https://bcr.bazel.build/modules/rules_java/8.5.1/MODULE.bazel": "d8a9e38cc5228881f7055a6079f6f7821a073df3744d441978e7a43e20226939", + "https://bcr.bazel.build/modules/rules_java/8.6.1/MODULE.bazel": "f4808e2ab5b0197f094cabce9f4b006a27766beb6a9975931da07099560ca9c2", + "https://bcr.bazel.build/modules/rules_java/9.0.3/MODULE.bazel": "1f98ed015f7e744a745e0df6e898a7c5e83562d6b759dfd475c76456dda5ccea", + "https://bcr.bazel.build/modules/rules_java/9.0.3/source.json": "b038c0c07e12e658135bbc32cc1a2ded6e33785105c9d41958014c592de4593e", + "https://bcr.bazel.build/modules/rules_jvm_external/4.4.2/MODULE.bazel": "a56b85e418c83eb1839819f0b515c431010160383306d13ec21959ac412d2fe7", + "https://bcr.bazel.build/modules/rules_jvm_external/5.1/MODULE.bazel": "33f6f999e03183f7d088c9be518a63467dfd0be94a11d0055fe2d210f89aa909", + "https://bcr.bazel.build/modules/rules_jvm_external/5.2/MODULE.bazel": "d9351ba35217ad0de03816ef3ed63f89d411349353077348a45348b096615036", + "https://bcr.bazel.build/modules/rules_jvm_external/6.3/MODULE.bazel": "c998e060b85f71e00de5ec552019347c8bca255062c990ac02d051bb80a38df0", + "https://bcr.bazel.build/modules/rules_jvm_external/6.7/MODULE.bazel": "e717beabc4d091ecb2c803c2d341b88590e9116b8bf7947915eeb33aab4f96dd", + "https://bcr.bazel.build/modules/rules_jvm_external/6.7/source.json": "5426f412d0a7fc6b611643376c7e4a82dec991491b9ce5cb1cfdd25fe2e92be4", + "https://bcr.bazel.build/modules/rules_kotlin/1.9.6/MODULE.bazel": "d269a01a18ee74d0335450b10f62c9ed81f2321d7958a2934e44272fe82dcef3", + "https://bcr.bazel.build/modules/rules_kotlin/1.9.6/source.json": "2faa4794364282db7c06600b7e5e34867a564ae91bda7cae7c29c64e9466b7d5", + "https://bcr.bazel.build/modules/rules_license/0.0.3/MODULE.bazel": "627e9ab0247f7d1e05736b59dbb1b6871373de5ad31c3011880b4133cafd4bd0", + "https://bcr.bazel.build/modules/rules_license/0.0.7/MODULE.bazel": "088fbeb0b6a419005b89cf93fe62d9517c0a2b8bb56af3244af65ecfe37e7d5d", + "https://bcr.bazel.build/modules/rules_license/1.0.0/MODULE.bazel": "a7fda60eefdf3d8c827262ba499957e4df06f659330bbe6cdbdb975b768bb65c", + "https://bcr.bazel.build/modules/rules_license/1.0.0/source.json": "a52c89e54cc311196e478f8382df91c15f7a2bfdf4c6cd0e2675cc2ff0b56efb", + "https://bcr.bazel.build/modules/rules_pkg/0.7.0/MODULE.bazel": "df99f03fc7934a4737122518bb87e667e62d780b610910f0447665a7e2be62dc", + "https://bcr.bazel.build/modules/rules_pkg/1.0.1/MODULE.bazel": "5b1df97dbc29623bccdf2b0dcd0f5cb08e2f2c9050aab1092fd39a41e82686ff", + "https://bcr.bazel.build/modules/rules_pkg/1.2.0/MODULE.bazel": "c7db3c2b407e673c7a39e3625dc05dc9f12d6682cbd82a3a5924a13b491eda7e", + "https://bcr.bazel.build/modules/rules_pkg/1.2.0/source.json": "9062e00845bf91a4247465d371baa837adf9b6ff44c542f73ba084f07667e1dc", + "https://bcr.bazel.build/modules/rules_proto/4.0.0/MODULE.bazel": "a7a7b6ce9bee418c1a760b3d84f83a299ad6952f9903c67f19e4edd964894e06", + "https://bcr.bazel.build/modules/rules_proto/5.3.0-21.7/MODULE.bazel": "e8dff86b0971688790ae75528fe1813f71809b5afd57facb44dad9e8eca631b7", + "https://bcr.bazel.build/modules/rules_proto/6.0.0-rc1/MODULE.bazel": "1e5b502e2e1a9e825eef74476a5a1ee524a92297085015a052510b09a1a09483", + "https://bcr.bazel.build/modules/rules_proto/6.0.0/MODULE.bazel": "b531d7f09f58dce456cd61b4579ce8c86b38544da75184eadaf0a7cb7966453f", + "https://bcr.bazel.build/modules/rules_proto/6.0.2/MODULE.bazel": "ce916b775a62b90b61888052a416ccdda405212b6aaeb39522f7dc53431a5e73", + "https://bcr.bazel.build/modules/rules_proto/7.0.2/MODULE.bazel": "bf81793bd6d2ad89a37a40693e56c61b0ee30f7a7fdbaf3eabbf5f39de47dea2", + "https://bcr.bazel.build/modules/rules_proto/7.1.0/MODULE.bazel": "002d62d9108f75bb807cd56245d45648f38275cb3a99dcd45dfb864c5d74cb96", + "https://bcr.bazel.build/modules/rules_proto/7.1.0/source.json": "39f89066c12c24097854e8f57ab8558929f9c8d474d34b2c00ac04630ad8940e", + "https://bcr.bazel.build/modules/rules_python/0.10.2/MODULE.bazel": "cc82bc96f2997baa545ab3ce73f196d040ffb8756fd2d66125a530031cd90e5f", + "https://bcr.bazel.build/modules/rules_python/0.23.1/MODULE.bazel": "49ffccf0511cb8414de28321f5fcf2a31312b47c40cc21577144b7447f2bf300", + "https://bcr.bazel.build/modules/rules_python/0.25.0/MODULE.bazel": "72f1506841c920a1afec76975b35312410eea3aa7b63267436bfb1dd91d2d382", + "https://bcr.bazel.build/modules/rules_python/0.28.0/MODULE.bazel": "cba2573d870babc976664a912539b320cbaa7114cd3e8f053c720171cde331ed", + "https://bcr.bazel.build/modules/rules_python/0.31.0/MODULE.bazel": "93a43dc47ee570e6ec9f5779b2e64c1476a6ce921c48cc9a1678a91dd5f8fd58", + "https://bcr.bazel.build/modules/rules_python/0.33.2/MODULE.bazel": "3e036c4ad8d804a4dad897d333d8dce200d943df4827cb849840055be8d2e937", + "https://bcr.bazel.build/modules/rules_python/0.4.0/MODULE.bazel": "9208ee05fd48bf09ac60ed269791cf17fb343db56c8226a720fbb1cdf467166c", + "https://bcr.bazel.build/modules/rules_python/1.0.0/MODULE.bazel": "898a3d999c22caa585eb062b600f88654bf92efb204fa346fb55f6f8edffca43", + "https://bcr.bazel.build/modules/rules_python/1.3.0/MODULE.bazel": "8361d57eafb67c09b75bf4bbe6be360e1b8f4f18118ab48037f2bd50aa2ccb13", + "https://bcr.bazel.build/modules/rules_python/1.4.1/MODULE.bazel": "8991ad45bdc25018301d6b7e1d3626afc3c8af8aaf4bc04f23d0b99c938b73a6", + "https://bcr.bazel.build/modules/rules_python/1.6.0/MODULE.bazel": "7e04ad8f8d5bea40451cf80b1bd8262552aa73f841415d20db96b7241bd027d8", + "https://bcr.bazel.build/modules/rules_python/1.7.0/MODULE.bazel": "d01f995ecd137abf30238ad9ce97f8fc3ac57289c8b24bd0bf53324d937a14f8", + "https://bcr.bazel.build/modules/rules_python/1.7.0/source.json": "028a084b65dcf8f4dc4f82f8778dbe65df133f234b316828a82e060d81bdce32", + "https://bcr.bazel.build/modules/rules_shell/0.2.0/MODULE.bazel": "fda8a652ab3c7d8fee214de05e7a9916d8b28082234e8d2c0094505c5268ed3c", + "https://bcr.bazel.build/modules/rules_shell/0.3.0/MODULE.bazel": "de4402cd12f4cc8fda2354fce179fdb068c0b9ca1ec2d2b17b3e21b24c1a937b", + "https://bcr.bazel.build/modules/rules_shell/0.4.1/MODULE.bazel": "00e501db01bbf4e3e1dd1595959092c2fadf2087b2852d3f553b5370f5633592", + "https://bcr.bazel.build/modules/rules_shell/0.6.1/MODULE.bazel": "72e76b0eea4e81611ef5452aa82b3da34caca0c8b7b5c0c9584338aa93bae26b", + "https://bcr.bazel.build/modules/rules_shell/0.6.1/source.json": "20ec05cd5e592055e214b2da8ccb283c7f2a421ea0dc2acbf1aa792e11c03d0c", + "https://bcr.bazel.build/modules/rules_swift/1.16.0/MODULE.bazel": "4a09f199545a60d09895e8281362b1ff3bb08bbde69c6fc87aff5b92fcc916ca", + "https://bcr.bazel.build/modules/rules_swift/2.1.1/MODULE.bazel": "494900a80f944fc7aa61500c2073d9729dff0b764f0e89b824eb746959bc1046", + "https://bcr.bazel.build/modules/rules_swift/2.4.0/MODULE.bazel": "1639617eb1ede28d774d967a738b4a68b0accb40650beadb57c21846beab5efd", + "https://bcr.bazel.build/modules/rules_swift/3.1.2/MODULE.bazel": "72c8f5cf9d26427cee6c76c8e3853eb46ce6b0412a081b2b6db6e8ad56267400", + "https://bcr.bazel.build/modules/rules_swift/3.1.2/source.json": "e85761f3098a6faf40b8187695e3de6d97944e98abd0d8ce579cb2daf6319a66", + "https://bcr.bazel.build/modules/stardoc/0.5.1/MODULE.bazel": "1a05d92974d0c122f5ccf09291442580317cdd859f07a8655f1db9a60374f9f8", + "https://bcr.bazel.build/modules/stardoc/0.5.3/MODULE.bazel": "c7f6948dae6999bf0db32c1858ae345f112cacf98f174c7a8bb707e41b974f1c", + "https://bcr.bazel.build/modules/stardoc/0.7.0/MODULE.bazel": "05e3d6d30c099b6770e97da986c53bd31844d7f13d41412480ea265ac9e8079c", + "https://bcr.bazel.build/modules/stardoc/0.7.2/MODULE.bazel": "fc152419aa2ea0f51c29583fab1e8c99ddefd5b3778421845606ee628629e0e5", + "https://bcr.bazel.build/modules/stardoc/0.7.2/source.json": "58b029e5e901d6802967754adf0a9056747e8176f017cfe3607c0851f4d42216", + "https://bcr.bazel.build/modules/swift_argument_parser/1.3.1.1/MODULE.bazel": "5e463fbfba7b1701d957555ed45097d7f984211330106ccd1352c6e0af0dcf91", + "https://bcr.bazel.build/modules/swift_argument_parser/1.3.1.2/MODULE.bazel": "75aab2373a4bbe2a1260b9bf2a1ebbdbf872d3bd36f80bff058dccd82e89422f", + "https://bcr.bazel.build/modules/swift_argument_parser/1.3.1.2/source.json": "5fba48bbe0ba48761f9e9f75f92876cafb5d07c0ce059cc7a8027416de94a05b", + "https://bcr.bazel.build/modules/upb/0.0.0-20220923-a547704/MODULE.bazel": "7298990c00040a0e2f121f6c32544bab27d4452f80d9ce51349b1a28f3005c43", + "https://bcr.bazel.build/modules/zlib/1.2.11/MODULE.bazel": "07b389abc85fdbca459b69e2ec656ae5622873af3f845e1c9d80fe179f3effa0", + "https://bcr.bazel.build/modules/zlib/1.2.12/MODULE.bazel": "3b1a8834ada2a883674be8cbd36ede1b6ec481477ada359cd2d3ddc562340b27", + "https://bcr.bazel.build/modules/zlib/1.3.1.bcr.5/MODULE.bazel": "eec517b5bbe5492629466e11dae908d043364302283de25581e3eb944326c4ca", + "https://bcr.bazel.build/modules/zlib/1.3.1.bcr.5/source.json": "22bc55c47af97246cfc093d0acf683a7869377de362b5d1c552c2c2e16b7a806", + "https://bcr.bazel.build/modules/zlib/1.3.1/MODULE.bazel": "751c9940dcfe869f5f7274e1295422a34623555916eb98c174c1e945594bf198" + }, + "selectedYankedVersions": {}, + "moduleExtensions": { + "@@rules_kotlin+//src/main/starlark/core/repositories:bzlmod_setup.bzl%rules_kotlin_extensions": { + "general": { + "bzlTransitiveDigest": "ABI1D/sbS1ovwaW/kHDoj8nnXjQ0oKU9fzmzEG4iT8o=", + "usagesDigest": "QI2z8ZUR+mqtbwsf2fLqYdJAkPOHdOV+tF2yVAUgRzw=", + "recordedInputs": [ + "REPO_MAPPING:rules_kotlin+,bazel_tools bazel_tools" + ], + "generatedRepoSpecs": { + "com_github_jetbrains_kotlin_git": { + "repoRuleId": "@@rules_kotlin+//src/main/starlark/core/repositories:compiler.bzl%kotlin_compiler_git_repository", + "attributes": { + "urls": [ + "https://github.com/JetBrains/kotlin/releases/download/v1.9.23/kotlin-compiler-1.9.23.zip" + ], + "sha256": "93137d3aab9afa9b27cb06a824c2324195c6b6f6179d8a8653f440f5bd58be88" + } + }, + "com_github_jetbrains_kotlin": { + "repoRuleId": "@@rules_kotlin+//src/main/starlark/core/repositories:compiler.bzl%kotlin_capabilities_repository", + "attributes": { + "git_repository_name": "com_github_jetbrains_kotlin_git", + "compiler_version": "1.9.23" + } + }, + "com_github_google_ksp": { + "repoRuleId": "@@rules_kotlin+//src/main/starlark/core/repositories:ksp.bzl%ksp_compiler_plugin_repository", + "attributes": { + "urls": [ + "https://github.com/google/ksp/releases/download/1.9.23-1.0.20/artifacts.zip" + ], + "sha256": "ee0618755913ef7fd6511288a232e8fad24838b9af6ea73972a76e81053c8c2d", + "strip_version": "1.9.23-1.0.20" + } + }, + "com_github_pinterest_ktlint": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_file", + "attributes": { + "sha256": "01b2e0ef893383a50dbeb13970fe7fa3be36ca3e83259e01649945b09d736985", + "urls": [ + "https://github.com/pinterest/ktlint/releases/download/1.3.0/ktlint" + ], + "executable": true + } + }, + "rules_android": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "sha256": "cd06d15dd8bb59926e4d65f9003bfc20f9da4b2519985c27e190cddc8b7a7806", + "strip_prefix": "rules_android-0.1.1", + "urls": [ + "https://github.com/bazelbuild/rules_android/archive/v0.1.1.zip" + ] + } + } + } + } + }, + "@@rules_python+//python/extensions:config.bzl%config": { + "general": { + "bzlTransitiveDigest": "2hLgIvNVTLgxus0ZuXtleBe70intCfo0cHs8qvt6cdM=", + "usagesDigest": "ZVSXMAGpD+xzVNPuvF1IoLBkty7TROO0+akMapt1pAg=", + "recordedInputs": [ + "REPO_MAPPING:rules_python+,bazel_tools bazel_tools", + "REPO_MAPPING:rules_python+,pypi__build rules_python++config+pypi__build", + "REPO_MAPPING:rules_python+,pypi__click rules_python++config+pypi__click", + "REPO_MAPPING:rules_python+,pypi__colorama rules_python++config+pypi__colorama", + "REPO_MAPPING:rules_python+,pypi__importlib_metadata rules_python++config+pypi__importlib_metadata", + "REPO_MAPPING:rules_python+,pypi__installer rules_python++config+pypi__installer", + "REPO_MAPPING:rules_python+,pypi__more_itertools rules_python++config+pypi__more_itertools", + "REPO_MAPPING:rules_python+,pypi__packaging rules_python++config+pypi__packaging", + "REPO_MAPPING:rules_python+,pypi__pep517 rules_python++config+pypi__pep517", + "REPO_MAPPING:rules_python+,pypi__pip rules_python++config+pypi__pip", + "REPO_MAPPING:rules_python+,pypi__pip_tools rules_python++config+pypi__pip_tools", + "REPO_MAPPING:rules_python+,pypi__pyproject_hooks rules_python++config+pypi__pyproject_hooks", + "REPO_MAPPING:rules_python+,pypi__setuptools rules_python++config+pypi__setuptools", + "REPO_MAPPING:rules_python+,pypi__tomli rules_python++config+pypi__tomli", + "REPO_MAPPING:rules_python+,pypi__wheel rules_python++config+pypi__wheel", + "REPO_MAPPING:rules_python+,pypi__zipp rules_python++config+pypi__zipp" + ], + "generatedRepoSpecs": { + "rules_python_internal": { + "repoRuleId": "@@rules_python+//python/private:internal_config_repo.bzl%internal_config_repo", + "attributes": { + "transition_setting_generators": {}, + "transition_settings": [] + } + }, + "pypi__build": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "url": "https://files.pythonhosted.org/packages/e2/03/f3c8ba0a6b6e30d7d18c40faab90807c9bb5e9a1e3b2fe2008af624a9c97/build-1.2.1-py3-none-any.whl", + "sha256": "75e10f767a433d9a86e50d83f418e83efc18ede923ee5ff7df93b6cb0306c5d4", + "type": "zip", + "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:py_library.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude to avoid non-determinism.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/*.pyc.*\", # During pyc creation, temp files named *.pyc.NNN are created\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" + } + }, + "pypi__click": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "url": "https://files.pythonhosted.org/packages/00/2e/d53fa4befbf2cfa713304affc7ca780ce4fc1fd8710527771b58311a3229/click-8.1.7-py3-none-any.whl", + "sha256": "ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28", + "type": "zip", + "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:py_library.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude to avoid non-determinism.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/*.pyc.*\", # During pyc creation, temp files named *.pyc.NNN are created\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" + } + }, + "pypi__colorama": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "url": "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", + "sha256": "4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", + "type": "zip", + "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:py_library.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude to avoid non-determinism.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/*.pyc.*\", # During pyc creation, temp files named *.pyc.NNN are created\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" + } + }, + "pypi__importlib_metadata": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "url": "https://files.pythonhosted.org/packages/2d/0a/679461c511447ffaf176567d5c496d1de27cbe34a87df6677d7171b2fbd4/importlib_metadata-7.1.0-py3-none-any.whl", + "sha256": "30962b96c0c223483ed6cc7280e7f0199feb01a0e40cfae4d4450fc6fab1f570", + "type": "zip", + "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:py_library.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude to avoid non-determinism.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/*.pyc.*\", # During pyc creation, temp files named *.pyc.NNN are created\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" + } + }, + "pypi__installer": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "url": "https://files.pythonhosted.org/packages/e5/ca/1172b6638d52f2d6caa2dd262ec4c811ba59eee96d54a7701930726bce18/installer-0.7.0-py3-none-any.whl", + "sha256": "05d1933f0a5ba7d8d6296bb6d5018e7c94fa473ceb10cf198a92ccea19c27b53", + "type": "zip", + "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:py_library.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude to avoid non-determinism.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/*.pyc.*\", # During pyc creation, temp files named *.pyc.NNN are created\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" + } + }, + "pypi__more_itertools": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "url": "https://files.pythonhosted.org/packages/50/e2/8e10e465ee3987bb7c9ab69efb91d867d93959095f4807db102d07995d94/more_itertools-10.2.0-py3-none-any.whl", + "sha256": "686b06abe565edfab151cb8fd385a05651e1fdf8f0a14191e4439283421f8684", + "type": "zip", + "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:py_library.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude to avoid non-determinism.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/*.pyc.*\", # During pyc creation, temp files named *.pyc.NNN are created\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" + } + }, + "pypi__packaging": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "url": "https://files.pythonhosted.org/packages/49/df/1fceb2f8900f8639e278b056416d49134fb8d84c5942ffaa01ad34782422/packaging-24.0-py3-none-any.whl", + "sha256": "2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5", + "type": "zip", + "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:py_library.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude to avoid non-determinism.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/*.pyc.*\", # During pyc creation, temp files named *.pyc.NNN are created\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" + } + }, + "pypi__pep517": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "url": "https://files.pythonhosted.org/packages/25/6e/ca4a5434eb0e502210f591b97537d322546e4833dcb4d470a48c375c5540/pep517-0.13.1-py3-none-any.whl", + "sha256": "31b206f67165b3536dd577c5c3f1518e8fbaf38cbc57efff8369a392feff1721", + "type": "zip", + "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:py_library.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude to avoid non-determinism.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/*.pyc.*\", # During pyc creation, temp files named *.pyc.NNN are created\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" + } + }, + "pypi__pip": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "url": "https://files.pythonhosted.org/packages/8a/6a/19e9fe04fca059ccf770861c7d5721ab4c2aebc539889e97c7977528a53b/pip-24.0-py3-none-any.whl", + "sha256": "ba0d021a166865d2265246961bec0152ff124de910c5cc39f1156ce3fa7c69dc", + "type": "zip", + "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:py_library.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude to avoid non-determinism.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/*.pyc.*\", # During pyc creation, temp files named *.pyc.NNN are created\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" + } + }, + "pypi__pip_tools": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "url": "https://files.pythonhosted.org/packages/0d/dc/38f4ce065e92c66f058ea7a368a9c5de4e702272b479c0992059f7693941/pip_tools-7.4.1-py3-none-any.whl", + "sha256": "4c690e5fbae2f21e87843e89c26191f0d9454f362d8acdbd695716493ec8b3a9", + "type": "zip", + "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:py_library.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude to avoid non-determinism.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/*.pyc.*\", # During pyc creation, temp files named *.pyc.NNN are created\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" + } + }, + "pypi__pyproject_hooks": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "url": "https://files.pythonhosted.org/packages/ae/f3/431b9d5fe7d14af7a32340792ef43b8a714e7726f1d7b69cc4e8e7a3f1d7/pyproject_hooks-1.1.0-py3-none-any.whl", + "sha256": "7ceeefe9aec63a1064c18d939bdc3adf2d8aa1988a510afec15151578b232aa2", + "type": "zip", + "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:py_library.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude to avoid non-determinism.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/*.pyc.*\", # During pyc creation, temp files named *.pyc.NNN are created\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" + } + }, + "pypi__setuptools": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "url": "https://files.pythonhosted.org/packages/90/99/158ad0609729111163fc1f674a5a42f2605371a4cf036d0441070e2f7455/setuptools-78.1.1-py3-none-any.whl", + "sha256": "c3a9c4211ff4c309edb8b8c4f1cbfa7ae324c4ba9f91ff254e3d305b9fd54561", + "type": "zip", + "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:py_library.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude to avoid non-determinism.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/*.pyc.*\", # During pyc creation, temp files named *.pyc.NNN are created\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" + } + }, + "pypi__tomli": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "url": "https://files.pythonhosted.org/packages/97/75/10a9ebee3fd790d20926a90a2547f0bf78f371b2f13aa822c759680ca7b9/tomli-2.0.1-py3-none-any.whl", + "sha256": "939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc", + "type": "zip", + "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:py_library.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude to avoid non-determinism.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/*.pyc.*\", # During pyc creation, temp files named *.pyc.NNN are created\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" + } + }, + "pypi__wheel": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "url": "https://files.pythonhosted.org/packages/7d/cd/d7460c9a869b16c3dd4e1e403cce337df165368c71d6af229a74699622ce/wheel-0.43.0-py3-none-any.whl", + "sha256": "55c570405f142630c6b9f72fe09d9b67cf1477fcf543ae5b8dcb1f5b7377da81", + "type": "zip", + "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:py_library.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude to avoid non-determinism.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/*.pyc.*\", # During pyc creation, temp files named *.pyc.NNN are created\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" + } + }, + "pypi__zipp": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "url": "https://files.pythonhosted.org/packages/da/55/a03fd7240714916507e1fcf7ae355bd9d9ed2e6db492595f1a67f61681be/zipp-3.18.2-py3-none-any.whl", + "sha256": "dce197b859eb796242b0622af1b8beb0a722d52aa2f57133ead08edd5bf5374e", + "type": "zip", + "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:py_library.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude to avoid non-determinism.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/*.pyc.*\", # During pyc creation, temp files named *.pyc.NNN are created\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" + } + } + } + } + }, + "@@rules_python+//python/uv:uv.bzl%uv": { + "general": { + "bzlTransitiveDigest": "ijW9KS7qsIY+yBVvJ+Nr1mzwQox09j13DnE3iIwaeTM=", + "usagesDigest": "H8dQoNZcoqP+Mu0tHZTi4KHATzvNkM5ePuEqoQdklIU=", + "recordedInputs": [ + "REPO_MAPPING:rules_python+,bazel_tools bazel_tools", + "REPO_MAPPING:rules_python+,platforms platforms" + ], + "generatedRepoSpecs": { + "uv": { + "repoRuleId": "@@rules_python+//python/uv/private:uv_toolchains_repo.bzl%uv_toolchains_repo", + "attributes": { + "toolchain_type": "'@@rules_python+//python/uv:uv_toolchain_type'", + "toolchain_names": [ + "none" + ], + "toolchain_implementations": { + "none": "'@@rules_python+//python:none'" + }, + "toolchain_compatible_with": { + "none": [ + "@platforms//:incompatible" + ] + }, + "toolchain_target_settings": {} + } + } + } + } + } + }, + "facts": { + "@@rules_go+//go:extensions.bzl%go_sdk": { + "1.25.0": { + "aix_ppc64": [ + "go1.25.0.aix-ppc64.tar.gz", + "e5234a7dac67bc86c528fe9752fc9d63557918627707a733ab4cac1a6faed2d4" + ], + "darwin_amd64": [ + "go1.25.0.darwin-amd64.tar.gz", + "5bd60e823037062c2307c71e8111809865116714d6f6b410597cf5075dfd80ef" + ], + "darwin_arm64": [ + "go1.25.0.darwin-arm64.tar.gz", + "544932844156d8172f7a28f77f2ac9c15a23046698b6243f633b0a0b00c0749c" + ], + "dragonfly_amd64": [ + "go1.25.0.dragonfly-amd64.tar.gz", + "5ed3cf9a810a1483822538674f1336c06b51aa1b94d6d545a1a0319a48177120" + ], + "freebsd_386": [ + "go1.25.0.freebsd-386.tar.gz", + "abea5d5c6697e6b5c224731f2158fe87c602996a2a233ac0c4730cd57bf8374e" + ], + "freebsd_amd64": [ + "go1.25.0.freebsd-amd64.tar.gz", + "86e6fe0a29698d7601c4442052dac48bd58d532c51cccb8f1917df648138730b" + ], + "freebsd_arm": [ + "go1.25.0.freebsd-arm.tar.gz", + "d90b78e41921f72f30e8bbc81d9dec2cff7ff384a33d8d8debb24053e4336bfe" + ], + "freebsd_arm64": [ + "go1.25.0.freebsd-arm64.tar.gz", + "451d0da1affd886bfb291b7c63a6018527b269505db21ce6e14724f22ab0662e" + ], + "freebsd_riscv64": [ + "go1.25.0.freebsd-riscv64.tar.gz", + "7b565f76bd8bda46549eeaaefe0e53b251e644c230577290c0f66b1ecdb3cdbe" + ], + "illumos_amd64": [ + "go1.25.0.illumos-amd64.tar.gz", + "b1e1fdaab1ad25aa1c08d7a36c97d45d74b98b89c3f78c6d2145f77face54a2c" + ], + "linux_386": [ + "go1.25.0.linux-386.tar.gz", + "8c602dd9d99bc9453b3995d20ce4baf382cc50855900a0ece5de9929df4a993a" + ], + "linux_amd64": [ + "go1.25.0.linux-amd64.tar.gz", + "2852af0cb20a13139b3448992e69b868e50ed0f8a1e5940ee1de9e19a123b613" + ], + "linux_arm64": [ + "go1.25.0.linux-arm64.tar.gz", + "05de75d6994a2783699815ee553bd5a9327d8b79991de36e38b66862782f54ae" + ], + "linux_armv6l": [ + "go1.25.0.linux-armv6l.tar.gz", + "a5a8f8198fcf00e1e485b8ecef9ee020778bf32a408a4e8873371bfce458cd09" + ], + "linux_loong64": [ + "go1.25.0.linux-loong64.tar.gz", + "cab86b1cf761b1cb3bac86a8877cfc92e7b036fc0d3084123d77013d61432afc" + ], + "linux_mips": [ + "go1.25.0.linux-mips.tar.gz", + "d66b6fb74c3d91b9829dc95ec10ca1f047ef5e89332152f92e136cf0e2da5be1" + ], + "linux_mips64": [ + "go1.25.0.linux-mips64.tar.gz", + "4082e4381a8661bc2a839ff94ba3daf4f6cde20f8fb771b5b3d4762dc84198a2" + ], + "linux_mips64le": [ + "go1.25.0.linux-mips64le.tar.gz", + "70002c299ec7f7175ac2ef673b1b347eecfa54ae11f34416a6053c17f855afcc" + ], + "linux_mipsle": [ + "go1.25.0.linux-mipsle.tar.gz", + "b00a3a39eff099f6df9f1c7355bf28e4589d0586f42d7d4a394efb763d145a73" + ], + "linux_ppc64": [ + "go1.25.0.linux-ppc64.tar.gz", + "df166f33bd98160662560a72ff0b4ba731f969a80f088922bddcf566a88c1ec1" + ], + "linux_ppc64le": [ + "go1.25.0.linux-ppc64le.tar.gz", + "0f18a89e7576cf2c5fa0b487a1635d9bcbf843df5f110e9982c64df52a983ad0" + ], + "linux_riscv64": [ + "go1.25.0.linux-riscv64.tar.gz", + "c018ff74a2c48d55c8ca9b07c8e24163558ffec8bea08b326d6336905d956b67" + ], + "linux_s390x": [ + "go1.25.0.linux-s390x.tar.gz", + "34e5a2e19f2292fbaf8783e3a241e6e49689276aef6510a8060ea5ef54eee408" + ], + "netbsd_386": [ + "go1.25.0.netbsd-386.tar.gz", + "f8586cdb7aa855657609a5c5f6dbf523efa00c2bbd7c76d3936bec80aa6c0aba" + ], + "netbsd_amd64": [ + "go1.25.0.netbsd-amd64.tar.gz", + "ae8dc1469385b86a157a423bb56304ba45730de8a897615874f57dd096db2c2a" + ], + "netbsd_arm": [ + "go1.25.0.netbsd-arm.tar.gz", + "1ff7e4cc764425fc9dd6825eaee79d02b3c7cafffbb3691687c8d672ade76cb7" + ], + "netbsd_arm64": [ + "go1.25.0.netbsd-arm64.tar.gz", + "e1b310739f26724216aa6d7d7208c4031f9ff54c9b5b9a796ddc8bebcb4a5f16" + ], + "openbsd_386": [ + "go1.25.0.openbsd-386.tar.gz", + "4802a9b20e533da91adb84aab42e94aa56cfe3e5475d0550bed3385b182e69d8" + ], + "openbsd_amd64": [ + "go1.25.0.openbsd-amd64.tar.gz", + "c016cd984bebe317b19a4f297c4f50def120dc9788490540c89f28e42f1dabe1" + ], + "openbsd_arm": [ + "go1.25.0.openbsd-arm.tar.gz", + "a1e31d0bf22172ddde42edf5ec811ef81be43433df0948ece52fecb247ccfd8d" + ], + "openbsd_arm64": [ + "go1.25.0.openbsd-arm64.tar.gz", + "343ea8edd8c218196e15a859c6072d0dd3246fbbb168481ab665eb4c4140458d" + ], + "openbsd_ppc64": [ + "go1.25.0.openbsd-ppc64.tar.gz", + "694c14da1bcaeb5e3332d49bdc2b6d155067648f8fe1540c5de8f3cf8e157154" + ], + "openbsd_riscv64": [ + "go1.25.0.openbsd-riscv64.tar.gz", + "aa510ad25cf54c06cd9c70b6d80ded69cb20188ac6e1735655eef29ff7e7885f" + ], + "plan9_386": [ + "go1.25.0.plan9-386.tar.gz", + "46f8cef02086cf04bf186c5912776b56535178d4cb319cd19c9fdbdd29231986" + ], + "plan9_amd64": [ + "go1.25.0.plan9-amd64.tar.gz", + "29b34391d84095e44608a228f63f2f88113a37b74a79781353ec043dfbcb427b" + ], + "plan9_arm": [ + "go1.25.0.plan9-arm.tar.gz", + "0a047107d13ebe7943aaa6d54b1d7bbd2e45e68ce449b52915a818da715799c2" + ], + "solaris_amd64": [ + "go1.25.0.solaris-amd64.tar.gz", + "9977f9e4351984364a3b2b78f8b88bfd1d339812356d5237678514594b7d3611" + ], + "windows_386": [ + "go1.25.0.windows-386.zip", + "df9f39db82a803af0db639e3613a36681ab7a42866b1384b3f3a1045663961a7" + ], + "windows_amd64": [ + "go1.25.0.windows-amd64.zip", + "89efb4f9b30812eee083cc1770fdd2913c14d301064f6454851428f9707d190b" + ], + "windows_arm64": [ + "go1.25.0.windows-arm64.zip", + "27bab004c72b3d7bd05a69b6ec0fc54a309b4b78cc569dd963d8b3ec28bfdb8c" + ] + }, + "1.25.6": { + "aix_ppc64": [ + "go1.25.6.aix-ppc64.tar.gz", + "13c8bca505dd902091304da8abfacaf3512f40c3faefae70db33337d9a42c90e" + ], + "darwin_amd64": [ + "go1.25.6.darwin-amd64.tar.gz", + "e2b5b237f5c262931b8e280ac4b8363f156e19bfad5270c099998932819670b7" + ], + "darwin_arm64": [ + "go1.25.6.darwin-arm64.tar.gz", + "984521ae978a5377c7d782fd2dd953291840d7d3d0bd95781a1f32f16d94a006" + ], + "dragonfly_amd64": [ + "go1.25.6.dragonfly-amd64.tar.gz", + "6fdcdd4f769fe73a9c5602eb25533954903520f2a2a1953415ec4f8abf5bda52" + ], + "freebsd_386": [ + "go1.25.6.freebsd-386.tar.gz", + "be22b65ded1d4015d7d9d328284c985932771d120a371c7df41b2d4d1a91e943" + ], + "freebsd_amd64": [ + "go1.25.6.freebsd-amd64.tar.gz", + "61e1d50e332359474ff6dcf4bc0bd34ba2d2cf4ef649593a5faa527f0ab84e2b" + ], + "freebsd_arm": [ + "go1.25.6.freebsd-arm.tar.gz", + "546c2c6e325e72531bf6c8122a2360db8f8381e2dc1e8d147ecb0cb49b5f5f93" + ], + "freebsd_arm64": [ + "go1.25.6.freebsd-arm64.tar.gz", + "648484146702dd58db0e2c3d15bda3560340d149ed574936e63285a823116b77" + ], + "freebsd_riscv64": [ + "go1.25.6.freebsd-riscv64.tar.gz", + "663d7a9532bb4ac03c7a36b13b677b36d71031cd757b8acaee085e36c9ec8bc2" + ], + "illumos_amd64": [ + "go1.25.6.illumos-amd64.tar.gz", + "c6adb151f8f50a25ef5a3f7b1be67155045daa766261e686ea210b93b46bbbd5" + ], + "linux_386": [ + "go1.25.6.linux-386.tar.gz", + "59fe62eee3cca65332acef3ebe9b6ff3272467e0a08bf7f68f96334902bf23b9" + ], + "linux_amd64": [ + "go1.25.6.linux-amd64.tar.gz", + "f022b6aad78e362bcba9b0b94d09ad58c5a70c6ba3b7582905fababf5fe0181a" + ], + "linux_arm64": [ + "go1.25.6.linux-arm64.tar.gz", + "738ef87d79c34272424ccdf83302b7b0300b8b096ed443896089306117943dd5" + ], + "linux_armv6l": [ + "go1.25.6.linux-armv6l.tar.gz", + "679f0e70b27c637116791e3c98afbf8c954deb2cd336364944d014f8e440e2ae" + ], + "linux_loong64": [ + "go1.25.6.linux-loong64.tar.gz", + "433fe54d8797700b44fc4f1d085f9cd50ab3511b9b484fdfbb7b6c32a2be2486" + ], + "linux_mips": [ + "go1.25.6.linux-mips.tar.gz", + "a5beaf2d135b8e9a2f3d91fa7e7d3761ffc97630484168bbc9a21f3901119c11" + ], + "linux_mips64": [ + "go1.25.6.linux-mips64.tar.gz", + "f2d72c1ac315d453f429f48900f43cd8d0aa296a2b82fa90dba7dfb907483fd8" + ], + "linux_mips64le": [ + "go1.25.6.linux-mips64le.tar.gz", + "9b808ef978fd6414edd16736daa4a601c7e2dadff3bd640ade8a976535c974d4" + ], + "linux_mipsle": [ + "go1.25.6.linux-mipsle.tar.gz", + "4e0b190b05c8359455d96d379c751d403554dcadf6765932845b2886e555bfd6" + ], + "linux_ppc64": [ + "go1.25.6.linux-ppc64.tar.gz", + "5d0f479023b1481c9188cc066eca1293e6f8a67a882a6d93afafccfb51981476" + ], + "linux_ppc64le": [ + "go1.25.6.linux-ppc64le.tar.gz", + "bee02dbe034b12b839ae7807a85a61c13bee09ee38f2eeba2074bd26c0c0ab73" + ], + "linux_riscv64": [ + "go1.25.6.linux-riscv64.tar.gz", + "82a6b989afda1681ecb1f4fa96f1006484f42643eb5e76bed58f7f97316bf84b" + ], + "linux_s390x": [ + "go1.25.6.linux-s390x.tar.gz", + "3d97cc5670a0da9cb177037782129f0bf499ecb47abc40488248548abd2c2c35" + ], + "netbsd_386": [ + "go1.25.6.netbsd-386.tar.gz", + "eb526fff2568fc9938d6eda6f0f50449661c693fcd89ab6f84e5e77e0a98d99b" + ], + "netbsd_amd64": [ + "go1.25.6.netbsd-amd64.tar.gz", + "959d786e3384403ac9d957c04d71da905b02f457406ca123662cbd4688f9ce6e" + ], + "netbsd_arm": [ + "go1.25.6.netbsd-arm.tar.gz", + "fe6c3957f7feaf17ac72ca27590cc4914c19162fc0912869048cb3dc92f5c3fd" + ], + "netbsd_arm64": [ + "go1.25.6.netbsd-arm64.tar.gz", + "ddb5ec67fc4a0510b23560b7c01413bd9dde513cebfb5441a93e934f7e0c6853" + ], + "openbsd_386": [ + "go1.25.6.openbsd-386.tar.gz", + "167a18ff7db53f1652f3a65c905056bc14e7ab4319357498d0af998a83f457a9" + ], + "openbsd_amd64": [ + "go1.25.6.openbsd-amd64.tar.gz", + "06ec42383ff1e17abc0472e0a92eb028cb40b16ea09e2a86f80fbe60912d62de" + ], + "openbsd_arm": [ + "go1.25.6.openbsd-arm.tar.gz", + "751df8eadd0f3d7be8ea6cda3af1e2e942099f6c97abcc0cfb5c8a0ac8e0cf3f" + ], + "openbsd_arm64": [ + "go1.25.6.openbsd-arm64.tar.gz", + "d9828a6162c0c0fdb2d7e9dc8285c43b18a3dab62bf5e83b5891a4384f3157ad" + ], + "openbsd_ppc64": [ + "go1.25.6.openbsd-ppc64.tar.gz", + "73090f93dc861f2be9dc06d8209f32cd7ce7864b9b3e28f0cd54a9e031672699" + ], + "openbsd_riscv64": [ + "go1.25.6.openbsd-riscv64.tar.gz", + "6d4932cb639c1172cf5861b031bd0a24f7341ef579aac15b392779e10c69343b" + ], + "plan9_386": [ + "go1.25.6.plan9-386.tar.gz", + "b9db67922a94abe580e7bde9172eee2c223ade914cd12790d955a24554c134d5" + ], + "plan9_amd64": [ + "go1.25.6.plan9-amd64.tar.gz", + "aa1ff9aa3e1ed09ecb21d09d736997d2de9f373fea9402815b3221946d17dcd5" + ], + "plan9_arm": [ + "go1.25.6.plan9-arm.tar.gz", + "94ec04501527876a542960096f0199495cbd9f9103b229d5299382aa51d9cc32" + ], + "solaris_amd64": [ + "go1.25.6.solaris-amd64.tar.gz", + "9a1e89979be591b44e63be766c6571f5dc27b5fc3b79965c943186fcdaca0386" + ], + "windows_386": [ + "go1.25.6.windows-386.zip", + "873da5cec02b6657ecd5b85e562a38fb5faf1b6e9ea81b2eb0b9a9b5aea5cb35" + ], + "windows_amd64": [ + "go1.25.6.windows-amd64.zip", + "19b4733b727ba5c611b5656187f3ac367d278d64c3d4199a845e39c0fdac5335" + ], + "windows_arm64": [ + "go1.25.6.windows-arm64.zip", + "8f2d8e6dd0849a2ec0ade1683bcfb7809e64d264a4273d8437841000a28ffb60" + ] + } + } + } +} diff --git a/proto/Makefile b/proto/Makefile deleted file mode 100644 index 167a95d65e..0000000000 --- a/proto/Makefile +++ /dev/null @@ -1,77 +0,0 @@ -comma := , - -THIRD_PARTY_ROOT := ./third_party - -GOOGLEAPIS := $(THIRD_PARTY_ROOT)/googleapis -PROTOBUF := $(THIRD_PARTY_ROOT)/protobuf/src - -PROTOC_GEN_GO := third_party/protobuf-go/._protoc-gen-go -PROTOC_GEN_GO_GRPC := third_party/grpc-go/cmd/protoc-gen-go-grpc/._protoc-gen-go-grpc -PROTOC := $(THIRD_PARTY_ROOT)/protobuf/bazel-bin/protoc -PROTOC_FLAGS = --plugin=protoc-gen-go=$(PROTOC_GEN_GO) --plugin=protoc-gen-go-grpc=$(PROTOC_GEN_GO_GRPC) -I . -I $(GOOGLEAPIS) -I $(PROTOBUF) - -pbgo_out := ../go/gen/proto - -REMOTESAPI_protos := \ - dolt/services/remotesapi/v1alpha1/chunkstore.proto \ - dolt/services/remotesapi/v1alpha1/credentials.proto -REMOTESAPI_pbgo_pkg_path := dolt/services/remotesapi/v1alpha1 - -REPLICATIONAPI_protos := \ - dolt/services/replicationapi/v1alpha1/replication.proto -REPLICATIONAPI_pbgo_pkg_path := dolt/services/replicationapi/v1alpha1 - -nonservice_protos := \ - dolt/services/eventsapi/v1alpha1/event_constants.proto - -PBGO_pkgs := \ - CLIENTEVENTS \ - REMOTESAPI \ - REPLICATIONAPI - -all: - -$(PROTOC_GEN_GO_GRPC): - @echo "ERROR: Could not find $(PROTOC_GEN_GO_GRPC)" - @echo "ERROR: Run "'`'"go build -o ._protoc-gen-go-grpc ."'`'" in third_party/grpc-go/cmd/protoc-gen-go-grpc to build protoc-gen-go-grpc." - @exit 1 - -$(PROTOC_GEN_GO): - @echo "ERROR: Could not find $(PROTOC_GEN_GO)" - @echo "ERROR: Run "'`'"go build -o ._protoc-gen-go ./cmd/protoc-gen-go"'`'" in third_party/protobuf-go to build protoc-gen-go." - @exit 1 - -$(PROTOC): - @echo "ERROR: Could not find $(PROTOC)" - @echo "ERROR: Run "'`'"bazel build //:protoc"'`'" in $(THIRD_PARTY_ROOT)/protobuf to build protoc." - @exit 1 - -.PHONY: clean - -clean: - @rm -f $(ALL_OUTPUTS) - -define PROTOC_template # 1=proto, 2=outputs, 3=flags -$(2) : $(1) $(PROTOC) $(PROTOC_GEN_GO) $(PROTOC_GEN_GO_GRPC) - @$$(PROTOC) $$(PROTOC_FLAGS) $(3) $(1) -ALL_OUTPUTS += $(2) -all: $(2) -endef - -define PBGO_output # 1=proto -$(patsubst %.proto,%.pb.go,$(1)) \ -$(if $(findstring $(1),$(nonservice_protos)),,$(patsubst %.proto,%_grpc.pb.go,$(1))) -endef - -define PBGO_template # 1=proto, 2=output pkg path, 3=output base -$(call PROTOC_template,\ - $(1),\ - $(addprefix $(3)/$(2)/,$(notdir $(call PBGO_output,$(1)))),\ - --go_out=paths=source_relative:$(3) \ - --go-grpc_out=paths=source_relative:$(3)) -endef - -$(foreach p,$(PBGO_pkgs),\ - $(foreach f,$($(p)_protos),\ - $(eval \ - $(call PBGO_template,$(f),$($(p)_pbgo_pkg_path),$(pbgo_out))))) diff --git a/proto/README.md b/proto/README.md index 9fe513011a..145fae6f5a 100644 --- a/proto/README.md +++ b/proto/README.md @@ -1,39 +1,5 @@ Protobuf message and service definitions. -`Makefile` generates golang message and service stub implementations into -//go/gen/proto/. The generated code is checked into the repository. +The Go bindings are generated by developers and placed in ../go/gen/. -Dependencies ------------- - -Dependencies are git submodules in //proto/third_party. Make sure you have all these -submodules synced. If not, you can sync them initially with: - git submodule update --init - -* Get the 6.3.0 version of bazel from https://github.com/bazelbuild/bazel/releases/tag/6.3.0 - Later versions don't currently work. Verify the version and ensure it's first in your path. - -* You need to build protoc in //proto/third_party/protobuf by running: - `bazel build //:protoc` from that directory. - WARNING: you may need to simplify your env with a prefix of `PATH=/usr/local/bin:/usr/bin:/bin` - -* You need to run `go build -o ._protoc-gen-go ./cmd/protoc-gen-go` in - `third_party/protobuf-go`. - -* You need to run `go build -o ._protoc-gen-go-grpc .` in - `third_party/grpc-go/cmd/protoc-gen-go-grpc`. - -Dependency tracking and hermeticity here are poor. - -Generating code ---------------- - -``` -$ make -``` - -or potentially - -``` -$ make clean all -``` +After modifying a .proto file, run: `bazel run //:update` from the `proto/` subdirectory. diff --git a/proto/dolt/services/remotesapi/v1alpha1/BUILD.bazel b/proto/dolt/services/remotesapi/v1alpha1/BUILD.bazel new file mode 100644 index 0000000000..5d4779d8ad --- /dev/null +++ b/proto/dolt/services/remotesapi/v1alpha1/BUILD.bazel @@ -0,0 +1,19 @@ +load("@rules_go//proto:def.bzl", "go_proto_library") +load("@protobuf//bazel:proto_library.bzl", "proto_library") + +package(default_visibility = ["//visibility:public"]) + +proto_library( + name = "remotesapi_proto", + srcs = glob(["*.proto"]), + deps = [ + "@protobuf//:timestamp_proto", + ], +) + +go_proto_library( + name = "remotesapi_go_proto", + compilers = ["@rules_go//proto:go_grpc"], + importpath = "github.com/dolthub/dolt/go/gen/proto/dolt/services/remotesapi/v1alpha1", + proto = ":remotesapi_proto", +) diff --git a/proto/dolt/services/replicationapi/v1alpha1/BUILD.bazel b/proto/dolt/services/replicationapi/v1alpha1/BUILD.bazel new file mode 100644 index 0000000000..4d82652561 --- /dev/null +++ b/proto/dolt/services/replicationapi/v1alpha1/BUILD.bazel @@ -0,0 +1,16 @@ +load("@rules_go//proto:def.bzl", "go_proto_library") +load("@protobuf//bazel:proto_library.bzl", "proto_library") + +package(default_visibility = ["//visibility:public"]) + +proto_library( + name = "replicationapi_proto", + srcs = glob(["*.proto"]), +) + +go_proto_library( + name = "replicationapi_go_proto", + compilers = ["@rules_go//proto:go_grpc"], + importpath = "github.com/dolthub/dolt/go/gen/proto/dolt/services/replicationapi/v1alpha1", + proto = ":replicationapi_proto", +) diff --git a/proto/go.mod b/proto/go.mod new file mode 100644 index 0000000000..ba808b954b --- /dev/null +++ b/proto/go.mod @@ -0,0 +1,32 @@ +module github.com/dolthub/dolt/proto + +go 1.25.6 + +require google.golang.org/api v0.266.0 + +require ( + cloud.google.com/go/auth v0.18.1 // indirect + cloud.google.com/go/auth/oauth2adapt v0.2.8 // indirect + cloud.google.com/go/compute/metadata v0.9.0 // indirect + github.com/cespare/xxhash/v2 v2.3.0 // indirect + github.com/felixge/httpsnoop v1.0.4 // indirect + github.com/go-logr/logr v1.4.3 // indirect + github.com/go-logr/stdr v1.2.2 // indirect + github.com/google/s2a-go v0.1.9 // indirect + github.com/google/uuid v1.6.0 // indirect + github.com/googleapis/enterprise-certificate-proxy v0.3.11 // indirect + github.com/googleapis/gax-go/v2 v2.17.0 // indirect + go.opentelemetry.io/auto/sdk v1.2.1 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.61.0 // indirect + go.opentelemetry.io/otel v1.39.0 // indirect + go.opentelemetry.io/otel/metric v1.39.0 // indirect + go.opentelemetry.io/otel/trace v1.39.0 // indirect + golang.org/x/crypto v0.47.0 // indirect + golang.org/x/net v0.49.0 // indirect + golang.org/x/oauth2 v0.35.0 // indirect + golang.org/x/sys v0.40.0 // indirect + golang.org/x/text v0.33.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20260203192932-546029d2fa20 // indirect + google.golang.org/grpc v1.78.0 // indirect + google.golang.org/protobuf v1.36.11 // indirect +) diff --git a/proto/go.sum b/proto/go.sum new file mode 100644 index 0000000000..808088a8e5 --- /dev/null +++ b/proto/go.sum @@ -0,0 +1,75 @@ +cloud.google.com/go/auth v0.18.1 h1:IwTEx92GFUo2pJ6Qea0EU3zYvKnTAeRCODxfA/G5UWs= +cloud.google.com/go/auth v0.18.1/go.mod h1:GfTYoS9G3CWpRA3Va9doKN9mjPGRS+v41jmZAhBzbrA= +cloud.google.com/go/auth/oauth2adapt v0.2.8 h1:keo8NaayQZ6wimpNSmW5OPc283g65QNIiLpZnkHRbnc= +cloud.google.com/go/auth/oauth2adapt v0.2.8/go.mod h1:XQ9y31RkqZCcwJWNSx2Xvric3RrU88hAYYbjDWYDL+c= +cloud.google.com/go/compute/metadata v0.9.0 h1:pDUj4QMoPejqq20dK0Pg2N4yG9zIkYGdBtwLoEkH9Zs= +cloud.google.com/go/compute/metadata v0.9.0/go.mod h1:E0bWwX5wTnLPedCKqk3pJmVgCBSM6qQI1yTBdEb3C10= +github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= +github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= +github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= +github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI= +github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= +github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= +github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= +github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= +github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= +github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= +github.com/google/s2a-go v0.1.9 h1:LGD7gtMgezd8a/Xak7mEWL0PjoTQFvpRudN895yqKW0= +github.com/google/s2a-go v0.1.9/go.mod h1:YA0Ei2ZQL3acow2O62kdp9UlnvMmU7kA6Eutn0dXayM= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/googleapis/enterprise-certificate-proxy v0.3.11 h1:vAe81Msw+8tKUxi2Dqh/NZMz7475yUvmRIkXr4oN2ao= +github.com/googleapis/enterprise-certificate-proxy v0.3.11/go.mod h1:RFV7MUdlb7AgEq2v7FmMCfeSMCllAzWxFgRdusoGks8= +github.com/googleapis/gax-go/v2 v2.17.0 h1:RksgfBpxqff0EZkDWYuz9q/uWsTVz+kf43LsZ1J6SMc= +github.com/googleapis/gax-go/v2 v2.17.0/go.mod h1:mzaqghpQp4JDh3HvADwrat+6M3MOIDp5YKHhb9PAgDY= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= +github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= +go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64= +go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.61.0 h1:F7Jx+6hwnZ41NSFTO5q4LYDtJRXBf2PD0rNBkeB/lus= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.61.0/go.mod h1:UHB22Z8QsdRDrnAtX4PntOl36ajSxcdUMt1sF7Y6E7Q= +go.opentelemetry.io/otel v1.39.0 h1:8yPrr/S0ND9QEfTfdP9V+SiwT4E0G7Y5MO7p85nis48= +go.opentelemetry.io/otel v1.39.0/go.mod h1:kLlFTywNWrFyEdH0oj2xK0bFYZtHRYUdv1NklR/tgc8= +go.opentelemetry.io/otel/metric v1.39.0 h1:d1UzonvEZriVfpNKEVmHXbdf909uGTOQjA0HF0Ls5Q0= +go.opentelemetry.io/otel/metric v1.39.0/go.mod h1:jrZSWL33sD7bBxg1xjrqyDjnuzTUB0x1nBERXd7Ftcs= +go.opentelemetry.io/otel/sdk v1.39.0 h1:nMLYcjVsvdui1B/4FRkwjzoRVsMK8uL/cj0OyhKzt18= +go.opentelemetry.io/otel/sdk v1.39.0/go.mod h1:vDojkC4/jsTJsE+kh+LXYQlbL8CgrEcwmt1ENZszdJE= +go.opentelemetry.io/otel/sdk/metric v1.38.0 h1:aSH66iL0aZqo//xXzQLYozmWrXxyFkBJ6qT5wthqPoM= +go.opentelemetry.io/otel/sdk/metric v1.38.0/go.mod h1:dg9PBnW9XdQ1Hd6ZnRz689CbtrUp0wMMs9iPcgT9EZA= +go.opentelemetry.io/otel/trace v1.39.0 h1:2d2vfpEDmCJ5zVYz7ijaJdOF59xLomrvj7bjt6/qCJI= +go.opentelemetry.io/otel/trace v1.39.0/go.mod h1:88w4/PnZSazkGzz/w84VHpQafiU4EtqqlVdxWy+rNOA= +golang.org/x/crypto v0.47.0 h1:V6e3FRj+n4dbpw86FJ8Fv7XVOql7TEwpHapKoMJ/GO8= +golang.org/x/crypto v0.47.0/go.mod h1:ff3Y9VzzKbwSSEzWqJsJVBnWmRwRSHt/6Op5n9bQc4A= +golang.org/x/net v0.49.0 h1:eeHFmOGUTtaaPSGNmjBKpbng9MulQsJURQUAfUwY++o= +golang.org/x/net v0.49.0/go.mod h1:/ysNB2EvaqvesRkuLAyjI1ycPZlQHM3q01F02UY/MV8= +golang.org/x/oauth2 v0.35.0 h1:Mv2mzuHuZuY2+bkyWXIHMfhNdJAdwW3FuWeCPYN5GVQ= +golang.org/x/oauth2 v0.35.0/go.mod h1:lzm5WQJQwKZ3nwavOZ3IS5Aulzxi68dUSgRHujetwEA= +golang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4= +golang.org/x/sync v0.19.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= +golang.org/x/sys v0.40.0 h1:DBZZqJ2Rkml6QMQsZywtnjnnGvHza6BTfYFWY9kjEWQ= +golang.org/x/sys v0.40.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= +golang.org/x/text v0.33.0 h1:B3njUFyqtHDUI5jMn1YIr5B0IE2U0qck04r6d4KPAxE= +golang.org/x/text v0.33.0/go.mod h1:LuMebE6+rBincTi9+xWTY8TztLzKHc/9C1uBCG27+q8= +gonum.org/v1/gonum v0.16.0 h1:5+ul4Swaf3ESvrOnidPp4GZbzf0mxVQpDCYUQE7OJfk= +gonum.org/v1/gonum v0.16.0/go.mod h1:fef3am4MQ93R2HHpKnLk4/Tbh/s0+wqD5nfa6Pnwy4E= +google.golang.org/api v0.266.0 h1:hco+oNCf9y7DmLeAtHJi/uBAY7n/7XC9mZPxu1ROiyk= +google.golang.org/api v0.266.0/go.mod h1:Jzc0+ZfLnyvXma3UtaTl023TdhZu6OMBP9tJ+0EmFD0= +google.golang.org/genproto v0.0.0-20260128011058-8636f8732409 h1:VQZ/yAbAtjkHgH80teYd2em3xtIkkHd7ZhqfH2N9CsM= +google.golang.org/genproto v0.0.0-20260128011058-8636f8732409/go.mod h1:rxKD3IEILWEu3P44seeNOAwZN4SaoKaQ/2eTg4mM6EM= +google.golang.org/genproto/googleapis/api v0.0.0-20260128011058-8636f8732409 h1:merA0rdPeUV3YIIfHHcH4qBkiQAc1nfCKSI7lB4cV2M= +google.golang.org/genproto/googleapis/api v0.0.0-20260128011058-8636f8732409/go.mod h1:fl8J1IvUjCilwZzQowmw2b7HQB2eAuYBabMXzWurF+I= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260203192932-546029d2fa20 h1:Jr5R2J6F6qWyzINc+4AM8t5pfUz6beZpHp678GNrMbE= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260203192932-546029d2fa20/go.mod h1:j9x/tPzZkyxcgEFkiKEEGxfvyumM01BEtsW8xzOahRQ= +google.golang.org/grpc v1.78.0 h1:K1XZG/yGDJnzMdd/uZHAkVqJE+xIDOcmdSFZkBUicNc= +google.golang.org/grpc v1.78.0/go.mod h1:I47qjTo4OKbMkjA/aOOwxDIiPSBofUtQUI5EfpWvW7U= +google.golang.org/protobuf v1.36.11 h1:fV6ZwhNocDyBLK0dj+fg8ektcVegBBuEolpbTQyBNVE= +google.golang.org/protobuf v1.36.11/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/proto/third_party/googleapis b/proto/third_party/googleapis deleted file mode 160000 index c959f4214c..0000000000 --- a/proto/third_party/googleapis +++ /dev/null @@ -1 +0,0 @@ -Subproject commit c959f4214cb3947aa42ded4a14610d0607fcd57a diff --git a/proto/third_party/grpc-go b/proto/third_party/grpc-go deleted file mode 160000 index c52d02553f..0000000000 --- a/proto/third_party/grpc-go +++ /dev/null @@ -1 +0,0 @@ -Subproject commit c52d02553f2649c28d0279bca17909a3a08de022 diff --git a/proto/third_party/protobuf b/proto/third_party/protobuf deleted file mode 160000 index 74211c0dfc..0000000000 --- a/proto/third_party/protobuf +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 74211c0dfc2777318ab53c2cd2c317a2ef9012de diff --git a/proto/third_party/protobuf-go b/proto/third_party/protobuf-go deleted file mode 160000 index 3f79c52e7f..0000000000 --- a/proto/third_party/protobuf-go +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 3f79c52e7fe26f88843469913dcc34d0396be330 diff --git a/proto/tools/BUILD.bazel b/proto/tools/BUILD.bazel new file mode 100644 index 0000000000..187be23468 --- /dev/null +++ b/proto/tools/BUILD.bazel @@ -0,0 +1,6 @@ +load("@bazelrc-preset.bzl", "bazelrc_preset") + +bazelrc_preset( + name = "preset", + strict = True, +) diff --git a/proto/tools/preset.bazelrc b/proto/tools/preset.bazelrc new file mode 100644 index 0000000000..d20b9b9719 --- /dev/null +++ b/proto/tools/preset.bazelrc @@ -0,0 +1,211 @@ +# Generated by bazelrc-preset.bzl +# To update this file, run: +# bazel run @@//tools:preset.update + +# On CI, announce all announces command options read from the bazelrc file(s) when starting up at the +# beginning of each Bazel invocation. This is very useful on CI to be able to inspect which flags +# are being applied on each run based on the order of overrides. +common:ci --announce_rc +# Docs: https://registry.build/flag/bazel@9.0.0?filter=announce_rc + +# Avoid creating a runfiles tree for binaries or tests until it is needed. +# See https://github.com/bazelbuild/bazel/issues/6627 +# This may break local workflows that `build` a binary target, then run the resulting program outside of `bazel run`. +# In those cases, the script will need to call `bazel build --build_runfile_links //my/binary:target` and then execute the resulting program. +common --nobuild_runfile_links +# Docs: https://registry.build/flag/bazel@9.0.0?filter=build_runfile_links + +# Always run tests even if they have cached results. +# This ensures tests are executed fresh each time, useful for debugging and ensuring test reliability. +common:debug --nocache_test_results +# Docs: https://registry.build/flag/bazel@9.0.0?filter=cache_test_results + +# Don’t encourage a rules author to update their deps if not needed. +# These bazel_dep calls should indicate the minimum version constraint of the ruleset. +# If the author instead updates to the newest of any of their transitives, as this flag would suggest, +# then they'll also force their dependents to a newer version. +# Context: +# https://bazelbuild.slack.com/archives/C014RARENH0/p1691158021917459?thread_ts=1691156601.420349&cid=C014RARENH0 +common:ruleset --check_direct_dependencies="off" +# Docs: https://registry.build/flag/bazel@9.0.0?filter=check_direct_dependencies + +# On CI, use colors to highlight output on the screen. Set to `no` if your CI does not display colors. +common:ci --color="yes" +# Docs: https://registry.build/flag/bazel@9.0.0?filter=color + +# On CI, use cursor controls in screen output. +common:ci --curses="yes" +# Docs: https://registry.build/flag/bazel@9.0.0?filter=curses + +# Bazel picks up host-OS-specific config lines from bazelrc files. For example, if the host OS is +# Linux and you run bazel build, Bazel picks up lines starting with build:linux. Supported OS +# identifiers are `linux`, `macos`, `windows`, `freebsd`, and `openbsd`. Enabling this flag is +# equivalent to using `--config=linux` on Linux, `--config=windows` on Windows, etc. +common --enable_platform_specific_config +# Docs: https://registry.build/flag/bazel@9.0.0?filter=enable_platform_specific_config + +# Speed up all builds by not checking if external repository files have been modified. +# For reference: https://github.com/bazelbuild/bazel/blob/1af61b21df99edc2fc66939cdf14449c2661f873/src/main/java/com/google/devtools/build/lib/bazel/repository/RepositoryOptions.java#L244 +common --noexperimental_check_external_repository_files +# Docs: https://registry.build/flag/bazel@9.0.0?filter=experimental_check_external_repository_files + +# Always download coverage files for tests from the remote cache. By default, coverage files are not +# downloaded on test result cache hits when --remote_download_minimal is enabled, making it impossible +# to generate a full coverage report. +common --experimental_fetch_all_coverage_outputs +# Docs: https://registry.build/flag/bazel@9.0.0?filter=experimental_fetch_all_coverage_outputs + +# Set this flag to enable re-tries of failed tests on CI. +# When any test target fails, try one or more times. This applies regardless of whether the "flaky" +# tag appears on the target definition. +# This is a tradeoff: legitimately failing tests will take longer to report, +# but we can "paper over" flaky tests that pass most of the time. +# +# An alternative is to mark every flaky test with the `flaky = True` attribute, but this requires +# the buildcop to make frequent code edits. +# This flag is not recommended for local builds: flakiness is more likely to get fixed if it is +# observed during development. +# +# Note that when passing after the first attempt, Bazel will give a special "FLAKY" status rather than "PASSED". +test:ci --flaky_test_attempts=2 +# Docs: https://registry.build/flag/bazel@9.0.0?filter=flaky_test_attempts + +# Fixes builds hanging on CI that get the TCP connection closed without sending RST packets. +common:ci --grpc_keepalive_time="30s" +# Docs: https://registry.build/flag/bazel@9.0.0?filter=grpc_keepalive_time + +# Output a heap dump if an OOM is thrown during a Bazel invocation +# (including OOMs due to `--experimental_oom_more_eagerly_threshold`). +# The dump will be written to `/.heapdump.hprof`. +# You should configure CI to upload this artifact for later inspection. +common --heap_dump_on_oom +# Docs: https://registry.build/flag/bazel@9.0.0?filter=heap_dump_on_oom + +# By default, Bazel automatically creates __init__.py files for py_binary and py_test targets. +# From https://github.com/bazelbuild/bazel/issues/10076: +# > It is magic at a distance. +# > Python programmers are already used to creating __init__.py files in their source trees, +# > so doing it behind their backs introduces confusion and changes the semantics of imports +common --incompatible_default_to_explicit_init_py +# Docs: https://registry.build/flag/bazel@9.0.0?filter=incompatible_default_to_explicit_init_py + +# Fail if Starlark files are not UTF-8 encoded. +# Introduced in Bazel 8.1, see https://github.com/bazelbuild/bazel/pull/24944 +# Recommended to enable since Bazel 8.5, see https://github.com/bazel-contrib/bazelrc-preset.bzl/issues/95 +common --incompatible_enforce_starlark_utf8="error" +# Docs: https://registry.build/flag/bazel@9.0.0?filter=incompatible_enforce_starlark_utf8 + +# Accept multiple --modify_execution_info flags, rather than the last flag overwriting earlier ones. +common --incompatible_modify_execution_info_additive +# Docs: https://registry.build/flag/bazel@9.0.0?filter=incompatible_modify_execution_info_additive + +# Fail the build if the MODULE.bazel.lock file is out of date. +# Using this mode in ci prevents the lockfile from being out of date. +common:ci --lockfile_mode="error" +# Docs: https://registry.build/flag/bazel@9.0.0?filter=lockfile_mode + +# Add the CloudFlare mirror of BCR-referenced downloads. +# Improves reliability of Bazel when CDNs are flaky, for example issues with ftp.gnu.org in 2025. +common --module_mirrors="https://bcr.cloudflaremirrors.com" +# Docs: https://registry.build/flag/bazel@9.0.0?filter=module_mirrors + +# On CI, don't download remote outputs to the local machine. +# Most CI pipelines don't need to access the files and they can remain at rest on the remote cache. +# Significant time can be spent on needless downloads, which is especially noticeable on fully-cached builds. +# +# If you do need to download files, the fastest options are: +# - (preferred) Use `remote_download_regex` to specify the files to download. +# - Use the Remote Output Service (https://blog.bazel.build/2024/07/23/remote-output-service.html) +# to lazy-materialize specific files after the build completes. +# - Perform a second bazel command with specific targets and override this flag with the `toplevel` value. +# - To copy executable targets, you can use `bazel run --run_under=cp //some:binary_target `. +common:ci --remote_download_outputs="minimal" +# Docs: https://registry.build/flag/bazel@9.0.0?filter=remote_download_outputs + +# On CI, fall back to standalone local execution strategy if remote execution fails. +# Otherwise, when a grpc remote cache connection fails, it would fail the build. +common:ci --remote_local_fallback +# Docs: https://registry.build/flag/bazel@9.0.0?filter=remote_local_fallback + +# On CI, extend the maximum amount of time to wait for remote execution and cache calls. +common:ci --remote_timeout=3600 +# Docs: https://registry.build/flag/bazel@9.0.0?filter=remote_timeout + +# Do not upload locally executed action results to the remote cache. +# This should be the default for local builds so local builds cannot poison the remote cache. +# +# Note that this flag is flipped to True under --config=ci, see below. +common --noremote_upload_local_results +# Docs: https://registry.build/flag/bazel@9.0.0?filter=remote_upload_local_results + +# On CI, upload locally executed action results to the remote cache. +common:ci --remote_upload_local_results +# Docs: https://registry.build/flag/bazel@9.0.0?filter=remote_upload_local_results + +# Repository rules, such as rules_jvm_external: put Bazel's JDK on the path. +# Avoids non-hermeticity from dependency on a JAVA_HOME pointing at a system JDK +# see https://github.com/bazelbuild/rules_jvm_external/issues/445 +common --repo_env="JAVA_HOME=../bazel_tools/jdk" +# Docs: https://registry.build/flag/bazel@9.0.0?filter=repo_env + +# Reuse sandbox directories between invocations. +# Directories used by sandboxed non-worker execution may be reused to avoid unnecessary setup costs. +# Saves time on sandbox creation and deletion when many of the same kind of action is spawned during the build. +common --reuse_sandbox_directories +# Docs: https://registry.build/flag/bazel@9.0.0?filter=reuse_sandbox_directories + +# Don't allow network access for build actions in the sandbox by default. +# Avoids accidental non-hermeticity in actions/tests which depend on remote services. +# Developers should tag targets with `tags=["requires-network"]` to be explicit that they need network access. +# Note that the sandbox cannot print a message to the console if it denies network access, +# so failures under this flag appear as application errors in the networking layer. +common --nosandbox_default_allow_network +# Docs: https://registry.build/flag/bazel@9.0.0?filter=sandbox_default_allow_network + +# Only show progress every 60 seconds on CI. +# We want to find a compromise between printing often enough to show that the build isn't stuck, +# but not so often that we produce a long log file that requires a lot of scrolling. +common:ci --show_progress_rate_limit=60 +# Docs: https://registry.build/flag/bazel@9.0.0?filter=show_progress_rate_limit + +# The printed files are convenient strings for copy+pasting to the shell, to execute them. +# This option requires an integer argument, which is the threshold number of targets above which result information is not printed. +# Show the output files created by builds that requested more than one target. +# This helps users locate the build outputs in more cases. +common --show_result=20 +# Docs: https://registry.build/flag/bazel@9.0.0?filter=show_result + +# On CI, add a timestamp to each message generated by Bazel specifying the time at which the message was displayed. +# This makes it easier to reason about what were the slowest steps on CI. +common:ci --show_timestamps +# Docs: https://registry.build/flag/bazel@9.0.0?filter=show_timestamps + +# The terminal width in columns. Configure this to override the default value based on what your CI system renders. +common:ci --terminal_columns=143 +# Docs: https://registry.build/flag/bazel@9.0.0?filter=terminal_columns + +# Output test errors to stderr so users don't have to `cat` or open test failure log files when test fail. +# This makes the log noisier in exchange for reducing the time-to-feedback on test failures for users. +common --test_output="errors" +# Docs: https://registry.build/flag/bazel@9.0.0?filter=test_output + +# Stream stdout/stderr output from each test in real-time. +# This provides immediate feedback during test execution, useful for debugging test failures. +common:debug --test_output="streamed" +# Docs: https://registry.build/flag/bazel@9.0.0?filter=test_output + +# Run one test at a time in exclusive mode. +# This prevents test interference and provides clearer output when debugging test issues. +common:debug --test_strategy="exclusive" +# Docs: https://registry.build/flag/bazel@9.0.0?filter=test_strategy + +# The default test_summary ("short") prints a result for every test target that was executed. +# In a large repo this amounts to hundreds of lines of additional log output when testing a broad wildcard pattern like //... +# This value means to print information only about unsuccessful tests that were run. +test:ci --test_summary="terse" +# Docs: https://registry.build/flag/bazel@9.0.0?filter=test_summary + +# Prevent long running tests from timing out. +# Set to a high value to allow tests to complete even if they take longer than expected. +common:debug --test_timeout=9999 +# Docs: https://registry.build/flag/bazel@9.0.0?filter=test_timeout diff --git a/proto/update.sh b/proto/update.sh new file mode 100755 index 0000000000..b6ea7a92a1 --- /dev/null +++ b/proto/update.sh @@ -0,0 +1,23 @@ +#!/usr/bin/env bash + +# --- begin runfiles.bash initialization v3 --- +# Copy-pasted from the Bazel Bash runfiles library v3. +set -uo pipefail; set +e; f=bazel_tools/tools/bash/runfiles/runfiles.bash +source "${RUNFILES_DIR:-/dev/null}/$f" 2>/dev/null || \ + source "$(grep -sm1 "^$f " "${RUNFILES_MANIFEST_FILE:-/dev/null}" | cut -f2- -d' ')" 2>/dev/null || \ + source "$0.runfiles/$f" 2>/dev/null || \ + source "$(grep -sm1 "^$f " "$0.runfiles_manifest" | cut -f2- -d' ')" 2>/dev/null || \ + source "$(grep -sm1 "^$f " "$0.exe.runfiles_manifest" | cut -f2- -d' ')" 2>/dev/null || \ + { echo>&2 "ERROR: cannot find $f"; exit 1; }; f=; set -e +# --- end runfiles.bash initialization v3 --- + +GO_ROOT="$BUILD_WORKSPACE_DIRECTORY""/../go/" +TAR_FILE=$(rlocation "$1" | sed 's|C:|/c|') + +# First, clean up any existing files. + +(cd "$GO_ROOT" && find . -name '*.pb.go' -exec rm -f \{\} \;) + +# Then unpack generated sources into the correct place. + +(cd "$GO_ROOT" && tar -x -f "$TAR_FILE")