package gen import ( "strings" "text/template" "zero/tools/goctl/util" "zero/tools/goctl/vars" ) func GenerateDockerfile(goFile string, args ...string) error { relPath, err := util.PathFromGoSrc() if err != nil { return err } out, err := util.CreateIfNotExist("Dockerfile") if err != nil { return err } defer out.Close() var builder strings.Builder for _, arg := range args { builder.WriteString(`, "` + arg + `"`) } t := template.Must(template.New("dockerfile").Parse(dockerTemplate)) return t.Execute(out, map[string]string{ "projectName": vars.ProjectName, "goRelPath": relPath, "goFile": goFile, "exeFile": util.FileNameWithoutExt(goFile), "argument": builder.String(), }) }