45 lines
902 B
Go
45 lines
902 B
Go
package gen
|
|
|
|
import (
|
|
"os"
|
|
|
|
"github.com/sirupsen/logrus"
|
|
"google.golang.org/protobuf/proto"
|
|
"google.golang.org/protobuf/reflect/protodesc"
|
|
"google.golang.org/protobuf/types/known/anypb"
|
|
|
|
test "go.linka.cloud/protofilters/tests/pb"
|
|
)
|
|
|
|
func Gen() {
|
|
t := &test.Test{StringField: "whatever..."}
|
|
tf, err := os.Create("test.bin")
|
|
if err != nil {
|
|
logrus.Fatal(err)
|
|
}
|
|
defer tf.Close()
|
|
a, err := anypb.New(t)
|
|
if err != nil {
|
|
logrus.Fatal(err)
|
|
}
|
|
b, err := proto.Marshal(a)
|
|
if err != nil {
|
|
logrus.Fatal(err)
|
|
}
|
|
if _, err := tf.Write(b); err != nil {
|
|
logrus.Fatal(err)
|
|
}
|
|
tdf, err := os.Create("test.file-descriptor.bin")
|
|
if err != nil {
|
|
logrus.Fatal(err)
|
|
}
|
|
defer tdf.Close()
|
|
b, err = proto.Marshal(protodesc.ToFileDescriptorProto(t.ProtoReflect().Descriptor().ParentFile()))
|
|
if err != nil {
|
|
logrus.Fatal(err)
|
|
}
|
|
if _, err := tdf.Write(b); err != nil {
|
|
logrus.Fatal(err)
|
|
}
|
|
}
|