github.com/gobuffalo/buffalo-cli/v2@v2.0.0-alpha.15.0.20200919213536-a7350c8e6799/cli/cmds/resource/flags.go (about)

     1  package resource
     2  
     3  import (
     4  	"io"
     5  
     6  	"github.com/gobuffalo/buffalo-cli/v2/internal/flagger"
     7  	"github.com/gobuffalo/plugins/plugflag"
     8  	"github.com/spf13/pflag"
     9  )
    10  
    11  func (g *Generator) PrintFlags(w io.Writer) error {
    12  	flags := g.Flags()
    13  	flags.SetOutput(w)
    14  	flags.PrintDefaults()
    15  	return nil
    16  }
    17  
    18  func (g *Generator) Flags() *pflag.FlagSet {
    19  	if g.flags != nil {
    20  		return g.flags
    21  	}
    22  
    23  	flags := pflag.NewFlagSet(g.PluginName(), pflag.ContinueOnError)
    24  	flags.BoolVar(&g.skipActionTests, "skip-action-tests", false, "skip generating action tests")
    25  	flags.BoolVar(&g.skipActions, "skip-actions", false, "skip generating actions")
    26  	flags.BoolVar(&g.skipMigrationTests, "skip-migration-tests", false, "skip generating migration tests")
    27  	flags.BoolVar(&g.skipMigrations, "skip-migrations", false, "skip generating migrations")
    28  	flags.BoolVar(&g.skipModelTests, "skip-model-tests", false, "skip generating model tests")
    29  	flags.BoolVar(&g.skipModels, "skip-models", false, "skip generating models")
    30  	flags.BoolVar(&g.skipTemplateTests, "skip-template-tests", false, "skip generating template tests")
    31  	flags.BoolVar(&g.skipTemplates, "skip-templates", false, "skip generating templates")
    32  	flags.BoolVarP(&g.help, "help", "h", false, "print this help")
    33  
    34  	plugs := g.ScopedPlugins()
    35  
    36  	for _, p := range plugs {
    37  		switch t := p.(type) {
    38  		case Flagger:
    39  			for _, f := range plugflag.Clean(p, t.ResourceFlags()) {
    40  				flags.AddGoFlag(f)
    41  			}
    42  		case Pflagger:
    43  			for _, f := range flagger.CleanPflags(p, t.ResourceFlags()) {
    44  				flags.AddFlag(f)
    45  			}
    46  		}
    47  	}
    48  	g.flags = flags
    49  	return g.flags
    50  }