1
0
mirror of https://github.com/go-task/task.git synced 2024-12-04 10:24:45 +02:00

fix: handle errors when sh is used in Taskfiles with the any variables experiment enabled

This commit is contained in:
Pete Davison 2023-12-02 02:26:08 +00:00
parent 1eeb7d5cf9
commit 7feceeae87
2 changed files with 7 additions and 2 deletions

View File

@ -478,8 +478,8 @@ func (e *Executor) GetTaskList(filters ...FilterFunc) ([]*taskfile.Task, error)
task := tasks[idx]
g.Go(func() error {
compiledTask, err := e.FastCompiledTask(taskfile.Call{Task: task.Task})
if err == nil {
task = compiledTask
if err != nil {
return err
}
tasks[idx] = compiledTask
return nil

View File

@ -169,6 +169,11 @@ func (e *Executor) compiledTask(call taskfile.Call, evaluateShVars bool) (*taskf
}
case []any:
list = value
case map[string]any:
return &taskfile.Task{}, errors.TaskfileInvalidError{
URI: origTask.Location.Taskfile,
Err: errors.New("sh is not supported with the 'Any Variables' experiment enabled.\nSee https://taskfile.dev/experiments/any-variables for more information."),
}
default:
return nil, errors.TaskfileInvalidError{
URI: origTask.Location.Taskfile,