mirror of
https://github.com/actions/runner-images-sangeeth.git
synced 2025-12-20 06:29:50 +00:00
Merge pull request #1701 from dmitry-shibanov/v-dmshib/android-tools-dynamic-macOS
[macOS] Retrieve the list of Android packages for installing dynamically
This commit is contained in:
@@ -1,8 +1,26 @@
|
||||
#!/bin/bash -e
|
||||
source ~/utils/utils.sh
|
||||
|
||||
ANDROID_PLATFORM_LIST=($(get_toolset_value '.android."platform-list"[]'))
|
||||
ANDROID_BUILD_TOOLS=($(get_toolset_value '.android."build-tools"[]'))
|
||||
function filter_components_by_version {
|
||||
minimumVersion=$1
|
||||
shift
|
||||
toolsArr=("$@")
|
||||
|
||||
for item in ${toolsArr[@]}
|
||||
do
|
||||
# take the last argument after spliting string by ';'' and '-''
|
||||
version=$(echo "${item##*[-;]}")
|
||||
if verlte $minimumVersion $version
|
||||
then
|
||||
components+=($item)
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
components=()
|
||||
|
||||
ANDROID_PLATFORM=($(get_toolset_value '.android.platform_min_version'))
|
||||
ANDROID_BUILD_TOOL=($(get_toolset_value '.android.build_tools_min_version'))
|
||||
ANDROID_EXTRA_LIST=($(get_toolset_value '.android."extra-list"[]'))
|
||||
ANDROID_ADDON_LIST=($(get_toolset_value '.android."addon-list"[]'))
|
||||
|
||||
@@ -48,17 +66,14 @@ echo y | $SDKMANAGER "cmake;3.6.4111459"
|
||||
echo "Installing latest ndk..."
|
||||
echo y | $SDKMANAGER "ndk-bundle"
|
||||
|
||||
for platform_name in "${ANDROID_PLATFORM_LIST[@]}"
|
||||
do
|
||||
echo "Installing platform $platform_name ..."
|
||||
echo y | $SDKMANAGER "platforms;$platform_name"
|
||||
done
|
||||
availablePlatforms=($(${ANDROID_HOME}/tools/bin/sdkmanager --list | grep "platforms;android-" | cut -d"|" -f 1 | sort -u))
|
||||
filter_components_by_version $ANDROID_PLATFORM "${availablePlatforms[@]}"
|
||||
|
||||
for build_tools_version in "${ANDROID_BUILD_TOOLS[@]}"
|
||||
do
|
||||
echo "Installing build tools $build_tools_version ..."
|
||||
echo y | $SDKMANAGER "build-tools;$build_tools_version"
|
||||
done
|
||||
allBuildTools=($(${ANDROID_HOME}/tools/bin/sdkmanager --list --include_obsolete | grep "build-tools;" | cut -d"|" -f 1 | sort -u))
|
||||
availableBuildTools=$(echo ${allBuildTools[@]//*rc[0-9]/})
|
||||
filter_components_by_version $ANDROID_BUILD_TOOL "${availableBuildTools[@]}"
|
||||
|
||||
echo "y" | ${ANDROID_HOME}/tools/bin/sdkmanager ${components[@]}
|
||||
|
||||
for extra_name in "${ANDROID_EXTRA_LIST[@]}"
|
||||
do
|
||||
|
||||
@@ -92,3 +92,8 @@ get_latest_xcode_from_toolset() {
|
||||
get_default_xcode_from_toolset() {
|
||||
echo $(get_toolset_value '.xcode.default')
|
||||
}
|
||||
|
||||
verlte() {
|
||||
sortedVersion=$(echo -e "$1\n$2" | sort -V | head -n1)
|
||||
[ "$1" = "$sortedVersion" ]
|
||||
}
|
||||
@@ -28,6 +28,11 @@ function Get-AndroidInstalledPackages {
|
||||
return $androidInstalledPackages
|
||||
}
|
||||
|
||||
function Get-AndroidPackages {
|
||||
$androidSDKManagerPath = Get-AndroidSDKManagerPath
|
||||
$androidPackages = & $androidSDKManagerPath --list --verbose
|
||||
return $androidPackages
|
||||
}
|
||||
|
||||
function Build-AndroidTable {
|
||||
Write-Host "Build-AndroidTable"
|
||||
|
||||
@@ -1,10 +1,22 @@
|
||||
Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
|
||||
Import-Module "$PSScriptRoot/../helpers/Tests.Helpers.psm1"
|
||||
Import-Module "$PSScriptRoot/../software-report/SoftwareReport.Android.psm1"
|
||||
|
||||
$os = Get-OSVersion
|
||||
|
||||
Describe "Android" {
|
||||
$androidNdkToolchains = @("mips64el-linux-android-4.9", "mipsel-linux-android-4.9")
|
||||
$androidSdkManagerPackages = Get-AndroidPackages
|
||||
[int]$platformMinVersion = Get-ToolsetValue "android.platform_min_version"
|
||||
[version]$buildToolsMinVersion = Get-ToolsetValue "android.build_tools_min_version"
|
||||
|
||||
$platforms = (($androidSdkManagerPackages | Where-Object { "$_".StartsWith("platforms;") }) -replace 'platforms;', '' |
|
||||
Where-Object { [int]$_.Split("-")[1] -ge $platformMinVersion } | Sort-Object { [int]$_.Split("-")[1] } -Unique |
|
||||
ForEach-Object { "platforms/${_}" })
|
||||
|
||||
$buildTools = (($androidSdkManagerPackages | Where-Object { "$_".StartsWith("build-tools;") }) -replace 'build-tools;', '' |
|
||||
Where-Object { [version]$_ -ge $buildToolsMinVersion } | Sort-Object { [version]$_ } -Unique |
|
||||
ForEach-Object { "build-tools/${_}" })
|
||||
|
||||
$androidPackages = @(
|
||||
"tools",
|
||||
@@ -12,8 +24,8 @@ Describe "Android" {
|
||||
"tools/proguard",
|
||||
"ndk-bundle",
|
||||
"cmake",
|
||||
(Get-ToolsetValue "android.platform-list" | ForEach-Object { "platforms/${_}" }),
|
||||
(Get-ToolsetValue "android.build-tools" | ForEach-Object { "build-tools/${_}" }),
|
||||
$platforms,
|
||||
$buildTools,
|
||||
(Get-ToolsetValue "android.extra-list" | ForEach-Object { "extras/${_}" }),
|
||||
(Get-ToolsetValue "android.addon-list" | ForEach-Object { "add-ons/${_}" })
|
||||
) | ForEach-Object { $_ }
|
||||
|
||||
@@ -170,12 +170,8 @@
|
||||
]
|
||||
},
|
||||
"android": {
|
||||
"platform-list": [
|
||||
"android-30", "android-29", "android-28", "android-27", "android-26", "android-25", "android-24", "android-23", "android-22", "android-21", "android-20", "android-19", "android-18", "android-17", "android-16", "android-15"
|
||||
],
|
||||
"build-tools": [
|
||||
"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", "23.0.0", "22.0.1", "21.1.2", "20.0.0", "19.1.0", "17.0.0"
|
||||
],
|
||||
"platform_min_version": "15",
|
||||
"build_tools_min_version": "17.0.0",
|
||||
"extra-list": [
|
||||
"android;m2repository", "google;m2repository", "google;google_play_services", "intel;Hardware_Accelerated_Execution_Manager", "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta1", "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta2", "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta3", "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta4", "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta5", "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0", "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.1", "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.2", "m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta1", "m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta2", "m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta3", "m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta4", "m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta5", "m2repository;com;android;support;constraint;constraint-layout;1.0.0", "m2repository;com;android;support;constraint;constraint-layout;1.0.1", "m2repository;com;android;support;constraint;constraint-layout;1.0.2"
|
||||
],
|
||||
|
||||
@@ -191,12 +191,8 @@
|
||||
]
|
||||
},
|
||||
"android": {
|
||||
"platform-list": [
|
||||
"android-30", "android-29", "android-28", "android-27", "android-26", "android-25", "android-24", "android-23", "android-22", "android-21", "android-20", "android-19", "android-18", "android-17", "android-16", "android-15"
|
||||
],
|
||||
"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", "23.0.0", "22.0.1", "21.1.2", "20.0.0", "19.1.0", "17.0.0"
|
||||
],
|
||||
"platform_min_version": "15",
|
||||
"build_tools_min_version": "17.0.0",
|
||||
"extra-list": [
|
||||
"android;m2repository", "google;m2repository", "google;google_play_services", "intel;Hardware_Accelerated_Execution_Manager", "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta1", "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta2", "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta3", "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta4", "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta5", "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0", "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.1", "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.2", "m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta1", "m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta2", "m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta3", "m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta4", "m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta5", "m2repository;com;android;support;constraint;constraint-layout;1.0.0", "m2repository;com;android;support;constraint;constraint-layout;1.0.1", "m2repository;com;android;support;constraint;constraint-layout;1.0.2"
|
||||
],
|
||||
|
||||
@@ -100,12 +100,8 @@
|
||||
]
|
||||
},
|
||||
"android": {
|
||||
"platform-list": [
|
||||
"android-30", "android-29", "android-28", "android-27", "android-26", "android-25", "android-24"
|
||||
],
|
||||
"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"
|
||||
],
|
||||
"platform_min_version": "24",
|
||||
"build_tools_min_version": "24.0.0",
|
||||
"extra-list": [
|
||||
"android;m2repository", "google;m2repository", "google;google_play_services", "intel;Hardware_Accelerated_Execution_Manager", "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta1", "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta2", "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta3", "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta4", "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta5", "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0", "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.1", "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.2", "m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta1", "m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta2", "m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta3", "m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta4", "m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta5", "m2repository;com;android;support;constraint;constraint-layout;1.0.0", "m2repository;com;android;support;constraint;constraint-layout;1.0.1", "m2repository;com;android;support;constraint;constraint-layout;1.0.2"
|
||||
],
|
||||
|
||||
@@ -44,12 +44,8 @@
|
||||
]
|
||||
},
|
||||
"android": {
|
||||
"platform-list": [
|
||||
"android-30", "android-29", "android-28", "android-27"
|
||||
],
|
||||
"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"
|
||||
],
|
||||
"platform_min_version": "27",
|
||||
"build_tools_min_version": "27.0.0",
|
||||
"extra-list": [
|
||||
"android;m2repository", "google;m2repository", "google;google_play_services", "intel;Hardware_Accelerated_Execution_Manager"
|
||||
],
|
||||
|
||||
Reference in New Issue
Block a user