github.com/wawandco/ox@v0.13.6-0.20230809142027-913b3d837f2a/plugins/base/build/flags.go (about)

     1  package build
     2  
     3  import (
     4  	"github.com/spf13/pflag"
     5  	"github.com/wawandco/ox/plugins/core"
     6  )
     7  
     8  func (b *Command) ParseFlags(args []string) {
     9  	for _, plugin := range b.builders {
    10  		fp, ok := plugin.(core.FlagParser)
    11  		if !ok {
    12  			continue
    13  		}
    14  
    15  		fp.ParseFlags(args)
    16  	}
    17  }
    18  
    19  func (b *Command) Flags() *pflag.FlagSet {
    20  	fs := pflag.NewFlagSet("build", pflag.ContinueOnError)
    21  	fs.Usage = func() {}
    22  
    23  	for _, plugin := range b.buildPlugins {
    24  		fp, ok := plugin.(core.FlagParser)
    25  		if !ok {
    26  			continue
    27  		}
    28  
    29  		fp.Flags().VisitAll(func(f *pflag.Flag) {
    30  			fs.AddFlag(f)
    31  		})
    32  	}
    33  
    34  	return fs
    35  }