mirror of
https://github.com/go-task/task.git
synced 2025-07-15 01:35:00 +02:00
chore: move away from deprecated func
This commit is contained in:
@ -1,6 +1,7 @@
|
|||||||
package errors
|
package errors
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
@ -46,8 +47,9 @@ func (err *TaskRunError) Code() int {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (err *TaskRunError) TaskExitCode() int {
|
func (err *TaskRunError) TaskExitCode() int {
|
||||||
if c, ok := interp.IsExitStatus(err.Err); ok {
|
var exit interp.ExitStatus
|
||||||
return int(c)
|
if errors.As(err.Err, &exit) {
|
||||||
|
return int(exit)
|
||||||
}
|
}
|
||||||
return err.Code()
|
return err.Code()
|
||||||
}
|
}
|
||||||
|
9
task.go
9
task.go
@ -220,13 +220,13 @@ func (e *Executor) RunTask(ctx context.Context, call *Call) error {
|
|||||||
e.Logger.VerboseErrf(logger.Yellow, "task: error cleaning status on error: %v\n", err2)
|
e.Logger.VerboseErrf(logger.Yellow, "task: error cleaning status on error: %v\n", err2)
|
||||||
}
|
}
|
||||||
|
|
||||||
exitCode, isExitError := interp.IsExitStatus(err)
|
var exitCode interp.ExitStatus
|
||||||
if isExitError {
|
if errors.As(err, &exitCode) {
|
||||||
if t.IgnoreError {
|
if t.IgnoreError {
|
||||||
e.Logger.VerboseErrf(logger.Yellow, "task: task error ignored: %v\n", err)
|
e.Logger.VerboseErrf(logger.Yellow, "task: task error ignored: %v\n", err)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
deferredExitCode = exitCode
|
deferredExitCode = uint8(exitCode)
|
||||||
}
|
}
|
||||||
|
|
||||||
if call.Indirect {
|
if call.Indirect {
|
||||||
@ -356,7 +356,8 @@ func (e *Executor) runCommand(ctx context.Context, t *ast.Task, call *Call, i in
|
|||||||
if closeErr := closer(err); closeErr != nil {
|
if closeErr := closer(err); closeErr != nil {
|
||||||
e.Logger.Errf(logger.Red, "task: unable to close writer: %v\n", closeErr)
|
e.Logger.Errf(logger.Red, "task: unable to close writer: %v\n", closeErr)
|
||||||
}
|
}
|
||||||
if _, isExitError := interp.IsExitStatus(err); isExitError && cmd.IgnoreError {
|
var exitCode interp.ExitStatus
|
||||||
|
if errors.As(err, &exitCode) && cmd.IgnoreError {
|
||||||
e.Logger.VerboseErrf(logger.Yellow, "task: [%s] command error ignored: %v\n", t.Name(), err)
|
e.Logger.VerboseErrf(logger.Yellow, "task: [%s] command error ignored: %v\n", t.Name(), err)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user