Cache Android SDK packages list (#7709)

This commit is contained in:
Vasilii Polikarpov
2023-06-16 18:34:04 +02:00
committed by GitHub
parent f83e411035
commit d0d97cd5f8
3 changed files with 41 additions and 6 deletions

View File

@@ -72,9 +72,20 @@ function Get-ToolsetValue {
}
function Get-AndroidPackages {
$androidSDKManagerPath = "/usr/local/lib/android/sdk/cmdline-tools/latest/bin/sdkmanager"
$androidPackages = & $androidSDKManagerPath --list --verbose 2>&1
return $androidPackages
$packagesListFile = "/usr/local/lib/android/sdk/packages-list.txt"
if (-Not (Test-Path -Path $packagesListFile -PathType Leaf)) {
(/usr/local/lib/android/sdk/cmdline-tools/latest/bin/sdkmanager --list --verbose 2>&1) |
Where-Object { $_ -Match "^[^\s]" } |
Where-Object { $_ -NotMatch "^(Loading |Info: Parsing |---|\[=+|Installed |Available )" } |
Where-Object { $_ -NotMatch "^[^;]*$" } |
Out-File -FilePath $packagesListFile
Write-Host Android packages list:
Get-Content $packagesListFile
}
return Get-Content $packagesListFile
}
function Get-EnvironmentVariable($variable) {

View File

@@ -24,9 +24,23 @@ function Get-AndroidInstalledPackages {
}
function Get-AndroidPackages {
$androidSDKDir = Get-AndroidSDKRoot
$androidSDKManagerPath = Get-AndroidSDKManagerPath
$androidPackages = & $androidSDKManagerPath --list --verbose
return $androidPackages
$packagesListFile = Join-Path $androidSDKDir "packages-list.txt"
if (-Not (Test-Path -Path $packagesListFile -PathType Leaf)) {
(& $androidSDKManagerPath --list --verbose) |
Where-Object { $_ -Match "^[^\s]" } |
Where-Object { $_ -NotMatch "^(Loading |Info: Parsing |---|\[=+|Installed |Available )" } |
Where-Object { $_ -NotMatch "^[^;]*$" } |
Out-File -FilePath $packagesListFile
Write-Host Android packages list:
Get-Content $packagesListFile
}
return Get-Content $packagesListFile
}
function Build-AndroidTable {

View File

@@ -489,7 +489,17 @@ function Get-AndroidPackages {
[string]$AndroidSDKManagerPath
)
return (cmd /c "$AndroidSDKManagerPath --list --verbose 2>&1").Trim() | Foreach-Object { $_.Split()[0] } | Where-Object {$_}
$packagesListFile = "C:\Android\android-sdk\packages-list.txt"
if (-Not (Test-Path -Path $packagesListFile -PathType Leaf)) {
(cmd /c "$AndroidSDKManagerPath --list --verbose 2>&1") |
Where-Object { $_ -Match "^[^\s]" } |
Where-Object { $_ -NotMatch "^(Loading |Info: Parsing |---|\[=+|Installed |Available )" } |
Where-Object { $_ -NotMatch "^[^;]*$" } |
Out-File -FilePath $packagesListFile
}
return Get-Content $packagesListFile
}
function Get-AndroidPackagesByName {