feat: add support for multiple includes on a graph edge

This commit is contained in:
Pete Davison
2024-04-21 15:28:02 +00:00
parent 6951e5cd0c
commit f19c520f23
10 changed files with 41 additions and 56 deletions

View File

@@ -79,17 +79,19 @@ func (tfg *TaskfileGraph) Merge() (*Taskfile, error) {
}
// Get the merge options
include, ok := edge.Properties.Data.(*Include)
includes, ok := edge.Properties.Data.([]*Include)
if !ok {
return fmt.Errorf("task: Failed to get merge options")
}
// Merge the included Taskfile into the parent Taskfile
if err := vertex.Taskfile.Merge(
includedVertex.Taskfile,
include,
); err != nil {
return err
// Merge the included Taskfiles into the parent Taskfile
for _, include := range includes {
if err := vertex.Taskfile.Merge(
includedVertex.Taskfile,
include,
); err != nil {
return err
}
}
return nil