1
0
mirror of https://github.com/go-task/task.git synced 2025-02-09 13:47:06 +02:00

refactor: move TaskRunError handling into main function

This commit is contained in:
Pete Davison 2023-04-27 10:49:42 +00:00 committed by Andrey Nering
parent 745de72d7e
commit 6633e65ee6

View File

@ -15,7 +15,6 @@ import (
"github.com/go-task/task/v3"
"github.com/go-task/task/v3/args"
"github.com/go-task/task/v3/errors"
"github.com/go-task/task/v3/internal/logger"
"github.com/go-task/task/v3/internal/sort"
ver "github.com/go-task/task/v3/internal/version"
"github.com/go-task/task/v3/taskfile"
@ -71,6 +70,10 @@ var flags struct {
func main() {
if err := run(); err != nil {
if err, ok := err.(*errors.TaskRunError); ok && flags.exitCode {
log.Print(err.Error())
os.Exit(err.TaskExitCode())
}
if err, ok := err.(errors.TaskError); ok {
log.Print(err.Error())
os.Exit(err.Code())
@ -255,17 +258,7 @@ func run() error {
return e.Status(ctx, calls...)
}
if err := e.Run(ctx, calls...); err != nil {
e.Logger.Errf(logger.Red, "%v\n", err)
if flags.exitCode {
if err, ok := err.(*errors.TaskRunError); ok {
os.Exit(err.TaskExitCode())
}
}
return err
}
return nil
return e.Run(ctx, calls...)
}
func getArgs() ([]string, string, error) {