()
| 67 | ) |
| 68 | |
| 69 | func main() { |
| 70 | flag.Parse() |
| 71 | |
| 72 | if *versionFlag { |
| 73 | if commit == "unknown" { |
| 74 | buildInfo, ok := debug.ReadBuildInfo() |
| 75 | if ok { |
| 76 | version = buildInfo.Main.Version |
| 77 | for _, setting := range buildInfo.Settings { |
| 78 | if setting.Key == "vcs.revision" { |
| 79 | commit = setting.Value |
| 80 | } |
| 81 | if setting.Key == "vcs.time" { |
| 82 | date = setting.Value |
| 83 | } |
| 84 | } |
| 85 | } |
| 86 | } |
| 87 | fmt.Printf("Version %v, commit %v, built at %v\n", version, commit, date) |
| 88 | os.Exit(0) |
| 89 | } |
| 90 | |
| 91 | reg := descriptor.NewRegistry() |
| 92 | if grpclog.V(1) { |
| 93 | grpclog.Info("Processing code generator request") |
| 94 | } |
| 95 | f := os.Stdin |
| 96 | if *file != "-" { |
| 97 | var err error |
| 98 | f, err = os.Open(*file) |
| 99 | if err != nil { |
| 100 | grpclog.Fatal(err) |
| 101 | } |
| 102 | } |
| 103 | if grpclog.V(1) { |
| 104 | grpclog.Info("Parsing code generator request") |
| 105 | } |
| 106 | req, err := codegenerator.ParseRequest(f) |
| 107 | if err != nil { |
| 108 | grpclog.Fatal(err) |
| 109 | } |
| 110 | if grpclog.V(1) { |
| 111 | grpclog.Info("Parsed code generator request") |
| 112 | } |
| 113 | pkgMap := make(map[string]string) |
| 114 | if req.Parameter != nil { |
| 115 | if err := parseReqParam(req.GetParameter(), flag.CommandLine, pkgMap); err != nil { |
| 116 | grpclog.Fatalf("Error parsing flags: %v", err) |
| 117 | } |
| 118 | } |
| 119 | |
| 120 | reg.SetPrefix(*importPrefix) |
| 121 | reg.SetAllowDeleteBody(*allowDeleteBody) |
| 122 | reg.SetAllowMerge(*allowMerge) |
| 123 | reg.SetMergeFileName(*mergeFileName) |
| 124 | reg.SetUseJSONNamesForFields(*useJSONNamesForFields) |
| 125 | reg.SetUseProto3FieldSemantics(*useProto3FieldSemantics) |
| 126 |
nothing calls this directly
no test coverage detected