1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- package gen
- import (
- "path/filepath"
- "runtime"
- "strings"
- "github.com/tal-tech/go-zero/tools/goctl/util"
- )
- // target
- // ├── etc
- // ├── internal
- // │ ├── config
- // │ ├── handler
- // │ ├── logic
- // │ ├── pb
- // │ └── svc
- func (g *defaultRpcGenerator) createDir() error {
- ctx := g.Ctx
- m := make(map[string]string)
- m[dirTarget] = ctx.TargetDir
- m[dirEtc] = filepath.Join(ctx.TargetDir, dirEtc)
- m[dirInternal] = filepath.Join(ctx.TargetDir, dirInternal)
- m[dirConfig] = filepath.Join(ctx.TargetDir, dirInternal, dirConfig)
- m[dirServer] = filepath.Join(ctx.TargetDir, dirInternal, dirServer)
- m[dirLogic] = filepath.Join(ctx.TargetDir, dirInternal, dirLogic)
- m[dirPb] = filepath.Join(ctx.TargetDir, dirPb)
- m[dirSvc] = filepath.Join(ctx.TargetDir, dirInternal, dirSvc)
- for _, d := range m {
- err := util.MkdirIfNotExist(d)
- if err != nil {
- return err
- }
- }
- g.dirM = m
- return nil
- }
- func (g *defaultRpcGenerator) mustGetPackage(dir string) string {
- target := g.dirM[dir]
- projectPath := g.Ctx.ProjectPath
- relativePath := strings.TrimPrefix(target, projectPath)
- os := runtime.GOOS
- switch os {
- case "windows":
- relativePath = filepath.ToSlash(relativePath)
- case "darwin", "linux":
- default:
- g.Ctx.Fatalln("unexpected os: %s", os)
- }
- return g.Ctx.Module + relativePath
- }
|