mirror of
				https://github.com/gohugoio/hugo.git
				synced 2024-05-11 05:54:58 +00:00 
			
		
		
		
	Rationale: Test failing on Windows with errors like this:
    utils_test.go:177: Error: Could not remove file "f".
    Error: remove C:\Users\appveyor\AppData\Local\Temp\utils_test_747965610:
    The process cannot access the file because it is being used by another
    process.
This reverts commit 6b28e38cea.
Sorry for my premature merge of Pull Request #818.
		
	
		
			
				
	
	
		
			58 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
package utils
 | 
						|
 | 
						|
import (
 | 
						|
	"os"
 | 
						|
	"strings"
 | 
						|
 | 
						|
	jww "github.com/spf13/jwalterweatherman"
 | 
						|
)
 | 
						|
 | 
						|
func CheckErr(err error, s ...string) {
 | 
						|
	if err != nil {
 | 
						|
		if len(s) == 0 {
 | 
						|
			jww.CRITICAL.Println(err)
 | 
						|
		} else {
 | 
						|
			for _, message := range s {
 | 
						|
				jww.ERROR.Println(message)
 | 
						|
			}
 | 
						|
			jww.ERROR.Println(err)
 | 
						|
		}
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func StopOnErr(err error, s ...string) {
 | 
						|
	if err != nil {
 | 
						|
		if len(s) == 0 {
 | 
						|
			newMessage := cutUsageMessage(err.Error())
 | 
						|
 | 
						|
			// Printing an empty string results in a error with
 | 
						|
			// no message, no bueno.
 | 
						|
			if newMessage != "" {
 | 
						|
				jww.CRITICAL.Println(newMessage)
 | 
						|
			}
 | 
						|
		} else {
 | 
						|
			for _, message := range s {
 | 
						|
				message := cutUsageMessage(message)
 | 
						|
 | 
						|
				if message != "" {
 | 
						|
					jww.CRITICAL.Println(message)
 | 
						|
				}
 | 
						|
			}
 | 
						|
		}
 | 
						|
		os.Exit(-1)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
// cutUsageMessage splits the incoming string on the beginning of the usage
 | 
						|
// message text. Anything in the first element of the returned slice, trimmed
 | 
						|
// of its Unicode defined spaces, should be returned. The 2nd element of the 
 | 
						|
// slice will have the usage message  that we wish to elide.
 | 
						|
//
 | 
						|
// This is done because Cobra already prints Hugo's usage message; not eliding
 | 
						|
// would result in the usage output being printed twice, which leads to bug 
 | 
						|
// reports, more specifically: https://github.com/spf13/hugo/issues/374
 | 
						|
func cutUsageMessage(s string) string {
 | 
						|
	pieces :=  strings.Split(s, "Usage of") 
 | 
						|
	return strings.TrimSpace(pieces[0])
 | 
						|
}
 |