func Config(details *utils.ArtifactoryDetails, interactive, shouldEncPassword bool) { var bytePassword []byte if interactive { if details.Url == "" { print("Artifactory Url: ") fmt.Scanln(&details.Url) } if details.User == "" { print("User: "******"" { print("Password: ") var err error bytePassword, err = terminal.ReadPassword(int(syscall.Stdin)) details.Password = string(bytePassword) utils.CheckError(err) } } details.Url = utils.AddTrailingSlashIfNeeded(details.Url) if shouldEncPassword { details = encryptPassword(details) } writeConfFile(details) }
func getArtifactoryDetails(c *cli.Context, includeConfig bool) *utils.ArtifactoryDetails { details := new(utils.ArtifactoryDetails) details.Url = c.String("url") details.User = c.String("user") details.Password = c.String("password") if includeConfig { if details.Url == "" || details.User == "" || details.Password == "" { confDetails := commands.GetConfig() if details.Url == "" { details.Url = confDetails.Url } if details.User == "" { details.User = confDetails.User } if details.Password == "" { details.Password = confDetails.Password } } } details.Url = utils.AddTrailingSlashIfNeeded(details.Url) return details }