mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-12-28 19:25:27 +08:00
[ps1] Revert function removal
This commit is contained in:
parent
c814c9b8ac
commit
12d862ab2b
@ -13,57 +13,64 @@ $vcpkgRootDir = vcpkgFindFileRecursivelyUp $scriptsDir .vcpkg-root
|
||||
$downloadsDir = "$vcpkgRootDir\downloads"
|
||||
vcpkgCreateDirectoryIfNotExists $downloadsDir
|
||||
|
||||
$tool = $tool.toLower()
|
||||
|
||||
[xml]$asXml = Get-Content "$scriptsDir\vcpkgTools.xml"
|
||||
$toolData = $asXml.SelectSingleNode("//tools/tool[@name=`"$tool`"]") # Case-sensitive!
|
||||
|
||||
if ($toolData -eq $null)
|
||||
function fetchToolInternal([Parameter(Mandatory=$true)][string]$tool)
|
||||
{
|
||||
throw "Unkown tool $tool"
|
||||
}
|
||||
$tool = $tool.toLower()
|
||||
|
||||
$exePath = "$downloadsDir\$($toolData.exeRelativePath)"
|
||||
[xml]$asXml = Get-Content "$scriptsDir\vcpkgTools.xml"
|
||||
$toolData = $asXml.SelectSingleNode("//tools/tool[@name=`"$tool`"]") # Case-sensitive!
|
||||
|
||||
if ($toolData -eq $null)
|
||||
{
|
||||
throw "Unkown tool $tool"
|
||||
}
|
||||
|
||||
$exePath = "$downloadsDir\$($toolData.exeRelativePath)"
|
||||
|
||||
if (Test-Path $exePath)
|
||||
{
|
||||
return $exePath
|
||||
}
|
||||
|
||||
$isArchive = vcpkgHasProperty -object $toolData -propertyName "archiveRelativePath"
|
||||
if ($isArchive)
|
||||
{
|
||||
$downloadPath = "$downloadsDir\$($toolData.archiveRelativePath)"
|
||||
}
|
||||
else
|
||||
{
|
||||
$downloadPath = "$downloadsDir\$($toolData.exeRelativePath)"
|
||||
}
|
||||
|
||||
[String]$url = $toolData.url
|
||||
if (!(Test-Path $downloadPath))
|
||||
{
|
||||
Write-Host "Downloading $tool..."
|
||||
vcpkgDownloadFile $url $downloadPath
|
||||
Write-Host "Downloading $tool... done."
|
||||
}
|
||||
|
||||
$expectedDownloadedFileHash = $toolData.sha256
|
||||
$downloadedFileHash = vcpkgGetSHA256 $downloadPath
|
||||
vcpkgCheckEqualFileHash -filePath $downloadPath -expectedHash $expectedDownloadedFileHash -actualHash $downloadedFileHash
|
||||
|
||||
if ($isArchive)
|
||||
{
|
||||
$outFilename = (Get-ChildItem $downloadPath).BaseName
|
||||
Write-Host "Extracting $tool..."
|
||||
vcpkgExtractFile -ArchivePath $downloadPath -DestinationDir $downloadsDir -outFilename $outFilename
|
||||
Write-Host "Extracting $tool... done."
|
||||
}
|
||||
|
||||
if (-not (Test-Path $exePath))
|
||||
{
|
||||
Write-Error "Could not detect or download $tool"
|
||||
throw
|
||||
}
|
||||
|
||||
if (Test-Path $exePath)
|
||||
{
|
||||
return $exePath
|
||||
}
|
||||
|
||||
$isArchive = vcpkgHasProperty -object $toolData -propertyName "archiveRelativePath"
|
||||
if ($isArchive)
|
||||
{
|
||||
$downloadPath = "$downloadsDir\$($toolData.archiveRelativePath)"
|
||||
}
|
||||
else
|
||||
{
|
||||
$downloadPath = "$downloadsDir\$($toolData.exeRelativePath)"
|
||||
}
|
||||
|
||||
[String]$url = $toolData.url
|
||||
if (!(Test-Path $downloadPath))
|
||||
{
|
||||
Write-Host "Downloading $tool..."
|
||||
vcpkgDownloadFile $url $downloadPath
|
||||
Write-Host "Downloading $tool... done."
|
||||
}
|
||||
|
||||
$expectedDownloadedFileHash = $toolData.sha256
|
||||
$downloadedFileHash = vcpkgGetSHA256 $downloadPath
|
||||
vcpkgCheckEqualFileHash -filePath $downloadPath -expectedHash $expectedDownloadedFileHash -actualHash $downloadedFileHash
|
||||
|
||||
if ($isArchive)
|
||||
{
|
||||
$outFilename = (Get-ChildItem $downloadPath).BaseName
|
||||
Write-Host "Extracting $tool..."
|
||||
vcpkgExtractFile -ArchivePath $downloadPath -DestinationDir $downloadsDir -outFilename $outFilename
|
||||
Write-Host "Extracting $tool... done."
|
||||
}
|
||||
|
||||
if (-not (Test-Path $exePath))
|
||||
{
|
||||
Write-Error "Could not detect or download $tool"
|
||||
throw
|
||||
}
|
||||
|
||||
return "<sol>::$exePath::<eol>"
|
||||
$path = fetchToolInternal $tool
|
||||
Write-Verbose "Fetching tool: $tool. Done."
|
||||
return "<sol>::$path::<eol>"
|
||||
|
Loading…
x
Reference in New Issue
Block a user