private static int RunInstallPackage(PackageOptions options)
{
console.Write("Downloading catalogs...");
var availablePackages = new List <PackageReference>();
foreach (var packageSource in PackageSources.Instance.Sources)
{
RepositoryOld repo = null;
var awaiter = packageSource.DownloadCatalog();
awaiter.Wait();
repo = awaiter.Result;
console.WriteLine("Done");
console.WriteLine("Enumerating Packages...");
if (repo != null)
{
foreach (var packageReference in repo.Packages)
{
availablePackages.Add(packageReference);
console.WriteLine(packageReference.Name);
}
}
}
var package = availablePackages.FirstOrDefault(p => p.Name == options.Package);
if (package != null)
{
var task = package.DownloadInfoAsync();
task.Wait();
var repo = task.Result;
var downloadTask = repo.Synchronize(options.Tag, console);
downloadTask.Wait();
return(1);
}
console.WriteLine("Unable to find package " + options.Package);
return(-1);
}