private Artifact CollectData(Context context) { var options = context.Options; var artifact = new Artifact(); var input = new InputCollector(options); if (options.ArtifactGroupOn) { artifact.Group = options.ArtifactGroupValue; } else { var messageLines = new [] { "Grupo do artefato, geralmente um de:", " KeepCoding", " 3rd-party" }; artifact.Group = input.CollectData(messageLines) ?? "KeepCoding"; } if (options.ArtifactNameOn) { artifact.Name = options.ArtifactNameValue; } else { artifact.Name = input.CollectData("Nome do artefato") ?? "Artefato"; } if (options.ArtifactVersionOn) { artifact.Version = options.ArtifactVersionValue; } else { var messageLines = new[] { "Versão do artefato no formato `major.minor.patch`,", "Por exemplo: 1.0.0", "O último digito geralmente é omitido para ser definido", "no momento da publicação do pacote." }; var version = input.CollectData(messageLines); artifact.Version = string.IsNullOrWhiteSpace(version) ? "1.0.0" : version; } return(artifact); }
private Credential CollectCredential(Options options) { var login = new Credential(); var input = new InputCollector(options); if (options.UserOn) { login.User = options.UserValue; } else if (!options.NonInteractiveOn) { login.User = input.CollectData("Nome de usuário"); } if (options.PassOn) { login.Pass = options.PassValue; } else if (!options.NonInteractiveOn) { login.Pass = input.CollectSecret("Senha para " + (login.User ?? "login")); } return(login); }