59 lines
1.3 KiB
Go
59 lines
1.3 KiB
Go
package main
|
|
|
|
import (
|
|
"os"
|
|
"strings"
|
|
)
|
|
|
|
func makeNewSortfile() {
|
|
f, _ := os.OpenFile(sortmap["protobase"]+".newsort.pb.go", os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0644)
|
|
|
|
header(f, sortmap)
|
|
|
|
if sortmap["lock"] == "all" {
|
|
// if the lock is set to 'all' this means the mutex was put in the protoc-gen-go struct
|
|
} else {
|
|
syncLock(f, sortmap)
|
|
}
|
|
iterTop(f, sortmap)
|
|
iterNext(f, sortmap)
|
|
iterAppend(f, sortmap) // Append() enforce no unique keys
|
|
iterSortAll(f, sortmap)
|
|
|
|
if argv.Append != "" {
|
|
sortmap["append"] = string(argv.Append)
|
|
iterAppend(f, sortmap) // Append() enforce unique key argv.Append
|
|
}
|
|
|
|
for _, s := range uniqueKeys {
|
|
// log.Info("found unique key in .proto", s)
|
|
sortmap["sortBy"] = s
|
|
sortmap["sortKey"] = s
|
|
|
|
iterSortBy(f, sortmap)
|
|
|
|
sortmap["append"] = sortmap["sortKey"]
|
|
iterAppend(f, sortmap) // Append() enforce unique key argv.Append
|
|
|
|
iterDelete(f, sortmap)
|
|
iterReplace(f, sortmap)
|
|
iterFind(f, sortmap)
|
|
}
|
|
|
|
for _, s := range argv.Sort {
|
|
sortparts := strings.Split(s, ",")
|
|
sortmap["sortBy"] = sortparts[0]
|
|
sortmap["sortKey"] = sortparts[1]
|
|
|
|
iterSortBy(f, sortmap)
|
|
|
|
sortmap["append"] = sortmap["sortKey"]
|
|
iterAppend(f, sortmap) // Append() enforce unique key argv.Append
|
|
|
|
iterDelete(f, sortmap)
|
|
iterReplace(f, sortmap)
|
|
iterFind(f, sortmap)
|
|
}
|
|
iterEnd(f, sortmap)
|
|
}
|