github.com/metux/go-metabuild@v0.0.0-20240118143255-d9ed5ab697f9/engine/builder/composite/gresource.go (about) 1 package composite 2 3 import ( 4 "github.com/metux/go-metabuild/engine/builder/c" 5 "github.com/metux/go-metabuild/engine/builder/gen" 6 "github.com/metux/go-metabuild/spec" 7 "github.com/metux/go-metabuild/util/jobs" 8 ) 9 10 type CompositeGlibResource struct { 11 c.BaseCBuilder 12 } 13 14 func (b CompositeGlibResource) jobGen() jobs.Job { 15 builderGen := gen.MakeGlibResource(b.SubTarget("generate"), b.JobId()+"/generate") 16 builderGen.LoadTargetDefaults() 17 return builderGen 18 } 19 20 func (b CompositeGlibResource) jobLib() jobs.Job { 21 builderLib := c.MakeCLibrary(b.SubTarget("library"), b.JobId()+"/library") 22 builderLib.LoadTargetDefaults() 23 return builderLib 24 } 25 26 func (b CompositeGlibResource) JobSub() ([]jobs.Job, error) { 27 jobs := []jobs.Job{b.jobGen(), b.jobLib()} 28 29 // needed a 2nd time, so we can overwrite sub's template by ours 30 b.LoadTargetDefaults() 31 32 return jobs, nil 33 } 34 35 func MakeGlibResource(o spec.TargetObject, id string) CompositeGlibResource { 36 return CompositeGlibResource{BaseCBuilder: c.MakeBaseCBuilder(o, id)} 37 }