main.go 718 B

12345678910111213141516171819202122232425262728293031323334
  1. package main
  2. import (
  3. "flag"
  4. "os"
  5. "github.com/golang/glog"
  6. "go-common/app/tool/protoc-gen-bm/codegenerator"
  7. "go-common/app/tool/protoc-gen-bm/genbm"
  8. "go-common/app/tool/protoc-gen-bm/util"
  9. )
  10. var useJSONPB bool
  11. func init() {
  12. flag.BoolVar(&useJSONPB, "jsonpb", false, "use jsonpb instead of std library, NOTE: jsonpb very slow")
  13. }
  14. func main() {
  15. flag.Parse()
  16. req, err := codegenerator.ParseRequest(os.Stdin)
  17. if err != nil {
  18. glog.Fatal(err)
  19. }
  20. if err = util.ParseParamSetFlag(req.GetParameter(), flag.CommandLine); err != nil {
  21. glog.Fatal(err)
  22. }
  23. g := genbm.New(useJSONPB)
  24. resp, err := g.Generate(req)
  25. if err = codegenerator.WriteResponse(os.Stdout, resp, err); err != nil {
  26. glog.Fatal(err)
  27. }
  28. }