1
0
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:
Andrey Nering
2025-07-07 10:09:19 -03:00
parent a10a9faabf
commit 8a43ca5d8f
2 changed files with 9 additions and 6 deletions

View File

@ -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()
} }

View File

@ -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
} }