mergeDependencyFiles resolves context for each direct dependency and merges files.
(task *model.Task, allTasks []*model.Task, opts taskcontext.Options, target *taskcontext.Result)
| 109 | |
| 110 | // mergeDependencyFiles resolves context for each direct dependency and merges files. |
| 111 | func mergeDependencyFiles(task *model.Task, allTasks []*model.Task, opts taskcontext.Options, target *taskcontext.Result) { |
| 112 | taskMap := buildTaskMap(allTasks) |
| 113 | |
| 114 | for _, depID := range task.Dependencies { |
| 115 | dep, ok := taskMap[depID] |
| 116 | if !ok { |
| 117 | continue |
| 118 | } |
| 119 | depResult, err := taskcontext.Resolve(dep, opts) |
| 120 | if err != nil { |
| 121 | continue |
| 122 | } |
| 123 | target.Files = mergeFiles(target.Files, depResult.Files) |
| 124 | } |
| 125 | } |
| 126 | |
| 127 | // mergeFiles appends src files into dst, deduplicating by path. |
| 128 | func mergeFiles(dst, src []taskcontext.FileEntry) []taskcontext.FileEntry { |
no test coverage detected