Merge remote-tracking branch 'upstream/weshaggard-PublishPackagesToNuget' into FixPublish

This commit is contained in:
Eric Erhardt 2016-05-13 14:02:05 -05:00
commit 01b7bb439a
3 changed files with 144 additions and 0 deletions

View file

@ -187,5 +187,33 @@ namespace Microsoft.DotNet.Cli.Build
{
return $"{channel}/Binaries/{version}/{Path.GetFileName(archiveFile)}";
}
public void DownloadFiles(string blobVirtualDirectory, string fileExtension, string downloadPath)
{
CloudBlobDirectory blobDir = _blobContainer.GetDirectoryReference(blobVirtualDirectory);
BlobContinuationToken continuationToken = new BlobContinuationToken();
var blobFiles = blobDir.ListBlobsSegmentedAsync(continuationToken).Result;
foreach (var blobFile in blobFiles.Results.OfType<CloudBlockBlob>())
{
if (Path.GetExtension(blobFile.Uri.AbsoluteUri) == fileExtension)
{
string localBlobFile = Path.Combine(downloadPath, Path.GetFileName(blobFile.Uri.AbsoluteUri));
Console.WriteLine($"Downloading {blobFile.Uri.AbsoluteUri} to {localBlobFile}...");
blobFile.DownloadToFileAsync(localBlobFile, FileMode.Create).Wait();
}
}
}
public IEnumerable<string> ListBlobs(string blobVirtualDirectory)
{
CloudBlobDirectory blobDir = _blobContainer.GetDirectoryReference(blobVirtualDirectory);
BlobContinuationToken continuationToken = new BlobContinuationToken();
var blobFiles = blobDir.ListBlobsSegmentedAsync(continuationToken).Result;
return blobFiles.Results.Select(bf => bf.Uri.AbsoluteUri);
}
}
}