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