github.com/wawandco/oxplugins@v0.7.11/lifecycle/build/flags.go (about)

     1  package build
     2  
     3  import (
     4  	"github.com/spf13/pflag"
     5  	"github.com/wawandco/oxplugins/plugins"
     6  )
     7  
     8  func (b *Command) ParseFlags(args []string) {
     9  	for _, plugin := range b.builders {
    10  		fp, ok := plugin.(plugins.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  	for _, plugin := range b.buildPlugins {
    22  		fp, ok := plugin.(plugins.FlagParser)
    23  		if !ok {
    24  			continue
    25  		}
    26  
    27  		fp.Flags().VisitAll(func(f *pflag.Flag) {
    28  			fs.AddFlag(f)
    29  		})
    30  	}
    31  
    32  	return fs
    33  }