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  }