github.com/metux/go-metabuild@v0.0.0-20240118143255-d9ed5ab697f9/engine/builder/buildall.go (about) 1 package builder 2 3 import ( 4 "github.com/metux/go-metabuild/spec" 5 "github.com/metux/go-metabuild/util/jobs" 6 ) 7 8 type BuildAll struct { 9 spec.Global 10 jobs.BaseJob 11 } 12 13 func (b BuildAll) JobSub() ([]jobs.Job, error) { 14 jobs := []jobs.Job{} 15 for _, t := range b.GetTargetObjects() { 16 if b, err := CreateBuilder(t); err == nil { 17 if !t.Skipped() { 18 jobs = append(jobs, b) 19 } 20 } else { 21 return jobs, err 22 } 23 } 24 return jobs, nil 25 } 26 27 func MakeBuildAll(g spec.Global) BuildAll { 28 return BuildAll{Global: g, BaseJob: jobs.BaseJob{Id: "all-targets"}} 29 }