github.com/taubyte/tau-cli@v0.1.13-0.20240326000942-487f0d57edfc/flags/project/code_or_config.go (about) 1 package projectFlags 2 3 import ( 4 projectI18n "github.com/taubyte/tau-cli/i18n/project" 5 "github.com/urfave/cli/v2" 6 ) 7 8 var ConfigOnly = &cli.BoolFlag{ 9 Name: "config-only", 10 Aliases: []string{"config"}, 11 Usage: "only the configuration repository", 12 } 13 14 var CodeOnly = &cli.BoolFlag{ 15 Name: "code-only", 16 Aliases: []string{"code"}, 17 Usage: "only the code repository", 18 } 19 20 func ParseConfigCodeFlags(ctx *cli.Context) (config bool, code bool, err error) { 21 config = ctx.Bool(ConfigOnly.Name) 22 code = ctx.Bool(CodeOnly.Name) 23 24 // Cannot clone only code and only config 25 if config && code { 26 return false, false, projectI18n.BothFlagsCannotBeTrue(ConfigOnly.Name, CodeOnly.Name) 27 } 28 29 // Neither only option is selected so both are true 30 if !config && !code { 31 return true, true, nil 32 } 33 34 return config, code, nil 35 }