func executeForOutput(workDir string, bundleExec bool, cmdSlice []string) (string, error) { if len(cmdSlice) == 0 { return "", errors.New("no command specified") } if bundleExec { cmdSlice = append([]string{"bundle", "exec"}, cmdSlice...) } if len(cmdSlice) == 1 { return cmdex.RunCommandInDirAndReturnCombinedStdoutAndStderr(workDir, cmdSlice[0]) } return cmdex.RunCommandInDirAndReturnCombinedStdoutAndStderr(workDir, cmdSlice[0], cmdSlice[1:len(cmdSlice)]...) }
func execute(workDir string, bundleExec bool, cmdSlice []string) error { if len(cmdSlice) == 0 { return errors.New("no command specified") } if bundleExec { cmdSlice = append([]string{"bundle", "exec"}, cmdSlice...) } prinatableCmd := cmdex.PrintableCommandArgs(false, cmdSlice) log.Details("=> %s", prinatableCmd) if len(cmdSlice) == 1 { out, err := cmdex.RunCommandInDirAndReturnCombinedStdoutAndStderr(workDir, cmdSlice[0]) log.Details(out) return err } out, err := cmdex.RunCommandInDirAndReturnCombinedStdoutAndStderr(workDir, cmdSlice[0], cmdSlice[1:len(cmdSlice)]...) log.Details(out) return err }