MCPcopy Create free account
hub / github.com/driangle/taskmd / mergeDependencyFiles

Function mergeDependencyFiles

apps/cli/internal/cli/context.go:111–125  ·  view source on GitHub ↗

mergeDependencyFiles resolves context for each direct dependency and merges files.

(task *model.Task, allTasks []*model.Task, opts taskcontext.Options, target *taskcontext.Result)

Source from the content-addressed store, hash-verified

109
110// mergeDependencyFiles resolves context for each direct dependency and merges files.
111func 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.
128func mergeFiles(dst, src []taskcontext.FileEntry) []taskcontext.FileEntry {

Callers 1

runContextFunction · 0.85

Calls 2

buildTaskMapFunction · 0.85
mergeFilesFunction · 0.85

Tested by

no test coverage detected