diff options
Diffstat (limited to 'main.go')
| -rw-r--r-- | main.go | 47 |
1 files changed, 8 insertions, 39 deletions
@@ -15,6 +15,8 @@ import ( var VERSION string var BUILDTIME string +var sortmap map[string]string + func main() { pp := arg.MustParse(&argv) @@ -52,7 +54,7 @@ func main() { protobase := strings.TrimSuffix(argv.Proto, ".proto") - sortmap := make(map[string]string) + sortmap = make(map[string]string) sortmap["package"] = packageName sortmap["protobase"] = protobase if argv.LoBase == "" { @@ -80,50 +82,17 @@ func main() { // add mutex if err := addMutex(sortmap); err == nil { log.Info("adding mutex to existing protoc-gen-go file worked") + sortmap["mutex"] = "true" } else { log.Info("adding mutex to existing protoc-gen-go file did not work") + sortmap["mutex"] = "false" } - f, _ := os.OpenFile(protobase+".sort.pb.go", os.O_WRONLY|os.O_CREATE, 0600) - - header(f, sortmap) - syncLock(f, sortmap) - iterTop(f, sortmap) - iterNext(f, sortmap) - - // setup Sort() functions - if len(argv.Sort) == 0 { - // don't do any sorting - // setup Append() functions - if argv.Append == "" { - iterAppend(f, sortmap) // Append() enforce no unique keys - } else { - iterAppend(f, sortmap) // Append() enforce no unique keys - sortmap["append"] = argv.Append - iterAppend(f, sortmap) // Append() enforce unique key argv.Append - } + if argv.NoSort { + log.Info("not making sort.pb.go file (--no-sort == true)") } else { - sortparts := strings.Split(argv.Sort[0], ",") - sortmap["sortBy"] = sortparts[0] - sortmap["sortKey"] = sortparts[1] - - iterSort(f, sortmap) - - if argv.Append == "" { - iterAppend(f, sortmap) // Append() enforce no unique keys - } else { - iterAppend(f, sortmap) // Append() enforce no unique keys - sortmap["append"] = argv.Append - iterAppend(f, sortmap) // Append() enforce unique key argv.Append - } - sortmap["append"] = sortmap["sortKey"] - iterAppend(f, sortmap) // Append() enforce unique key argv.Append - - // add ReplaceKey() - iterDelete(f, sortmap) - iterReplace(f, sortmap) + makeSortfile() } - iterEnd(f, sortmap) if argv.NoMarshal { log.Info("not making marshal.pb.go file (--no-marshal == true)") |
