github.com/metux/go-metabuild@v0.0.0-20240118143255-d9ed5ab697f9/engine/packager/pkgall.go (about) 1 package packager 2 3 import ( 4 "github.com/metux/go-metabuild/spec" 5 "github.com/metux/go-metabuild/spec/distro" 6 "github.com/metux/go-metabuild/util/jobs" 7 ) 8 9 type PkgAllJob struct { 10 jobs.BaseJob 11 Global spec.Global 12 } 13 14 func (job PkgAllJob) JobSub() ([]jobs.Job, error) { 15 jobs := []jobs.Job{} 16 bc := job.Global.BuildConf() 17 for _, pkg := range bc.TargetDistro().Packages() { 18 if !pkg.Skipped() { 19 switch pkg.Distro.PackageFormat() { 20 case distro.PkgFormatDeb: 21 jobs = append(jobs, MakeDebPkgJob(bc, pkg)) 22 default: 23 return jobs, distro.ErrPkgFormatUnsupported 24 } 25 } 26 } 27 return jobs, nil 28 } 29 30 func MakePkgAllJob(cf spec.Global) PkgAllJob { 31 return PkgAllJob{BaseJob: jobs.BaseJob{Id: "all-packages"}, Global: cf} 32 }