Преглед изворни кода

refactored pb and simplified building of pb stuff

Staffan Olsson пре 1 година
родитељ
комит
4c698de324
6 измењених фајлова са 198 додато и 190 уклоњено
  1. 61 145
      env.pb.go
  2. 105 0
      env_grpc.pb.go
  3. 3 2
      pb/environ/v1/env.proto
  4. 29 0
      scripts/build_protobuf.sh
  5. 0 22
      scripts/gen_grpc.sh
  6. 0 21
      scripts/install_protoc.sh

+ 61 - 145
env.pb.go

@@ -1,16 +1,12 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
-// 	protoc-gen-go v1.26.0
-// 	protoc        v3.14.0
-// source: env.proto
+// 	protoc-gen-go v1.28.1
+// 	protoc        v4.22.2
+// source: pb/environ/v1/env.proto
 
 package environ
 
 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"
@@ -33,7 +29,7 @@ type Void struct {
 func (x *Void) Reset() {
 	*x = Void{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_env_proto_msgTypes[0]
+		mi := &file_pb_environ_v1_env_proto_msgTypes[0]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -46,7 +42,7 @@ func (x *Void) String() string {
 func (*Void) ProtoMessage() {}
 
 func (x *Void) ProtoReflect() protoreflect.Message {
-	mi := &file_env_proto_msgTypes[0]
+	mi := &file_pb_environ_v1_env_proto_msgTypes[0]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -59,7 +55,7 @@ func (x *Void) ProtoReflect() protoreflect.Message {
 
 // Deprecated: Use Void.ProtoReflect.Descriptor instead.
 func (*Void) Descriptor() ([]byte, []int) {
-	return file_env_proto_rawDescGZIP(), []int{0}
+	return file_pb_environ_v1_env_proto_rawDescGZIP(), []int{0}
 }
 
 type Environment struct {
@@ -78,7 +74,7 @@ type Environment struct {
 func (x *Environment) Reset() {
 	*x = Environment{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_env_proto_msgTypes[1]
+		mi := &file_pb_environ_v1_env_proto_msgTypes[1]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -91,7 +87,7 @@ func (x *Environment) String() string {
 func (*Environment) ProtoMessage() {}
 
 func (x *Environment) ProtoReflect() protoreflect.Message {
-	mi := &file_env_proto_msgTypes[1]
+	mi := &file_pb_environ_v1_env_proto_msgTypes[1]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -104,7 +100,7 @@ func (x *Environment) ProtoReflect() protoreflect.Message {
 
 // Deprecated: Use Environment.ProtoReflect.Descriptor instead.
 func (*Environment) Descriptor() ([]byte, []int) {
-	return file_env_proto_rawDescGZIP(), []int{1}
+	return file_pb_environ_v1_env_proto_rawDescGZIP(), []int{1}
 }
 
 func (x *Environment) GetVersion() string {
@@ -149,54 +145,54 @@ func (x *Environment) GetGoVersion() string {
 	return ""
 }
 
-var File_env_proto protoreflect.FileDescriptor
-
-var file_env_proto_rawDesc = []byte{
-	0x0a, 0x09, 0x65, 0x6e, 0x76, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x65, 0x6e, 0x76,
-	0x69, 0x72, 0x6f, 0x6e, 0x22, 0x06, 0x0a, 0x04, 0x56, 0x6f, 0x69, 0x64, 0x22, 0xc3, 0x01, 0x0a,
-	0x0b, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07,
-	0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76,
-	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x69, 0x74, 0x5f, 0x63, 0x6f,
-	0x6d, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x69, 0x74, 0x43,
-	0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x74,
-	0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x75, 0x69, 0x6c, 0x64,
-	0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x0a, 0x67, 0x6f, 0x5f, 0x6f, 0x73, 0x5f, 0x61, 0x72,
-	0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, 0x6f, 0x4f, 0x73, 0x41, 0x72,
-	0x63, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x70, 0x69, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
-	0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73,
-	0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x6f, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
-	0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x6f, 0x56, 0x65, 0x72, 0x73, 0x69,
-	0x6f, 0x6e, 0x32, 0x47, 0x0a, 0x0e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e,
-	0x74, 0x53, 0x76, 0x63, 0x12, 0x35, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x76, 0x69, 0x72,
-	0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x0d, 0x2e, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e,
-	0x2e, 0x56, 0x6f, 0x69, 0x64, 0x1a, 0x14, 0x2e, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x2e,
-	0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x30, 0x5a, 0x2e, 0x67,
-	0x69, 0x74, 0x2e, 0x73, 0x6b, 0x6f, 0x67, 0x73, 0x74, 0x6f, 0x72, 0x70, 0x65, 0x74, 0x2e, 0x6e,
-	0x75, 0x2f, 0x73, 0x74, 0x61, 0x66, 0x66, 0x61, 0x6e, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
-	0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x62, 0x06, 0x70,
-	0x72, 0x6f, 0x74, 0x6f, 0x33,
+var File_pb_environ_v1_env_proto protoreflect.FileDescriptor
+
+var file_pb_environ_v1_env_proto_rawDesc = []byte{
+	0x0a, 0x17, 0x70, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x2f,
+	0x65, 0x6e, 0x76, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x65, 0x6e, 0x76, 0x69, 0x72,
+	0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x22, 0x06, 0x0a, 0x04, 0x56, 0x6f, 0x69, 0x64, 0x22, 0xc3, 0x01,
+	0x0a, 0x0b, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a,
+	0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
+	0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x69, 0x74, 0x5f, 0x63,
+	0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x69, 0x74,
+	0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f,
+	0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x75, 0x69, 0x6c,
+	0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x0a, 0x67, 0x6f, 0x5f, 0x6f, 0x73, 0x5f, 0x61,
+	0x72, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, 0x6f, 0x4f, 0x73, 0x41,
+	0x72, 0x63, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x70, 0x69, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69,
+	0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72,
+	0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x6f, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69,
+	0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x6f, 0x56, 0x65, 0x72, 0x73,
+	0x69, 0x6f, 0x6e, 0x32, 0x4d, 0x0a, 0x0e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65,
+	0x6e, 0x74, 0x53, 0x76, 0x63, 0x12, 0x3b, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x76, 0x69,
+	0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x10, 0x2e, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f,
+	0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x6f, 0x69, 0x64, 0x1a, 0x17, 0x2e, 0x65, 0x6e, 0x76, 0x69,
+	0x72, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65,
+	0x6e, 0x74, 0x42, 0x24, 0x5a, 0x22, 0x67, 0x69, 0x74, 0x2e, 0x73, 0x6b, 0x6f, 0x67, 0x73, 0x74,
+	0x6f, 0x72, 0x70, 0x65, 0x74, 0x2e, 0x6e, 0x75, 0x2f, 0x73, 0x74, 0x61, 0x66, 0x66, 0x61, 0x6e,
+	0x2f, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 }
 
 var (
-	file_env_proto_rawDescOnce sync.Once
-	file_env_proto_rawDescData = file_env_proto_rawDesc
+	file_pb_environ_v1_env_proto_rawDescOnce sync.Once
+	file_pb_environ_v1_env_proto_rawDescData = file_pb_environ_v1_env_proto_rawDesc
 )
 
-func file_env_proto_rawDescGZIP() []byte {
-	file_env_proto_rawDescOnce.Do(func() {
-		file_env_proto_rawDescData = protoimpl.X.CompressGZIP(file_env_proto_rawDescData)
+func file_pb_environ_v1_env_proto_rawDescGZIP() []byte {
+	file_pb_environ_v1_env_proto_rawDescOnce.Do(func() {
+		file_pb_environ_v1_env_proto_rawDescData = protoimpl.X.CompressGZIP(file_pb_environ_v1_env_proto_rawDescData)
 	})
-	return file_env_proto_rawDescData
+	return file_pb_environ_v1_env_proto_rawDescData
 }
 
-var file_env_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
-var file_env_proto_goTypes = []interface{}{
-	(*Void)(nil),        // 0: environ.Void
-	(*Environment)(nil), // 1: environ.Environment
+var file_pb_environ_v1_env_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_pb_environ_v1_env_proto_goTypes = []interface{}{
+	(*Void)(nil),        // 0: environ.v1.Void
+	(*Environment)(nil), // 1: environ.v1.Environment
 }
-var file_env_proto_depIdxs = []int32{
-	0, // 0: environ.EnvironmentSvc.GetEnvironment:input_type -> environ.Void
-	1, // 1: environ.EnvironmentSvc.GetEnvironment:output_type -> environ.Environment
+var file_pb_environ_v1_env_proto_depIdxs = []int32{
+	0, // 0: environ.v1.EnvironmentSvc.GetEnvironment:input_type -> environ.v1.Void
+	1, // 1: environ.v1.EnvironmentSvc.GetEnvironment:output_type -> environ.v1.Environment
 	1, // [1:2] is the sub-list for method output_type
 	0, // [0:1] is the sub-list for method input_type
 	0, // [0:0] is the sub-list for extension type_name
@@ -204,13 +200,13 @@ var file_env_proto_depIdxs = []int32{
 	0, // [0:0] is the sub-list for field type_name
 }
 
-func init() { file_env_proto_init() }
-func file_env_proto_init() {
-	if File_env_proto != nil {
+func init() { file_pb_environ_v1_env_proto_init() }
+func file_pb_environ_v1_env_proto_init() {
+	if File_pb_environ_v1_env_proto != nil {
 		return
 	}
 	if !protoimpl.UnsafeEnabled {
-		file_env_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+		file_pb_environ_v1_env_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Void); i {
 			case 0:
 				return &v.state
@@ -222,7 +218,7 @@ func file_env_proto_init() {
 				return nil
 			}
 		}
-		file_env_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+		file_pb_environ_v1_env_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Environment); i {
 			case 0:
 				return &v.state
@@ -239,98 +235,18 @@ func file_env_proto_init() {
 	out := protoimpl.TypeBuilder{
 		File: protoimpl.DescBuilder{
 			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
-			RawDescriptor: file_env_proto_rawDesc,
+			RawDescriptor: file_pb_environ_v1_env_proto_rawDesc,
 			NumEnums:      0,
 			NumMessages:   2,
 			NumExtensions: 0,
 			NumServices:   1,
 		},
-		GoTypes:           file_env_proto_goTypes,
-		DependencyIndexes: file_env_proto_depIdxs,
-		MessageInfos:      file_env_proto_msgTypes,
+		GoTypes:           file_pb_environ_v1_env_proto_goTypes,
+		DependencyIndexes: file_pb_environ_v1_env_proto_depIdxs,
+		MessageInfos:      file_pb_environ_v1_env_proto_msgTypes,
 	}.Build()
-	File_env_proto = out.File
-	file_env_proto_rawDesc = nil
-	file_env_proto_goTypes = nil
-	file_env_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
-
-// EnvironmentSvcClient is the client API for EnvironmentSvc service.
-//
-// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
-type EnvironmentSvcClient interface {
-	GetEnvironment(ctx context.Context, in *Void, opts ...grpc.CallOption) (*Environment, error)
-}
-
-type environmentSvcClient struct {
-	cc grpc.ClientConnInterface
-}
-
-func NewEnvironmentSvcClient(cc grpc.ClientConnInterface) EnvironmentSvcClient {
-	return &environmentSvcClient{cc}
-}
-
-func (c *environmentSvcClient) GetEnvironment(ctx context.Context, in *Void, opts ...grpc.CallOption) (*Environment, error) {
-	out := new(Environment)
-	err := c.cc.Invoke(ctx, "/environ.EnvironmentSvc/GetEnvironment", in, out, opts...)
-	if err != nil {
-		return nil, err
-	}
-	return out, nil
-}
-
-// EnvironmentSvcServer is the server API for EnvironmentSvc service.
-type EnvironmentSvcServer interface {
-	GetEnvironment(context.Context, *Void) (*Environment, error)
-}
-
-// UnimplementedEnvironmentSvcServer can be embedded to have forward compatible implementations.
-type UnimplementedEnvironmentSvcServer struct {
-}
-
-func (*UnimplementedEnvironmentSvcServer) GetEnvironment(context.Context, *Void) (*Environment, error) {
-	return nil, status.Errorf(codes.Unimplemented, "method GetEnvironment not implemented")
-}
-
-func RegisterEnvironmentSvcServer(s *grpc.Server, srv EnvironmentSvcServer) {
-	s.RegisterService(&_EnvironmentSvc_serviceDesc, srv)
-}
-
-func _EnvironmentSvc_GetEnvironment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
-	in := new(Void)
-	if err := dec(in); err != nil {
-		return nil, err
-	}
-	if interceptor == nil {
-		return srv.(EnvironmentSvcServer).GetEnvironment(ctx, in)
-	}
-	info := &grpc.UnaryServerInfo{
-		Server:     srv,
-		FullMethod: "/environ.EnvironmentSvc/GetEnvironment",
-	}
-	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
-		return srv.(EnvironmentSvcServer).GetEnvironment(ctx, req.(*Void))
-	}
-	return interceptor(ctx, in, info, handler)
-}
-
-var _EnvironmentSvc_serviceDesc = grpc.ServiceDesc{
-	ServiceName: "environ.EnvironmentSvc",
-	HandlerType: (*EnvironmentSvcServer)(nil),
-	Methods: []grpc.MethodDesc{
-		{
-			MethodName: "GetEnvironment",
-			Handler:    _EnvironmentSvc_GetEnvironment_Handler,
-		},
-	},
-	Streams:  []grpc.StreamDesc{},
-	Metadata: "env.proto",
+	File_pb_environ_v1_env_proto = out.File
+	file_pb_environ_v1_env_proto_rawDesc = nil
+	file_pb_environ_v1_env_proto_goTypes = nil
+	file_pb_environ_v1_env_proto_depIdxs = nil
 }

+ 105 - 0
env_grpc.pb.go

@@ -0,0 +1,105 @@
+// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
+// versions:
+// - protoc-gen-go-grpc v1.2.0
+// - protoc             v4.22.2
+// source: pb/environ/v1/env.proto
+
+package environ
+
+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.32.0 or later.
+const _ = grpc.SupportPackageIsVersion7
+
+// EnvironmentSvcClient is the client API for EnvironmentSvc 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 EnvironmentSvcClient interface {
+	GetEnvironment(ctx context.Context, in *Void, opts ...grpc.CallOption) (*Environment, error)
+}
+
+type environmentSvcClient struct {
+	cc grpc.ClientConnInterface
+}
+
+func NewEnvironmentSvcClient(cc grpc.ClientConnInterface) EnvironmentSvcClient {
+	return &environmentSvcClient{cc}
+}
+
+func (c *environmentSvcClient) GetEnvironment(ctx context.Context, in *Void, opts ...grpc.CallOption) (*Environment, error) {
+	out := new(Environment)
+	err := c.cc.Invoke(ctx, "/environ.v1.EnvironmentSvc/GetEnvironment", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+// EnvironmentSvcServer is the server API for EnvironmentSvc service.
+// All implementations must embed UnimplementedEnvironmentSvcServer
+// for forward compatibility
+type EnvironmentSvcServer interface {
+	GetEnvironment(context.Context, *Void) (*Environment, error)
+	mustEmbedUnimplementedEnvironmentSvcServer()
+}
+
+// UnimplementedEnvironmentSvcServer must be embedded to have forward compatible implementations.
+type UnimplementedEnvironmentSvcServer struct {
+}
+
+func (UnimplementedEnvironmentSvcServer) GetEnvironment(context.Context, *Void) (*Environment, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method GetEnvironment not implemented")
+}
+func (UnimplementedEnvironmentSvcServer) mustEmbedUnimplementedEnvironmentSvcServer() {}
+
+// UnsafeEnvironmentSvcServer may be embedded to opt out of forward compatibility for this service.
+// Use of this interface is not recommended, as added methods to EnvironmentSvcServer will
+// result in compilation errors.
+type UnsafeEnvironmentSvcServer interface {
+	mustEmbedUnimplementedEnvironmentSvcServer()
+}
+
+func RegisterEnvironmentSvcServer(s grpc.ServiceRegistrar, srv EnvironmentSvcServer) {
+	s.RegisterService(&EnvironmentSvc_ServiceDesc, srv)
+}
+
+func _EnvironmentSvc_GetEnvironment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(Void)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(EnvironmentSvcServer).GetEnvironment(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/environ.v1.EnvironmentSvc/GetEnvironment",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(EnvironmentSvcServer).GetEnvironment(ctx, req.(*Void))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+// EnvironmentSvc_ServiceDesc is the grpc.ServiceDesc for EnvironmentSvc service.
+// It's only intended for direct use with grpc.RegisterService,
+// and not to be introspected or modified (even as a copy)
+var EnvironmentSvc_ServiceDesc = grpc.ServiceDesc{
+	ServiceName: "environ.v1.EnvironmentSvc",
+	HandlerType: (*EnvironmentSvcServer)(nil),
+	Methods: []grpc.MethodDesc{
+		{
+			MethodName: "GetEnvironment",
+			Handler:    _EnvironmentSvc_GetEnvironment_Handler,
+		},
+	},
+	Streams:  []grpc.StreamDesc{},
+	Metadata: "pb/environ/v1/env.proto",
+}

+ 3 - 2
env.proto → pb/environ/v1/env.proto

@@ -1,6 +1,7 @@
 syntax = "proto3";
-option go_package = "git.skogstorpet.nu/staffan/service/pkg/environ";
-package environ;
+option go_package = "git.skogstorpet.nu/staffan/environ";
+
+package environ.v1;
 
 message Void {};
 service EnvironmentSvc {

+ 29 - 0
scripts/build_protobuf.sh

@@ -0,0 +1,29 @@
+#!/bin/bash
+projRoot=$(realpath $1)
+
+go_module=git.skogstorpet.nu/staffan/environ
+
+# Find location of well-known types
+well_known_types_path=$(dirname $(which protoc))/../include
+
+function build_pb_go() {
+    local file=$1
+    printf "golang"
+    protoc \
+        -I $well_known_types_path \
+        -I $projRoot \
+        --go_opt=module=$go_module \
+        --go_out=$projRoot \
+        --go-grpc_out=$projRoot \
+        --go-grpc_opt=module=$go_module \
+        $file
+
+}
+
+function build_pb() {
+    local file=$1
+    build_pb_go $1
+    printf "\n"
+}
+
+build_pb ${projRoot}/pb/environ/v1/env.proto

+ 0 - 22
scripts/gen_grpc.sh

@@ -1,22 +0,0 @@
-#! /bin/bash
-
-# SPDX-FileCopyrightText: 2021 Staffan Olsson <naffatso@gmail.com>
-#
-# SPDX-License-Identifier: MIT
-
-# Generate the gRPC code
-export PATH="$PATH:$(go env GOPATH)/bin"
-PROJ_ROOT="$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"/..
-
-protogen --stdin <<EOF
-protoc_path: $PROJ_ROOT/.tools/bin/protoc
-include_paths:
-  - $PROJ_ROOT
-go_opts:
-  - paths=source_relative
-go_plugins:
-  - grpc
-go_out: $PROJ_ROOT
-paths:
-  - $PROJ_ROOT
-EOF

+ 0 - 21
scripts/install_protoc.sh

@@ -1,21 +0,0 @@
-#!/bin/bash
-
-# SPDX-FileCopyrightText: 2021 Staffan Olsson <naffatso@gmail.com>
-#
-# SPDX-License-Identifier: MIT
-
-# Installs protoc into .bin
-# Install protoc-gen-go and protoc-go-inject-tag into GOBIN
-PROJ_ROOT="$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"/..
-mkdir -p $PROJ_ROOT/.tools
-PB_REL="https://github.com/protocolbuffers/protobuf/releases"
-PB_VER=3.14.0
-pushd $PROJ_ROOT/.tools
-curl -LO $PB_REL/download/v$PB_VER/protoc-$PB_VER-linux-x86_64.zip
-unzip protoc-$PB_VER-linux-x86_64.zip
-go get -u github.com/golang/protobuf/protoc-gen-go
-go get -u github.com/favadi/protoc-go-inject-tag
-go get -u google.golang.org/grpc
-
-go install git.skogstorpet.nu/staffan/protogen@latest
-popd