mirror of
https://github.com/actions/runner-images-sangeeth.git
synced 2025-12-14 22:09:26 +00:00
Improved documentation for Android
This commit is contained in:
@@ -1,3 +1,10 @@
|
||||
function Split-TableRowByColumns {
|
||||
param(
|
||||
[string] $Row
|
||||
)
|
||||
return $Row.Split("|") | ForEach-Object { $_.trim() }
|
||||
}
|
||||
|
||||
function Get-AndroidComponentLocation {
|
||||
param(
|
||||
[string] $ComponentName
|
||||
@@ -6,22 +13,12 @@ function Get-AndroidComponentLocation {
|
||||
return "Location $path"
|
||||
}
|
||||
|
||||
function Split-AndroidSDKOutputRow {
|
||||
function Get-AndroidSDKRoot {
|
||||
param(
|
||||
[string] $Row
|
||||
[string] $ComponentName
|
||||
)
|
||||
return $Row.Split("|").Trim()
|
||||
}
|
||||
|
||||
function Create-AndroidTableObject {
|
||||
param(
|
||||
[string] $PackageName,
|
||||
[string] $Description
|
||||
)
|
||||
return [PSCustomObject] @{
|
||||
"Package Name" = $PackageName
|
||||
"Description" = $Description
|
||||
}
|
||||
$path = Join-Path $env:ANDROID_HOME $ComponentName
|
||||
return "Location $path"
|
||||
}
|
||||
|
||||
function Get-AndroidSDKManagerPath {
|
||||
@@ -42,68 +39,123 @@ function Get-AndroidInstalledPackages {
|
||||
return $androidInstalledPackages
|
||||
}
|
||||
|
||||
function Build-AndroidSDKToolsTable {
|
||||
param (
|
||||
[Parameter(Mandatory)]
|
||||
[object] $packageInfo
|
||||
)
|
||||
|
||||
return $packageInfo | ForEach-Object {
|
||||
$packageInfoParts = Split-AndroidSDKOutputRow $_
|
||||
$packageName = $packageInfoParts[0]
|
||||
$packageDescription = $packageInfoParts[2] + ", Revision " + $packageInfoParts[1]
|
||||
Create-AndroidTableObject -PackageName $packageName -Description $packageDescription
|
||||
}
|
||||
}
|
||||
|
||||
function Build-AndroidSDKPlatformTable {
|
||||
param (
|
||||
[Parameter(Mandatory)]
|
||||
[object] $packageInfo
|
||||
)
|
||||
|
||||
return $packageInfo | ForEach-Object {
|
||||
$packageInfoParts = Split-AndroidSDKOutputRow $_
|
||||
$packageName = $packageInfoParts[0].split(";")[1]
|
||||
$packageDescription = $packageInfoParts[2] + ", Revision " + $packageInfoParts[1]
|
||||
return Create-AndroidTableObject -PackageName $packageName -Description $packageDescription
|
||||
}
|
||||
}
|
||||
|
||||
function Build-AndroidSDKBuildToolsTable {
|
||||
param (
|
||||
[Parameter(Mandatory)]
|
||||
[object] $packageInfo
|
||||
)
|
||||
|
||||
return $packageInfo | ForEach-Object {
|
||||
$packageInfoParts = Split-AndroidSDKOutputRow $_
|
||||
$packageName = $packageInfoParts[0].replace(";", "-")
|
||||
$packageDescription = "Android SDK Build-Tools, Revision " + $packageInfoParts[1]
|
||||
return Create-AndroidTableObject -PackageName $packageName -Description $packageDescription
|
||||
}
|
||||
}
|
||||
|
||||
function Build-AndroidExtraPackagesTable {
|
||||
param (
|
||||
[Parameter(Mandatory)][AllowEmptyString()]
|
||||
[string[]] $installedPackages
|
||||
)
|
||||
|
||||
$extraPackages = @(
|
||||
"Android Support Repository",
|
||||
"Google Play services",
|
||||
"Google Repository",
|
||||
"ndk-bundle"
|
||||
)
|
||||
|
||||
return $extraPackages | ForEach-Object {
|
||||
$packageId = $_
|
||||
$packageInfo = $installedPackages | Where-Object { $_ -Like "*${packageId}*" } | Select-Object -First 1
|
||||
$packageInfoParts = Split-AndroidSDKOutputRow $packageInfo
|
||||
return [PSCustomObject] @{
|
||||
"Package Name" = $packageInfoParts[2]
|
||||
"Version" = $packageInfoParts[1]
|
||||
function Build-AndroidTable {
|
||||
$packageInfo = Get-AndroidInstalledPackages
|
||||
return @(
|
||||
@{
|
||||
"Package" = "Android SDK Tools"
|
||||
"Version" = Get-AndroidPackageVersions -PackageInfo $packageInfo -MatchedString "Android SDK Tools"
|
||||
},
|
||||
@{
|
||||
"Package" = "Android SDK Platforms"
|
||||
"Version" = Get-AndroidPlatformVersions -PackageInfo $packageInfo
|
||||
"Location" = Get-AndroidComponentLocation -ComponentName "platforms"
|
||||
},
|
||||
@{
|
||||
"Package" = "Android SDK Build-tools"
|
||||
"Version" = Get-AndroidBuildToolVersions -PackageInfo $packageInfo
|
||||
"Location" = Get-AndroidComponentLocation -ComponentName "build-tools"
|
||||
},
|
||||
@{
|
||||
"Package" = "Android SDK Platform-Tools"
|
||||
"Version" = Get-AndroidPackageVersions -PackageInfo $packageInfo -MatchedString "Android SDK Platform-Tools"
|
||||
},
|
||||
@{
|
||||
"Package" = "Google APIs"
|
||||
"Version" = Get-AndroidGoogleAPIsVersions -PackageInfo $packageInfo
|
||||
},
|
||||
@{
|
||||
"Package" = "Android Support Repository"
|
||||
"Version" = Get-AndroidPackageVersions -PackageInfo $packageInfo -MatchedString "Android Support Repository"
|
||||
},
|
||||
@{
|
||||
"Package" = "Google Play services"
|
||||
"Version" = Get-AndroidPackageVersions -PackageInfo $packageInfo -MatchedString "Google Play services"
|
||||
},
|
||||
@{
|
||||
"Package" = "Google Repository"
|
||||
"Version" = Get-AndroidPackageVersions -PackageInfo $packageInfo -MatchedString "Google Repository"
|
||||
},
|
||||
@{
|
||||
"Package" = "SDK Patch Applier v4"
|
||||
"Version" = Get-AndroidPackageVersions -PackageInfo $packageInfo -MatchedString "SDK Patch Applier v4"
|
||||
},
|
||||
@{
|
||||
"Package" = "CMake"
|
||||
"Version" = Get-AndroidPackageVersions -PackageInfo $packageInfo -MatchedString "cmake"
|
||||
},
|
||||
@{
|
||||
"Package" = "NDK"
|
||||
"Version" = Get-AndroidPackageVersions -PackageInfo $packageInfo -MatchedString "ndk-bundle"
|
||||
}
|
||||
) | Where-Object { $_.Version } | ForEach-Object {
|
||||
[PSCustomObject] @{
|
||||
"Package Name" = $_.Package
|
||||
"Version" = $_.Version
|
||||
"Location" = $_.Location
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function Get-AndroidPackageVersions {
|
||||
param (
|
||||
[Parameter(Mandatory)]
|
||||
[object] $PackageInfo,
|
||||
[Parameter(Mandatory)]
|
||||
[object] $MatchedString
|
||||
)
|
||||
|
||||
$versions = $packageInfo | Where-Object { $_ -Match $MatchedString } | ForEach-Object {
|
||||
$packageInfoParts = Split-TableRowByColumns $_
|
||||
return $packageInfoParts[1]
|
||||
}
|
||||
return ($versions -Join "<br>")
|
||||
}
|
||||
|
||||
function Get-AndroidPlatformVersions {
|
||||
param (
|
||||
[Parameter(Mandatory)]
|
||||
[object] $PackageInfo
|
||||
)
|
||||
|
||||
$versions = $packageInfo | Where-Object { $_ -Match "Android SDK Platform " } | ForEach-Object {
|
||||
$packageInfoParts = Split-TableRowByColumns $_
|
||||
$revision = $packageInfoParts[1]
|
||||
$version = $packageInfoParts[0].split(";")[1]
|
||||
return "$version, (rev $revision)"
|
||||
}
|
||||
[array]::Reverse($versions)
|
||||
return ($versions -Join "<br>")
|
||||
}
|
||||
|
||||
function Get-AndroidBuildToolVersions {
|
||||
param (
|
||||
[Parameter(Mandatory)]
|
||||
[object] $PackageInfo
|
||||
)
|
||||
|
||||
$versions = $packageInfo | Where-Object { $_ -Match "Android SDK Build-Tools" } | ForEach-Object {
|
||||
$packageInfoParts = Split-TableRowByColumns $_
|
||||
return $packageInfoParts[1]
|
||||
}
|
||||
$groupVersions = @()
|
||||
$versions | ForEach-Object {
|
||||
$majorVersion = $_.Split(".")[0]
|
||||
$groupVersions += $versions | Where-Object { $_.StartsWith($majorVersion) } | Join-String -Separator " "
|
||||
}
|
||||
return ($groupVersions | Sort-Object -Descending -Unique | Join-String -Separator "<br>")
|
||||
}
|
||||
|
||||
function Get-AndroidGoogleAPIsVersions {
|
||||
param (
|
||||
[Parameter(Mandatory)]
|
||||
[object] $PackageInfo
|
||||
)
|
||||
|
||||
$versions = $packageInfo | Where-Object { $_ -Match "Google APIs" } | ForEach-Object {
|
||||
$packageInfoParts = Split-TableRowByColumns $_
|
||||
return $packageInfoParts[0].split(";")[1]
|
||||
}
|
||||
return ($versions -Join "<br>")
|
||||
}
|
||||
Reference in New Issue
Block a user