mirror of
https://github.com/actions/runner-images-sangeeth.git
synced 2025-12-20 06:29:50 +00:00
[macOS] Add Android NDK r23 (#4032)
This commit is contained in:
@@ -26,13 +26,14 @@ function get_full_ndk_version {
|
|||||||
|
|
||||||
components=()
|
components=()
|
||||||
|
|
||||||
ANDROID_PLATFORM=($(get_toolset_value '.android.platform_min_version'))
|
ANDROID_PLATFORM=$(get_toolset_value '.android.platform_min_version')
|
||||||
ANDROID_BUILD_TOOL=($(get_toolset_value '.android.build_tools_min_version'))
|
ANDROID_BUILD_TOOL=$(get_toolset_value '.android.build_tools_min_version')
|
||||||
ANDROID_EXTRA_LIST=($(get_toolset_value '.android."extra-list"[]'))
|
ANDROID_EXTRA_LIST=($(get_toolset_value '.android."extra-list"[]'))
|
||||||
ANDROID_ADDON_LIST=($(get_toolset_value '.android."addon-list"[]'))
|
ANDROID_ADDON_LIST=($(get_toolset_value '.android."addon-list"[]'))
|
||||||
ANDROID_ADDITIONAL_TOOLS=($(get_toolset_value '.android."additional-tools"[]'))
|
ANDROID_ADDITIONAL_TOOLS=($(get_toolset_value '.android."additional-tools"[]'))
|
||||||
ANDROID_NDK_MAJOR_LTS=($(get_toolset_value '.android.ndk.lts'))
|
ANDROID_NDK_MAJOR_VERSIONS=($(get_toolset_value '.android.ndk."versions"[]'))
|
||||||
ANDROID_NDK_MAJOR_LATEST=($(get_toolset_value '.android.ndk.latest'))
|
ANDROID_NDK_MAJOR_DEFAULT=$(get_toolset_value '.android.ndk.default')
|
||||||
|
ANDROID_NDK_MAJOR_LATEST=$(get_toolset_value '.android.ndk."versions"[-1]')
|
||||||
# Get the latest command line tools from https://developer.android.com/studio#cmdline-tools
|
# Get the latest command line tools from https://developer.android.com/studio#cmdline-tools
|
||||||
ANDROID_OSX_SDK_URL="https://dl.google.com/android/repository/commandlinetools-mac-7302050_latest.zip"
|
ANDROID_OSX_SDK_URL="https://dl.google.com/android/repository/commandlinetools-mac-7302050_latest.zip"
|
||||||
ANDROID_HOME=$HOME/Library/Android/sdk
|
ANDROID_HOME=$HOME/Library/Android/sdk
|
||||||
@@ -59,13 +60,17 @@ echo "Installing latest tools & platform tools..."
|
|||||||
echo y | $SDKMANAGER "tools" "platform-tools"
|
echo y | $SDKMANAGER "tools" "platform-tools"
|
||||||
|
|
||||||
echo "Installing latest ndk..."
|
echo "Installing latest ndk..."
|
||||||
ndkLtsLatest=$(get_full_ndk_version $ANDROID_NDK_MAJOR_LTS)
|
for ndk_version in "${ANDROID_NDK_MAJOR_VERSIONS[@]}"
|
||||||
ndkLatest=$(get_full_ndk_version $ANDROID_NDK_MAJOR_LATEST)
|
do
|
||||||
echo y | $SDKMANAGER "ndk;$ndkLtsLatest" "ndk;$ndkLatest"
|
ndk_full_version=$(get_full_ndk_version $ndk_version)
|
||||||
|
echo y | $SDKMANAGER "ndk;$ndk_full_version"
|
||||||
|
done
|
||||||
# This changes were added due to incompatibility with android ndk-bundle (ndk;22.0.7026061).
|
# This changes were added due to incompatibility with android ndk-bundle (ndk;22.0.7026061).
|
||||||
# Link issue virtual-environments: https://github.com/actions/virtual-environments/issues/2481
|
# Link issue virtual-environments: https://github.com/actions/virtual-environments/issues/2481
|
||||||
# Link issue xamarin-android: https://github.com/xamarin/xamarin-android/issues/5526
|
# Link issue xamarin-android: https://github.com/xamarin/xamarin-android/issues/5526
|
||||||
ln -s $ANDROID_HOME/ndk/$ndkLtsLatest $ANDROID_HOME/ndk-bundle
|
ndkDefault=$(get_full_ndk_version $ANDROID_NDK_MAJOR_DEFAULT)
|
||||||
|
ndkLatest=$(get_full_ndk_version $ANDROID_NDK_MAJOR_LATEST)
|
||||||
|
ln -s $ANDROID_HOME/ndk/$ndkDefault $ANDROID_HOME/ndk-bundle
|
||||||
ANDROID_NDK_LATEST_HOME=$ANDROID_HOME/ndk/$ndkLatest
|
ANDROID_NDK_LATEST_HOME=$ANDROID_HOME/ndk/$ndkLatest
|
||||||
echo "export ANDROID_NDK_LATEST_HOME=$ANDROID_NDK_LATEST_HOME" >> "${HOME}/.bashrc"
|
echo "export ANDROID_NDK_LATEST_HOME=$ANDROID_NDK_LATEST_HOME" >> "${HOME}/.bashrc"
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
Import-Module "$PSScriptRoot/../helpers/SoftwareReport.Helpers.psm1" -DisableNameChecking
|
Import-Module "$PSScriptRoot/../helpers/SoftwareReport.Helpers.psm1" -DisableNameChecking
|
||||||
|
Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
|
||||||
|
|
||||||
function Split-TableRowByColumns {
|
function Split-TableRowByColumns {
|
||||||
param(
|
param(
|
||||||
@@ -184,8 +185,13 @@ function Get-AndroidNDKVersions {
|
|||||||
|
|
||||||
$ndkFolderPath = Join-Path (Get-AndroidSDKRoot) "ndk"
|
$ndkFolderPath = Join-Path (Get-AndroidSDKRoot) "ndk"
|
||||||
$versions += Get-ChildItem -Path $ndkFolderPath -Name
|
$versions += Get-ChildItem -Path $ndkFolderPath -Name
|
||||||
|
$ndkDefaultVersion = Get-ToolsetValue "android.ndk.default"
|
||||||
|
$ndkDefaultFullVersion = Get-ChildItem "$env:ANDROID_HOME/ndk/$ndkDefaultVersion.*" -Name | Select-Object -Last 1
|
||||||
|
|
||||||
return ($versions -Join "<br>")
|
return ($versions | ForEach-Object {
|
||||||
|
$defaultPostfix = ( $_ -eq $ndkDefaultFullVersion ) ? " (default)" : ""
|
||||||
|
$_ + $defaultPostfix
|
||||||
|
} | Join-String -Separator "<br>")
|
||||||
}
|
}
|
||||||
|
|
||||||
function Get-IntelHaxmVersion {
|
function Get-IntelHaxmVersion {
|
||||||
|
|||||||
@@ -8,10 +8,10 @@ Describe "Android" {
|
|||||||
$androidSdkManagerPackages = Get-AndroidPackages
|
$androidSdkManagerPackages = Get-AndroidPackages
|
||||||
[int]$platformMinVersion = Get-ToolsetValue "android.platform_min_version"
|
[int]$platformMinVersion = Get-ToolsetValue "android.platform_min_version"
|
||||||
[version]$buildToolsMinVersion = Get-ToolsetValue "android.build_tools_min_version"
|
[version]$buildToolsMinVersion = Get-ToolsetValue "android.build_tools_min_version"
|
||||||
[string]$ndkLatestVersion = Get-ToolsetValue "android.ndk.latest"
|
[array]$ndkVersions = Get-ToolsetValue "android.ndk.versions"
|
||||||
[string]$ndkLtsVersion = Get-ToolsetValue "android.ndk.lts"
|
[string]$ndkDefaultVersion = Get-ToolsetValue "android.ndk.default"
|
||||||
$ndkLatestFullVersion = (Get-ChildItem "$env:ANDROID_HOME/ndk/$ndkLatestVersion.*" | Select-Object -Last 1).Name
|
$ndkFullVersions = $ndkVersions | ForEach-Object { Get-ChildItem "$env:ANDROID_HOME/ndk/${_}.*" -Name | Select-Object -Last 1} | ForEach-Object { "ndk/${_}" }
|
||||||
$ndkLtsFullVersion = (Get-ChildItem "$env:ANDROID_HOME/ndk/$ndkLtsVersion.*" | Select-Object -Last 1).Name
|
$ndkDefaultFullVersion = Get-ChildItem "$env:ANDROID_HOME/ndk/$ndkDefaultVersion.*" -Name | Select-Object -Last 1
|
||||||
|
|
||||||
$platformVersionsList = ($androidSdkManagerPackages | Where-Object { "$_".StartsWith("platforms;") }) -replace 'platforms;android-', ''
|
$platformVersionsList = ($androidSdkManagerPackages | Where-Object { "$_".StartsWith("platforms;") }) -replace 'platforms;android-', ''
|
||||||
$platformNumericList = $platformVersionsList | Where-Object { $_ -match "\d+" } | Where-Object { [int]$_ -ge $platformMinVersion } | Sort-Object -Unique
|
$platformNumericList = $platformVersionsList | Where-Object { $_ -match "\d+" } | Where-Object { [int]$_ -ge $platformMinVersion } | Sort-Object -Unique
|
||||||
@@ -28,10 +28,9 @@ Describe "Android" {
|
|||||||
"tools/proguard",
|
"tools/proguard",
|
||||||
"ndk-bundle",
|
"ndk-bundle",
|
||||||
"cmake",
|
"cmake",
|
||||||
"ndk/$ndkLatestFullVersion",
|
|
||||||
"ndk/$ndkLtsFullVersion",
|
|
||||||
$platforms,
|
$platforms,
|
||||||
$buildTools,
|
$buildTools,
|
||||||
|
$ndkFullVersions,
|
||||||
(Get-ToolsetValue "android.extra-list" | ForEach-Object { "extras/${_}" }),
|
(Get-ToolsetValue "android.extra-list" | ForEach-Object { "extras/${_}" }),
|
||||||
(Get-ToolsetValue "android.addon-list" | ForEach-Object { "add-ons/${_}" }),
|
(Get-ToolsetValue "android.addon-list" | ForEach-Object { "add-ons/${_}" }),
|
||||||
(Get-ToolsetValue "android.additional-tools")
|
(Get-ToolsetValue "android.additional-tools")
|
||||||
@@ -76,11 +75,18 @@ Describe "Android" {
|
|||||||
|
|
||||||
Context "Packages" {
|
Context "Packages" {
|
||||||
$testCases = $androidPackages | ForEach-Object { @{ PackageName = $_ } }
|
$testCases = $androidPackages | ForEach-Object { @{ PackageName = $_ } }
|
||||||
|
$defaultNdkTestCase = @{ NdkDefaultFullVersion = $ndkDefaultFullVersion }
|
||||||
|
|
||||||
It "<PackageName>" -TestCases $testCases {
|
It "<PackageName>" -TestCases $testCases {
|
||||||
param ([string] $PackageName)
|
param ([string] $PackageName)
|
||||||
Validate-AndroidPackage $PackageName
|
Validate-AndroidPackage $PackageName
|
||||||
}
|
}
|
||||||
|
|
||||||
|
It "ndk-bundle points to the default NDK version" -TestCases $defaultNdkTestCase {
|
||||||
|
$ndkLinkTarget = (Get-Item $env:ANDROID_NDK_HOME).Target
|
||||||
|
$ndkVersion = Split-Path -Path $ndkLinkTarget -Leaf
|
||||||
|
$ndkVersion | Should -BeExactly $NdkDefaultFullVersion
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
It "HAXM is installed" -Skip:($os.IsBigSur) {
|
It "HAXM is installed" -Skip:($os.IsBigSur) {
|
||||||
|
|||||||
@@ -215,8 +215,10 @@
|
|||||||
"cmake;3.18.1"
|
"cmake;3.18.1"
|
||||||
],
|
],
|
||||||
"ndk": {
|
"ndk": {
|
||||||
"lts": "21",
|
"default": "21",
|
||||||
"latest": "22"
|
"versions": [
|
||||||
|
"21", "22", "23"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"powershellModules": [
|
"powershellModules": [
|
||||||
|
|||||||
@@ -167,8 +167,10 @@
|
|||||||
"cmake;3.18.1"
|
"cmake;3.18.1"
|
||||||
],
|
],
|
||||||
"ndk": {
|
"ndk": {
|
||||||
"lts": "21",
|
"default": "21",
|
||||||
"latest": "22"
|
"versions": [
|
||||||
|
"21", "22", "23"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"powershellModules": [
|
"powershellModules": [
|
||||||
|
|||||||
@@ -115,8 +115,10 @@
|
|||||||
"cmake;3.18.1"
|
"cmake;3.18.1"
|
||||||
],
|
],
|
||||||
"ndk": {
|
"ndk": {
|
||||||
"lts": "21",
|
"default": "21",
|
||||||
"latest": "22"
|
"versions": [
|
||||||
|
"21", "22", "23"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"powershellModules": [
|
"powershellModules": [
|
||||||
|
|||||||
Reference in New Issue
Block a user