generator.go 806 B

12345678910111213141516171819202122232425262728293031323334
  1. package generator
  2. import (
  3. "log"
  4. conf "github.com/zeromicro/go-zero/tools/goctl/config"
  5. "github.com/zeromicro/go-zero/tools/goctl/env"
  6. "github.com/zeromicro/go-zero/tools/goctl/util/console"
  7. )
  8. // Generator defines the environment needs of rpc service generation
  9. type Generator struct {
  10. log console.Console
  11. cfg *conf.Config
  12. }
  13. // NewGenerator returns an instance of Generator
  14. func NewGenerator(style string) *Generator {
  15. cfg, err := conf.NewConfig(style)
  16. if err != nil {
  17. log.Fatalln(err)
  18. }
  19. log := console.NewColorConsole()
  20. return &Generator{
  21. log: log,
  22. cfg: cfg,
  23. }
  24. }
  25. // Prepare provides environment detection generated by rpc service,
  26. // including go environment, protoc, whether protoc-gen-go is installed or not
  27. func (g *Generator) Prepare() error {
  28. return env.Prepare(true, true)
  29. }