Add PullNupkgFilesFromBlob target
This target pulls all the nupkgs from the matching azure storage and then copies them into the artifact\$(RID)\packages folder.
This commit is contained in:
parent
b9d6a0c911
commit
d7376f84c3
2 changed files with 30 additions and 0 deletions
|
@ -322,5 +322,16 @@ namespace Microsoft.DotNet.Cli.Build
|
||||||
}
|
}
|
||||||
return c.Success();
|
return c.Success();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Target(nameof(PrepareTargets.Init), nameof(InitPublish))]
|
||||||
|
public static BuildTargetResult PullNupkgFilesFromBlob(BuildTargetContext c)
|
||||||
|
{
|
||||||
|
var hostBlob = $"{Channel}/Binaries/{CliNuGetVersion}/";
|
||||||
|
|
||||||
|
Directory.CreateDirectory(Dirs.Packages);
|
||||||
|
AzurePublisherTool.DownloadFiles(hostBlob, ".nupkg", Dirs.Packages);
|
||||||
|
|
||||||
|
return c.Success();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
using System;
|
using System;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
|
using System.Linq;
|
||||||
using System.Net.Http;
|
using System.Net.Http;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using Microsoft.DotNet.Cli.Build.Framework;
|
using Microsoft.DotNet.Cli.Build.Framework;
|
||||||
|
@ -92,5 +93,23 @@ namespace Microsoft.DotNet.Cli.Build
|
||||||
{
|
{
|
||||||
return $"{channel}/Binaries/{version}/{Path.GetFileName(archiveFile)}";
|
return $"{channel}/Binaries/{version}/{Path.GetFileName(archiveFile)}";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async 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();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue