提交 98fb1f2a 编写于 作者: J Jared Parsons 提交者: GitHub

Merge pull request #15100 from jaredpar/fix-nuget

Fix NuGet.exe caching
......@@ -8,8 +8,5 @@ set NuGetExe=%NuGetExeFolder%\NuGet.exe
set NuGetAdditionalCommandLineArgs=-verbosity quiet -configfile "%NuGetExeFolder%\nuget.config" -Project2ProjectTimeOut 1200
REM Download NuGet.exe if we haven't already
if not exist "%NuGetExe%" (
echo Downloading NuGet %NuGetExeVersion%
powershell -noprofile -executionPolicy Bypass -file "%~dp0download-nuget.ps1" "%NuGetExeVersion%" "%NuGetExeFolder%" || goto :DownloadNuGetFailed
)
powershell -noprofile -executionPolicy Bypass -file "%~dp0download-nuget.ps1" "%NuGetExeVersion%" "%NuGetExeFolder%" "%NuGetExeFolder%\Binaries"
param (
[string]$nugetVersion = $(throw "Need a nuget version"),
[string]$destPath = $(throw "Need a path to download too"))
[string]$destDir = $(throw "Need a path to download too"),
[string]$binariesDir = $(throw "Need path to Binaries directory"))
set-strictmode -version 2.0
$ErrorActionPreference="Stop"
if (-not (test-path $destPath)) {
mkdir $destPath | out-null
}
try
{
$scratchDir = join-path $binariesDir "NuGet"
if (-not (test-path $scratchDir)) {
mkdir $scratchDir | out-null
}
if (-not (test-path $destDir)) {
mkdir $destDir | out-null
}
$destFile = join-path $destDir "NuGet.exe"
$scratchFile = join-path $scratchDir "NuGet.exe"
$versionFile = join-path $scratchDir "version.txt"
$webClient = New-Object -TypeName "System.Net.WebClient"
$webClient.DownloadFile("https://dist.nuget.org/win-x86-commandline/v$nugetVersion/NuGet.exe", (join-path $destPath "NuGet.exe"))
# Check and see if we already have a NuGet.exe which exists and is the correct
# version.
if ((test-path $destFile) -and (test-path $scratchFile) -and (test-path $versionFile)) {
$destHash = (get-filehash $destFile -algorithm MD5).Hash
$scratchHash = (get-filehash $scratchFile -algorithm MD5).Hash
$scratchVersion = gc $versionFile
if (($destHash -eq $scratchHash) -and ($scratchVersion -eq $nugetVersion)) {
write-host "Using existing NuGet.exe at version $nuGetVersion"
exit 0
}
}
write-host "Downloading NuGet.exe"
$webClient = New-Object -TypeName "System.Net.WebClient"
$webClient.DownloadFile("https://dist.nuget.org/win-x86-commandline/v$nugetVersion/NuGet.exe", $scratchFile)
$nugetVersion | out-file $versionFile
cp $scratchFile $destFile
exit 0
}
catch [exception]
{
write-host $_.Exception
exit -1
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册