mirror of
https://github.com/actions/runner-images.git
synced 2025-12-12 20:26:49 +00:00
use helper functions
This commit is contained in:
@@ -37,6 +37,9 @@ Export-ModuleMember -Function @(
|
||||
'Get-VsCatalogJsonPath'
|
||||
'Get-VisualStudioPath'
|
||||
'Install-AndroidSDKPackages'
|
||||
'Get-AndroidPackages'
|
||||
'Get-AndroidPackagesByName'
|
||||
'Get-AndroidPackagesByVersion'
|
||||
'Get-VisualStudioPackages'
|
||||
'Get-VisualStudioComponents'
|
||||
)
|
||||
|
||||
@@ -418,3 +418,41 @@ function Install-AndroidSDKPackages {
|
||||
& $AndroidSDKManagerPath --sdk_root=$AndroidSDKRootPath "$PrefixPackageName$package"
|
||||
}
|
||||
}
|
||||
|
||||
function Get-AndroidPackages {
|
||||
Param
|
||||
(
|
||||
[Parameter(Mandatory=$true)]
|
||||
[string]$AndroidSDKManagerPath
|
||||
)
|
||||
|
||||
return (& $AndroidSDKManagerPath --list --verbose).Trim() | Foreach-Object { $_.Split()[0] } | Where-Object {$_}
|
||||
}
|
||||
|
||||
function Get-AndroidPackagesByName {
|
||||
Param (
|
||||
[Parameter(Mandatory=$true)]
|
||||
[string[]]$AndroidPackages,
|
||||
[Parameter(Mandatory=$true)]
|
||||
[string]$PrefixPackageName
|
||||
)
|
||||
|
||||
return $AndroidPackages | Where-Object { "$_".StartsWith($PrefixPackageName) }
|
||||
}
|
||||
|
||||
function Get-AndroidPackagesByVersion {
|
||||
Param (
|
||||
[Parameter(Mandatory=$true)]
|
||||
[string[]]$AndroidPackages,
|
||||
[Parameter(Mandatory=$true)]
|
||||
[string]$PrefixPackageName,
|
||||
[object]$MinimumVersion,
|
||||
[char]$Delimeter,
|
||||
[int]$Index = 0
|
||||
)
|
||||
|
||||
$Type = $MinimumVersion.GetType()
|
||||
$packagesByName = Get-AndroidPackagesByName -AndroidPackages $AndroidPackages -PrefixPackageName $PrefixPackageName
|
||||
$packagesByVersion = $packagesByName | Where-Object { ($_.Split($Delimeter)[$Index] -as $Type) -ge $MinimumVersion }
|
||||
return $packagesByVersion | Sort-Object { $_.Split($Delimeter)[$Index] -as $Type} -Unique
|
||||
}
|
||||
|
||||
@@ -35,17 +35,23 @@ $sdkManager = "$sdkRoot\tools\bin\sdkmanager.bat"
|
||||
& $sdkManager --sdk_root=$sdkRoot "platform-tools"
|
||||
|
||||
# get packages info
|
||||
$androidPackages = & $sdkManager --list --verbose
|
||||
$androidPackages = Get-AndroidPackages -AndroidSDKManagerPath $sdkManager
|
||||
|
||||
# platforms
|
||||
[int]$platformMinVersion = $androidToolset.platform_min_version
|
||||
$platformList = $androidPackages.Trim() | Where-Object { "$_".StartsWith("platforms;") } | Foreach-Object { $_.Split()[0] } |
|
||||
Where-Object { [int]$_.Split("-")[1] -ge $platformMinVersion } | Sort-Object { [int]$_.Split("-")[1] } -Unique
|
||||
$platformList = Get-AndroidPackagesByVersion -AndroidPackages $androidPackages `
|
||||
-PrefixPackageName "platforms;" `
|
||||
-MinimumVersion $platformMinVersion `
|
||||
-Delimeter "-" `
|
||||
-Index 1
|
||||
|
||||
# build-tools
|
||||
[version]$buildToolsMinVersion = $androidToolset.build_tools_min_version
|
||||
$buildToolsList = $androidPackages.Trim() | Where-Object { "$_".StartsWith("build-tools;") } | Foreach-Object { $_.Split()[0] } |
|
||||
Where-Object { [version]$_.Split(";")[1] -ge $buildToolsMinVersion } | Sort-Object { [version]$_.Split(";")[1] } -Unique
|
||||
$buildToolsList = Get-AndroidPackagesByVersion -AndroidPackages $androidPackages `
|
||||
-PrefixPackageName "build-tools;" `
|
||||
-MinimumVersion $buildToolsMinVersion `
|
||||
-Delimeter ";" `
|
||||
-Index 1
|
||||
|
||||
Install-AndroidSDKPackages -AndroidSDKManagerPath $sdkManager `
|
||||
-AndroidSDKRootPath $sdkRoot `
|
||||
|
||||
@@ -31,12 +31,6 @@ function Get-AndroidInstalledPackages {
|
||||
return $androidInstalledPackages
|
||||
}
|
||||
|
||||
function Get-AndroidPackages {
|
||||
$androidSDKManagerPath = Get-AndroidSDKManagerPath
|
||||
$androidPackages = & $androidSDKManagerPath --list --verbose
|
||||
return $androidPackages
|
||||
}
|
||||
|
||||
function Build-AndroidTable {
|
||||
$packageInfo = Get-AndroidInstalledPackages
|
||||
return @(
|
||||
|
||||
@@ -2,21 +2,27 @@ Import-Module (Join-Path $PSScriptRoot "..\SoftwareReport\SoftwareReport.Android
|
||||
|
||||
Describe "Android SDK" {
|
||||
$androidToolset = (Get-ToolsetContent).android
|
||||
$androidPackages = Get-AndroidPackages
|
||||
$androidPackages = Get-AndroidPackages -AndroidSDKManagerPath (Get-AndroidSDKManagerPath)
|
||||
$androidInstalledPackages = Get-AndroidInstalledPackages
|
||||
|
||||
$platformTestCases = @()
|
||||
[int]$platformMinVersion = $androidToolset.platform_min_version
|
||||
$platformList = $androidPackages | Where-Object { "$_".StartsWith("platforms;") } |
|
||||
Where-Object { [int]$_.Split("-")[1] -ge $platformMinVersion } | Sort-Object { [int]$_.Split("-")[1] } -Unique
|
||||
$platformList = Get-AndroidPackagesByVersion -AndroidPackages $androidPackages `
|
||||
-PrefixPackageName "platforms;" `
|
||||
-MinimumVersion $platformMinVersion `
|
||||
-Delimeter "-" `
|
||||
-Index 1
|
||||
$platformList | ForEach-Object {
|
||||
$platformTestCases += @{ platformVersion = $_; installedPackages = $androidInstalledPackages }
|
||||
}
|
||||
|
||||
$buildToolsTestCases = @()
|
||||
[version]$buildToolsMinVersion = $androidToolset.build_tools_min_version
|
||||
$buildToolsList = $androidPackages | Where-Object { "$_".StartsWith("build-tools;") } |
|
||||
Where-Object { [version]$_.Split(";")[1] -ge $buildToolsMinVersion } | Sort-Object { [version]$_.Split(";")[1] } -Unique
|
||||
$buildToolsList = Get-AndroidPackagesByVersion -AndroidPackages $androidPackages `
|
||||
-PrefixPackageName "build-tools;" `
|
||||
-MinimumVersion $buildToolsMinVersion `
|
||||
-Delimeter ";" `
|
||||
-Index 1
|
||||
$buildToolsList | ForEach-Object {
|
||||
$buildToolsTestCases += @{ buildToolsVersion = $_; installedPackages = $androidInstalledPackages }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user