| 123456789101112131415161718192021222324252627282930313233343536373839 |
- package main
- import (
- "flag"
- "fmt"
- "io"
- "os"
- "os/exec"
- )
- func run(proj string, out io.Writer) error {
- if proj == "" {
- return fmt.Errorf("project directory is required: %w", ErrValidation)
- }
- args := []string{"build", ".", "errors"}
- cmd := exec.Command("go", args...)
- cmd.Dir = proj
- if err := cmd.Run(); err != nil {
- return &stepErr{
- step: "go build",
- msg: "go build failed",
- cause: err,
- }
- }
- _, err := fmt.Fprintln(out, "Go Build: SUCCESS")
- return err
- }
- func main() {
- proj := flag.String("p", "", "Project directory")
- flag.Parse()
- if err := run(*proj, os.Stdout); err != nil {
- _, _ = fmt.Fprintln(os.Stderr, err)
- os.Exit(1)
- }
- }
|