1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- package exe
- import (
- "os"
- "os/exec"
- )
- type CmdBuilder struct {
- GitBin string
- GitFlags []string
- MakepkgFlags []string
- MakepkgConfPath string
- MakepkgBin string
- }
- func (c *CmdBuilder) BuildGitCmd(dir string, extraArgs ...string) *exec.Cmd {
- args := make([]string, 0, len(c.GitFlags)+len(extraArgs))
- copy(args, c.GitFlags)
- if dir != "" {
- args = append(args, "-C", dir)
- }
- args = append(args, extraArgs...)
- cmd := exec.Command(c.GitBin, args...)
- cmd.Env = append(os.Environ(), "GIT_TERMINAL_PROMPT=0")
- return cmd
- }
- func (c *CmdBuilder) BuildMakepkgCmd(dir string, extraArgs ...string) *exec.Cmd {
- args := make([]string, 0, len(c.MakepkgFlags)+len(extraArgs))
- copy(args, c.MakepkgFlags)
- if c.MakepkgConfPath != "" {
- args = append(args, "--config", c.MakepkgConfPath)
- }
- args = append(args, extraArgs...)
- cmd := exec.Command(c.MakepkgBin, args...)
- cmd.Dir = dir
- return cmd
- }
|