summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doIdentify.go24
-rw-r--r--file.proto2
-rw-r--r--main.go7
3 files changed, 32 insertions, 1 deletions
diff --git a/doIdentify.go b/doIdentify.go
new file mode 100644
index 0000000..0e2ac37
--- /dev/null
+++ b/doIdentify.go
@@ -0,0 +1,24 @@
+package main
+
+import (
+ "os"
+
+ "go.wit.com/log"
+)
+
+// print the protobuf in human form
+func doIdentify(filename string) error {
+ data, err := os.ReadFile(filename)
+ if err != nil {
+ // log.Info("open config file :", err)
+ return err
+ }
+
+ var pb *Identify
+ pb = new(Identify)
+ if err := pb.Unmarshal(data); err != nil {
+ return err
+ }
+ log.Info("Identify protobuf file uuid =", pb.Uuid, "version =", pb.Version)
+ return nil
+}
diff --git a/file.proto b/file.proto
index fb42046..b181ded 100644
--- a/file.proto
+++ b/file.proto
@@ -98,5 +98,5 @@ message Files { // `autogenpb:marshal`
// then dump the uuid and version from any arbitrary .pb file
message Identify { // `autogenpb:marshal`
string uuid = 1; //
- int64 version = 2; //
+ string version = 2; //
}
diff --git a/main.go b/main.go
index 381b2fd..78e58a2 100644
--- a/main.go
+++ b/main.go
@@ -34,6 +34,13 @@ func main() {
var pb *Files
pb = new(Files)
+ if argv.Identify != "" {
+ if err := doIdentify(argv.Identify); err != nil {
+ badExit(err)
+ }
+ okExit("")
+ }
+
// you need a proto file
if argv.Proto == "" {
log.Info("you must provide --proto <filename>")