func offerConfig(c *cli.Context) (*config.BintrayDetails, error) { exists, err := config.IsBintrayConfExists() if err != nil { return nil, err } if exists { return nil, nil } val, err := cliutils.GetBoolEnvValue("JFROG_CLI_OFFER_CONFIG", true) if err != nil { return nil, err } if !val { config.SaveBintrayConf(new(config.BintrayDetails)) return nil, nil } msg := "Some CLI commands require the following common options:\n" + "- User\n" + "- API Key\n" + "- Default Package Licenses\n" + "Configuring JFrog CLI with these parameters now will save you having to include them as command options.\n" + "You can also configure these parameters later using the 'config' command.\n" + "Configure now? (y/n): " fmt.Print(msg) var confirm string fmt.Scanln(&confirm) if !cliutils.ConfirmAnswer(confirm) { config.SaveBintrayConf(new(config.BintrayDetails)) return nil, nil } bintrayDetails, err := createBintrayDetails(c, false) if err != nil { return nil, err } details, err := commands.Config(nil, bintrayDetails, true) cliutils.ExitOnErr(err) details.ApiUrl = bintrayDetails.ApiUrl details.DownloadServerUrl = bintrayDetails.DownloadServerUrl return details, nil }
func configure(c *cli.Context) { if c.NArg() > 1 { cliutils.Exit(cliutils.ExitCodeError, "Wrong number of arguments. "+cliutils.GetDocumentationMessage()) } else if c.NArg() == 1 { if c.Args().Get(0) == "show" { commands.ShowConfig() } else if c.Args().Get(0) == "clear" { commands.ClearConfig() } else { cliutils.Exit(cliutils.ExitCodeError, "Unknown argument '"+c.Args().Get(0)+"'. Available arguments are 'show' and 'clear'.") } } else { interactive := cliutils.GetBoolFlagValue(c, "interactive", true) if !interactive { if c.String("user") == "" || c.String("key") == "" { cliutils.Exit(cliutils.ExitCodeError, "The --user and --key options are mandatory when the --interactive option is set to false") } } bintrayDetails, err := createBintrayDetails(c, false) cliutils.ExitOnErr(err) commands.Config(bintrayDetails, nil, interactive) } }