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  }