diff --git a/build/_nuget-resilient-publish.shade b/build/_nuget-resilient-publish.shade index cc4a2b96ba..32e235639b 100644 --- a/build/_nuget-resilient-publish.shade +++ b/build/_nuget-resilient-publish.shade @@ -12,11 +12,25 @@ nugetFeed='' Required. Feed to publish to. */} +default apiKey='${Environment.GetEnvironmentVariable("APIKEY")}' +default extra='' + +var nugetArgs='' +set nugetArgs='${nugetArgs} -ApiKey ${apiKey}' if='!string.IsNullOrEmpty(apiKey)' +set nugetArgs='${nugetArgs} -Source ${nugetFeed}' if='!string.IsNullOrEmpty(nugetFeed)' +set nugetArgs='${nugetArgs} ${extra}' if='!string.IsNullOrEmpty(extra)' + @{ var packages = Directory.EnumerateFiles(sourcePackagesDir, "*.nupkg") .Where(p => !p.EndsWith(".symbols.nupkg")) .ToArray(); + var nugetExePath = Environment.GetEnvironmentVariable("PUSH_NUGET_EXE"); + if (string.IsNullOrEmpty(nugetExePath)) + { + nugetExePath = ".nuget/NuGet.exe"; + } + Parallel.ForEach(packages, package => { var retries = 0; @@ -24,7 +38,7 @@ nugetFeed='' start: try { - NuGetPush (nugetFeed, packagePath, ""); + ExecClr(nugetExePath, "push " + package + " " + nugetArgs); } catch { @@ -38,5 +52,5 @@ nugetFeed='' }); } -macro name='NuGetPush' source='string' nupkgFile='string' extra='string' - nuget-push +macro name='ExecClr' program='string' commandline='string' + exec-clr