Skip to content

Commit

Permalink
fixed desc compiler issue (#205)
Browse files Browse the repository at this point in the history
  • Loading branch information
tbazen authored Feb 20, 2024
1 parent 51a09b0 commit a8ed4a6
Showing 1 changed file with 32 additions and 2 deletions.
34 changes: 32 additions & 2 deletions src/protoeval-cli/cmd/root.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ package cmd
import (
"encoding/base64"
"errors"
"fmt"
"os"
"strings"

Expand Down Expand Up @@ -66,7 +65,37 @@ func terminate(err error) {
}
}

func compileMsgDescriptor(desc []byte, MasterMsgName, fileName string) (protoreflect.MessageDescriptor, error) {
descriptorSet := descriptorpb.FileDescriptorSet{}
err := proto.Unmarshal(desc, &descriptorSet)
if err != nil {
return nil, err
}

localRegistry, err := protodesc.NewFiles(&descriptorSet)
if err != nil {
return nil, err
}

fileDesc, err := localRegistry.FindFileByPath(fileName)
if err != nil {
return nil, err
}

msgsDesc := fileDesc.Messages()
return msgsDesc.ByName(protoreflect.Name(MasterMsgName)), nil
}

func compileDescriptor(desc64 string, masterMsgName string, fileName string) (protoreflect.MessageDescriptor, error) {
dbytes, err := base64.StdEncoding.DecodeString(desc64)
if err != nil {
return nil, err
}
return compileMsgDescriptor(dbytes, masterMsgName, fileName)
}

// deprecated
func compileDescriptorOld(desc64 string, masterMsgName string, fileName string) (protoreflect.MessageDescriptor, error) {
descriptorSet := descriptorpb.FileDescriptorSet{}
dbytes, err := base64.StdEncoding.DecodeString(desc64)
if err != nil {
Expand All @@ -82,7 +111,8 @@ func compileDescriptor(desc64 string, masterMsgName string, fileName string) (pr
return nil, err
}

filePath := fmt.Sprintf("%v.proto", fileName)
// filePath := fmt.Sprintf("%v.proto", fileName)
filePath := fileName
fileDesc, err := localRegistry.FindFileByPath(filePath)
if err != nil {
return nil, err
Expand Down

0 comments on commit a8ed4a6

Please sign in to comment.