mirror of
https://github.com/gohugoio/hugo.git
synced 2025-04-26 05:30:54 +03:00
commands: Make commands.Execute return a Response object
We have no global `Hugo` object no more (yay!), and there are some external tools that depends on that value. These tools need to use get that value from `Response.Result`. Note that `commands.Execute` now also takes the arguments as a string slice. This should also make it easier to use, not having to modify `os.Args`. This commit also wraps up this particular issue. Phew! Test coverage in /commands before: 14.4% Now: 53.5% Still work to do, now it is at least possible. Closes #4598
This commit is contained in:
parent
e7010c1b62
commit
96689a5c31
4 changed files with 75 additions and 22 deletions
15
main.go
15
main.go
|
@ -19,22 +19,19 @@ import (
|
|||
"os"
|
||||
|
||||
"github.com/gohugoio/hugo/commands"
|
||||
jww "github.com/spf13/jwalterweatherman"
|
||||
)
|
||||
|
||||
func main() {
|
||||
|
||||
runtime.GOMAXPROCS(runtime.NumCPU())
|
||||
commands.Execute()
|
||||
resp := commands.Execute(os.Args[1:])
|
||||
|
||||
if jww.LogCountForLevelsGreaterThanorEqualTo(jww.LevelError) > 0 {
|
||||
if resp.Err != nil {
|
||||
if resp.IsUserError() {
|
||||
resp.Cmd.Println("")
|
||||
resp.Cmd.Println(resp.Cmd.UsageString())
|
||||
}
|
||||
os.Exit(-1)
|
||||
}
|
||||
|
||||
// TODO(bep) cli refactor
|
||||
/*if commands.Hugo != nil {
|
||||
if commands.Hugo.Log.LogCountForLevelsGreaterThanorEqualTo(jww.LevelError) > 0 {
|
||||
os.Exit(-1)
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue