| 1234567891011121314151617181920212223242526272829303132333435363738 |
- package main
- import (
- "os/exec"
- )
- type step struct {
- name string
- exe string
- args []string
- message string
- proj string
- }
- func newStep(name, message, proj, exe string, args []string) step {
- return step{
- name: name,
- exe: exe,
- args: args,
- message: message,
- proj: proj,
- }
- }
- func (s step) execute() (string, error) {
- cmd := exec.Command(s.exe, s.args...)
- cmd.Dir = s.proj
- if err := cmd.Run(); err != nil {
- return "", &stepErr{
- step: s.name,
- msg: "failed to execute",
- cause: err,
- }
- }
- return s.message, nil
- }
|