mirror of
https://github.com/actions/runner-images-sangeeth.git
synced 2025-12-14 22:09:26 +00:00
use dynamic lists for platforms and build-tools
This commit is contained in:
@@ -3,6 +3,7 @@
|
|||||||
## Desc: Install and update Android SDK and tools
|
## Desc: Install and update Android SDK and tools
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
|
$ErrorActionPreference = "Stop"
|
||||||
# Download the latest command line tools so that we can accept all of the licenses.
|
# Download the latest command line tools so that we can accept all of the licenses.
|
||||||
# See https://developer.android.com/studio/#command-tools
|
# See https://developer.android.com/studio/#command-tools
|
||||||
$sdkArchPath = Start-DownloadWithRetry -Url "https://dl.google.com/android/repository/sdk-tools-windows-4333796.zip" -Name "android-sdk-tools.zip"
|
$sdkArchPath = Start-DownloadWithRetry -Url "https://dl.google.com/android/repository/sdk-tools-windows-4333796.zip" -Name "android-sdk-tools.zip"
|
||||||
@@ -42,15 +43,26 @@ $sdkManager = "$sdkRoot\tools\bin\sdkmanager.bat"
|
|||||||
|
|
||||||
& $sdkManager --sdk_root=$sdkRoot "platform-tools"
|
& $sdkManager --sdk_root=$sdkRoot "platform-tools"
|
||||||
|
|
||||||
Install-AndroidSDKPackages -AndroidSDKManagerPath $sdkManager `
|
# get packages info
|
||||||
-AndroidSDKRootPath $sdkRoot `
|
$androidPackages = & $sdkManager --list --verbose 2>&1
|
||||||
-AndroidPackages $androidToolset.platform_list `
|
|
||||||
-PrefixPackageName "platforms;"
|
# platforms
|
||||||
|
[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
|
||||||
|
|
||||||
|
# build-tools
|
||||||
|
[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
|
||||||
|
|
||||||
Install-AndroidSDKPackages -AndroidSDKManagerPath $sdkManager `
|
Install-AndroidSDKPackages -AndroidSDKManagerPath $sdkManager `
|
||||||
-AndroidSDKRootPath $sdkRoot `
|
-AndroidSDKRootPath $sdkRoot `
|
||||||
-AndroidPackages $androidToolset.build_tools `
|
-AndroidPackages $platformList
|
||||||
-PrefixPackageName "build-tools;"
|
|
||||||
|
Install-AndroidSDKPackages -AndroidSDKManagerPath $sdkManager `
|
||||||
|
-AndroidSDKRootPath $sdkRoot `
|
||||||
|
-AndroidPackages $buildToolsList
|
||||||
|
|
||||||
Install-AndroidSDKPackages -AndroidSDKManagerPath $sdkManager `
|
Install-AndroidSDKPackages -AndroidSDKManagerPath $sdkManager `
|
||||||
-AndroidSDKRootPath $sdkRoot `
|
-AndroidSDKRootPath $sdkRoot `
|
||||||
|
|||||||
@@ -31,6 +31,11 @@ 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
|
||||||
|
|||||||
@@ -2,16 +2,21 @@ 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
|
||||||
$androidInstalledPackages = Get-AndroidInstalledPackages
|
$androidInstalledPackages = Get-AndroidInstalledPackages
|
||||||
|
|
||||||
$platformTestCases = @()
|
$platformTestCases = @()
|
||||||
$platformList = $androidToolset.platform_list
|
[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 | ForEach-Object {
|
$platformList | ForEach-Object {
|
||||||
$platformTestCases += @{ platformVersion = $_; installedPackages = $androidInstalledPackages }
|
$platformTestCases += @{ platformVersion = $_; installedPackages = $androidInstalledPackages }
|
||||||
}
|
}
|
||||||
|
|
||||||
$buildToolsTestCases = @()
|
$buildToolsTestCases = @()
|
||||||
$buildToolsList = $androidToolset.build_tools
|
[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 | ForEach-Object {
|
$buildToolsList | ForEach-Object {
|
||||||
$buildToolsTestCases += @{ buildToolsVersion = $_; installedPackages = $androidInstalledPackages }
|
$buildToolsTestCases += @{ buildToolsVersion = $_; installedPackages = $androidInstalledPackages }
|
||||||
}
|
}
|
||||||
@@ -35,14 +40,14 @@ Describe "Android SDK" {
|
|||||||
}
|
}
|
||||||
|
|
||||||
It "Platform version <platformVersion> is installed" -TestCases $platformTestCases {
|
It "Platform version <platformVersion> is installed" -TestCases $platformTestCases {
|
||||||
"$installedPackages" | Should -Match "platforms;$platformVersion"
|
"$installedPackages" | Should -Match "$platformVersion"
|
||||||
}
|
}
|
||||||
|
|
||||||
It "Platform build tools <buildToolsVersion> is installed" -TestCases $buildToolsTestCases {
|
It "Platform build tools <buildToolsVersion> is installed" -TestCases $buildToolsTestCases {
|
||||||
"$installedPackages" | Should -Match "build-tools;$buildToolsVersion"
|
"$installedPackages" | Should -Match "$buildToolsVersion"
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Test-isWin19) {
|
if (Test-IsWin19) {
|
||||||
It "Extra package <extraPackage> is installed" -TestCases $extraPackagesTestCases {
|
It "Extra package <extraPackage> is installed" -TestCases $extraPackagesTestCases {
|
||||||
"$installedPackages" | Should -Match "extras;$extraPackage"
|
"$installedPackages" | Should -Match "extras;$extraPackage"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -127,12 +127,8 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"android": {
|
"android": {
|
||||||
"platform_list": [
|
"platform_min_version": "19",
|
||||||
"android-30", "android-29", "android-28", "android-27", "android-26", "android-25", "android-24", "android-23", "android-22", "android-21", "android-19"
|
"build_tools_min_version": "19.1.0",
|
||||||
],
|
|
||||||
"build_tools": [
|
|
||||||
"30.0.2", "30.0.1", "30.0.0", "29.0.3", "29.0.2", "29.0.1", "29.0.0", "28.0.3", "28.0.2", "28.0.1", "28.0.0", "27.0.3", "27.0.2", "27.0.1", "27.0.0", "26.0.3", "26.0.2", "26.0.1", "26.0.0", "25.0.3", "25.0.2", "25.0.1", "25.0.0", "24.0.3", "24.0.2", "24.0.1", "24.0.0", "23.0.3", "23.0.2", "23.0.1", "22.0.1", "21.1.2", "20.0.0", "19.1.0"
|
|
||||||
],
|
|
||||||
"extra_list": [
|
"extra_list": [
|
||||||
"android;m2repository",
|
"android;m2repository",
|
||||||
"google;m2repository",
|
"google;m2repository",
|
||||||
|
|||||||
@@ -136,12 +136,8 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"android": {
|
"android": {
|
||||||
"platform_list": [
|
"platform_min_version": "19",
|
||||||
"android-30", "android-29", "android-28", "android-27", "android-26", "android-25", "android-24", "android-23", "android-22", "android-21", "android-19"
|
"build_tools_min_version": "19.1.0",
|
||||||
],
|
|
||||||
"build_tools": [
|
|
||||||
"30.0.2", "30.0.1", "30.0.0", "29.0.3", "29.0.2", "29.0.1", "29.0.0", "28.0.3", "28.0.2", "28.0.1", "28.0.0", "27.0.3", "27.0.2", "27.0.1", "27.0.0", "26.0.3", "26.0.2", "26.0.1", "26.0.0", "25.0.3", "25.0.2", "25.0.1", "25.0.0", "24.0.3", "24.0.2", "24.0.1", "24.0.0", "23.0.3", "23.0.2", "23.0.1", "22.0.1", "21.1.2", "20.0.0", "19.1.0"
|
|
||||||
],
|
|
||||||
"extra_list": [
|
"extra_list": [
|
||||||
"android;m2repository",
|
"android;m2repository",
|
||||||
"google;m2repository",
|
"google;m2repository",
|
||||||
|
|||||||
Reference in New Issue
Block a user