public static BootstrapperOptions ParseArgumentsAndConfigurations(IEnumerable<string> arguments, NameValueCollection appSettings, IDictionary envVariables)
{
var options = new BootstrapperOptions();
var commandArgs = arguments.ToList();
if (commandArgs.Contains(CommandArgs.PreferNuget) || appSettings.GetKey(AppSettingKeys.PreferNugetAppSettingsKey).ToLowerSafe() == "true")
{
options.PreferNuget = true;
commandArgs.Remove(CommandArgs.PreferNuget);
}
if (commandArgs.Contains(CommandArgs.ForceNuget) || appSettings.GetKey(AppSettingKeys.ForceNugetAppSettingsKey).ToLowerSafe() == "true")
{
options.ForceNuget = true;
commandArgs.Remove(CommandArgs.ForceNuget);
}
if (commandArgs.Contains(CommandArgs.Silent))
{
options.Silent = true;
commandArgs.Remove(CommandArgs.Silent);
}
if (commandArgs.Contains(CommandArgs.Help))
{
options.ShowHelp = true;
commandArgs.Remove(CommandArgs.Help);
}
commandArgs = EvaluateDownloadOptions(options.DownloadArguments, commandArgs, appSettings, envVariables).ToList();
options.UnprocessedCommandArgs = commandArgs;
return options;
}