37 lines
		
	
	
		
			769 B
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			769 B
		
	
	
	
		
			Go
		
	
	
	
| package helmexec
 | |
| 
 | |
| import (
 | |
| 	"fmt"
 | |
| 	"path/filepath"
 | |
| 	"strings"
 | |
| )
 | |
| 
 | |
| func newExitError(helmCmdPath string, exitStatus int, errorMessage string) ExitError {
 | |
| 	return ExitError{
 | |
| 		msg:        fmt.Sprintf("%s exited with status %d:\n%s", filepath.Base(helmCmdPath), exitStatus, indent(strings.TrimSpace(errorMessage))),
 | |
| 		exitStatus: exitStatus,
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func indent(text string) string {
 | |
| 	lines := strings.Split(text, "\n")
 | |
| 	for i := range lines {
 | |
| 		lines[i] = "  " + lines[i]
 | |
| 	}
 | |
| 	return strings.Join(lines, "\n")
 | |
| }
 | |
| 
 | |
| // ExitError is created whenever your shell command exits with a non-zero exit status
 | |
| type ExitError struct {
 | |
| 	msg        string
 | |
| 	exitStatus int
 | |
| }
 | |
| 
 | |
| func (e ExitError) Error() string {
 | |
| 	return e.msg
 | |
| }
 | |
| 
 | |
| func (e ExitError) ExitStatus() int {
 | |
| 	return e.exitStatus
 | |
| }
 |