removed VS buildtools installation

This commit is contained in:
Leonid Lapshin
2020-09-10 17:04:24 +03:00
parent 97185c300d
commit 128244b89b
12 changed files with 68 additions and 96 deletions

View File

@@ -35,7 +35,8 @@ Export-ModuleMember -Function @(
'Get-EnvironmentVariable'
'Invoke-PesterTests'
'Get-VsCatalogJsonPath'
'Get-VisualStudioPath'
'Install-AndroidSDKPackages'
'Get-VisualStudioProduct'
'Get-VisualStudioPackages'
'Get-VisualStudioComponents'
)

View File

@@ -258,6 +258,34 @@ function Install-VsixExtension
}
}
function Get-VSExtensionVersion
{
Param
(
[Parameter(Mandatory=$true)]
[string] $packageName
)
$instanceFolders = Get-ChildItem -Path "C:\ProgramData\Microsoft\VisualStudio\Packages\_Instances"
if ($instanceFolders -is [array])
{
Write-Host "More than one instance installed"
exit 1
}
$stateContent = Get-Content -Path (Join-Path $instanceFolders.FullName '\state.packages.json')
$state = $stateContent | ConvertFrom-Json
$packageVersion = ($state.packages | Where-Object { $_.id -eq $packageName }).version
if (-not $packageVersion)
{
Write-Host "installed package $packageName for Visual Studio 2019 was not found"
exit 1
}
return $packageVersion
}
function Get-ToolcachePackages
{
$toolcachePath = Join-Path $env:ROOT_FOLDER "toolcache.json"

View File

@@ -60,60 +60,21 @@ Function Install-VisualStudio
}
}
function Get-VisualStudioInstancePath {
return "C:\ProgramData\Microsoft\VisualStudio\Packages\_Instances\" + (Get-VisualStudioProduct -ProductType "VisualStudio").InstanceId
}
function Get-VsCatalogJsonPath {
return Join-Path (Get-VisualStudioInstancePath) "catalog.json"
$instanceFolder = Get-Item "C:\ProgramData\Microsoft\VisualStudio\Packages\_Instances\*" | Select-Object -First 1
return Join-Path $instanceFolder.FullName "catalog.json"
}
function Get-VisualStudioProduct {
Param
(
[Parameter(Mandatory)]
[ValidateSet('VisualStudio','BuildTools')]
[String] $ProductType
)
function Get-VisualStudioPath {
return (Get-VSSetupInstance | Select-VSSetupInstance -Product *).InstallationPath
}
if ($ProductType -eq "VisualStudio")
{
$VSSelectionType = "*Enterprise*"
}
elseif ($ProductType -eq "BuildTools")
{
$VSSelectionType = "*Build*"
}
return Get-VSSetupInstance | Where-Object -Property DisplayName -like $VSSelectionType
function Get-VisualStudioPackages {
return (Get-VSSetupInstance | Select-VSSetupInstance -Product *).Packages
}
function Get-VisualStudioComponents {
Param
(
[Parameter(Mandatory)]
[String] $ProductType
)
(Get-VisualStudioProduct -ProductType $ProductType).Packages | Where-Object type -in 'Component', 'Workload' |
Get-VisualStudioPackages | Where-Object type -in 'Component', 'Workload' |
Sort-Object Id, Version | Select-Object @{n = 'Package'; e = {$_.Id}}, Version |
Where-Object { $_.Package -notmatch "[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}" }
}
function Get-VSExtensionVersion
{
Param
(
[Parameter(Mandatory=$true)]
[string] $PackageName
)
$state = Get-Content -Path (Join-Path (Get-VisualStudioInstancePath) '\state.packages.json') | ConvertFrom-Json
$packageVersion = ($state.packages | Where-Object { $_.id -eq $PackageName }).version
if (-not $packageVersion)
{
Write-Host "installed package $PackageName for Visual Studio 2019 was not found"
exit 1
}
return $packageVersion
}
}