(calls []*Call, yield traverseFunc)
| 219 | type traverseFunc func(*ast.Task) error |
| 220 | |
| 221 | func (e *Executor) traverse(calls []*Call, yield traverseFunc) error { |
| 222 | for _, c := range calls { |
| 223 | task, err := e.CompiledTask(c) |
| 224 | if err != nil { |
| 225 | return err |
| 226 | } |
| 227 | for _, dep := range task.Deps { |
| 228 | if dep.Task != "" { |
| 229 | if err := e.traverse([]*Call{{Task: dep.Task, Vars: dep.Vars}}, yield); err != nil { |
| 230 | return err |
| 231 | } |
| 232 | } |
| 233 | } |
| 234 | for _, cmd := range task.Cmds { |
| 235 | if cmd.Task != "" { |
| 236 | if err := e.traverse([]*Call{{Task: cmd.Task, Vars: cmd.Vars}}, yield); err != nil { |
| 237 | return err |
| 238 | } |
| 239 | } |
| 240 | } |
| 241 | if err := yield(task); err != nil { |
| 242 | return err |
| 243 | } |
| 244 | } |
| 245 | return nil |
| 246 | } |
no test coverage detected