Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var Command = &cli.Command{ Name: "init", Aliases: nil, Usage: "fns init --mod={mod} {project dir}", Description: "init fns project", ArgsUsage: "", Category: "", Flags: []cli.Flag{ &cli.StringFlag{ Name: "mod", Aliases: []string{"m"}, Required: false, Usage: "project go mod path", }, &cli.StringFlag{ Name: "img", Aliases: []string{"i"}, Required: false, Usage: "project docker image name", }, }, Action: func(ctx *cli.Context) (err error) { projectDir := strings.TrimSpace(ctx.Args().First()) if projectDir == "" { projectDir = "." } if !filepath.IsAbs(projectDir) { projectDir, err = filepath.Abs(projectDir) if err != nil { err = errors.Warning("fns: init fns project failed").WithCause(err).WithMeta("dir", projectDir) return } } projectDir = filepath.ToSlash(projectDir) projectPath := strings.TrimSpace(ctx.String("mod")) img := strings.TrimSpace(ctx.String("img")) if projectPath == "" { if err = useForm(); err != nil { err = errors.Warning("fns: init fns project failed").WithCause(err).WithMeta("dir", projectDir) return } projectPath = modPath img = dockerImageName return } writeErr := base.Write(ctx.Context, projectPath, img, projectDir) if writeErr != nil { err = errors.Warning("fns: init fns project failed").WithCause(writeErr).WithMeta("dir", projectDir).WithMeta("path", projectPath) return } fmt.Println("fns: project has been initialized, please run `go mod tidy` to fetch requires and run `go generate` to generate source files!") return }, }
Functions ¶
This section is empty.
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.