github.com/metux/go-metabuild@v0.0.0-20240118143255-d9ed5ab697f9/engine/builder/gen/gmarshal.go (about) 1 package gen 2 3 import ( 4 "github.com/metux/go-metabuild/engine/builder/base" 5 "github.com/metux/go-metabuild/spec" 6 "github.com/metux/go-metabuild/spec/target" 7 ) 8 9 type GlibMarshal struct { 10 base.BaseBuilder 11 } 12 13 func (b GlibMarshal) JobRun() error { 14 15 c1 := append(b.BuilderCmd(), 16 "--prefix", 17 b.RequiredEntryStr(target.KeyResourceName), 18 b.RequiredSourceAbs(), 19 "--output") 20 21 b.ExecAbort(append(c1, b.RequiredEntryStr(target.KeyOutputCHeader), "--header"), "") 22 b.ExecAbort(append(c1, b.RequiredEntryStr(target.KeyOutputCSource), "--body"), "") 23 24 return nil 25 } 26 27 func MakeGlibMarshal(o spec.TargetObject, id string) GlibMarshal { 28 return GlibMarshal{base.BaseBuilder{o, id}} 29 }