From f4272325e79f10584f7161ff3918981b2c5ed4e9 Mon Sep 17 00:00:00 2001 From: Martin Thielecke Date: Sat, 1 Aug 2015 00:30:22 +0000 Subject: [PATCH] [general] better failure result handling and method to list files in current directory --- general/gochanges.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/general/gochanges.go b/general/gochanges.go index 70ffb6b..d23148f 100644 --- a/general/gochanges.go +++ b/general/gochanges.go @@ -2,6 +2,7 @@ package general import ( "bytes" + "io/ioutil" "log" "os/exec" "path/filepath" @@ -14,7 +15,9 @@ import ( func RunCommand(command string, values ...string) (result string, errCode int) { cmd := exec.Command(command, values...) var out bytes.Buffer + var outErr bytes.Buffer cmd.Stdout = &out + cmd.Stderr = &outErr if err := cmd.Start(); err != nil { log.Fatalf("cmd.Start: %v", err) @@ -24,6 +27,7 @@ func RunCommand(command string, values ...string) (result string, errCode int) { if exiterr, ok := err.(*exec.ExitError); ok { if status, ok := exiterr.Sys().(syscall.WaitStatus); ok { errCode = status.ExitStatus() + result = outErr.String() return result, errCode } } else { @@ -54,6 +58,15 @@ func GetChangedGoFiles() (result []string) { return result } +// GetFilesFromDir returns a list of all files in the current directory +func GetFilesList() (result []string) { + files, _ := ioutil.ReadDir("./") + for _, f := range files { + result = append(result, f.Name()) + } + return result +} + // GetGitRoot returns the path with the .git directory func GetGitRoot() string { gitDir, _ := RunCommand("git", "rev-parse", "--git-dir")