From 29ef51400fde24a8cdffd135015a8d73b3babf33 Mon Sep 17 00:00:00 2001 From: Mikhail Timofeev Date: Thu, 28 Jul 2022 13:50:58 +0400 Subject: [PATCH] Add ndk-related environment variables --- images/macos/provision/core/android-toolsets.sh | 7 +++++++ .../macos/software-report/SoftwareReport.Android.psm1 | 10 ++++++++-- images/macos/toolsets/toolset-10.15.json | 1 + images/macos/toolsets/toolset-11.json | 1 + images/macos/toolsets/toolset-12.json | 1 + 5 files changed, 18 insertions(+), 2 deletions(-) diff --git a/images/macos/provision/core/android-toolsets.sh b/images/macos/provision/core/android-toolsets.sh index c20dc7d77dec..ff5362fc49af 100755 --- a/images/macos/provision/core/android-toolsets.sh +++ b/images/macos/provision/core/android-toolsets.sh @@ -32,6 +32,7 @@ ANDROID_EXTRA_LIST=($(get_toolset_value '.android."extra-list"[]')) ANDROID_ADDON_LIST=($(get_toolset_value '.android."addon-list"[]')) ANDROID_ADDITIONAL_TOOLS=($(get_toolset_value '.android."additional-tools"[]')) ANDROID_NDK_MAJOR_VERSIONS=($(get_toolset_value '.android.ndk."versions"[]')) +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 cmdlineToolsVersion=$(get_toolset_value '.android."cmdline-tools"') @@ -81,8 +82,14 @@ do echo y | $SDKMANAGER "ndk;$ndk_full_version" done +ndkDefault=$(get_full_ndk_version $ANDROID_NDK_MAJOR_DEFAULT) +ANDROID_NDK_HOME=$ANDROID_HOME/ndk/$ndkDefault ndkLatest=$(get_full_ndk_version $ANDROID_NDK_MAJOR_LATEST) ANDROID_NDK_LATEST_HOME=$ANDROID_HOME/ndk/$ndkLatest +# ANDROID_NDK, ANDROID_NDK_HOME, and ANDROID_NDK_LATEST_HOME variables should be set as many customer builds depend on them https://github.com/actions/virtual-environments/issues/5879 +echo "export ANDROID_NDK=$ANDROID_NDK_HOME" >> "${HOME}/.bashrc" +echo "export ANDROID_NDK_HOME=$ANDROID_NDK_HOME" >> "${HOME}/.bashrc" +echo "export ANDROID_NDK_ROOT=$ANDROID_NDK_HOME" >> "${HOME}/.bashrc" echo "export ANDROID_NDK_LATEST_HOME=$ANDROID_NDK_LATEST_HOME" >> "${HOME}/.bashrc" availablePlatforms=($($SDKMANAGER --list | grep "platforms;android-[0-9]" | cut -d"|" -f 1 | sort -u)) diff --git a/images/macos/software-report/SoftwareReport.Android.psm1 b/images/macos/software-report/SoftwareReport.Android.psm1 index 97b961483a9e..e2db090fd229 100644 --- a/images/macos/software-report/SoftwareReport.Android.psm1 +++ b/images/macos/software-report/SoftwareReport.Android.psm1 @@ -96,7 +96,7 @@ function Build-AndroidTable { function Build-AndroidEnvironmentTable { $androidVersions = Get-Item env:ANDROID_* - $shoulddResolveLink = 'ANDROID_NDK_LATEST_HOME' + $shoulddResolveLink = 'ANDROID_NDK', 'ANDROID_NDK_HOME', 'ANDROID_NDK_ROOT', 'ANDROID_NDK_LATEST_HOME' return $androidVersions | Sort-Object -Property Name | ForEach-Object { [PSCustomObject] @{ "Name" = $_.Name @@ -177,7 +177,13 @@ function Get-AndroidGoogleAPIsVersions { function Get-AndroidNDKVersions { $ndkFolderPath = Join-Path (Get-AndroidSDKRoot) "ndk" $versions += Get-ChildItem -Path $ndkFolderPath -Name - return ($versions | Join-String -Separator "
") + $ndkDefaultVersion = Get-ToolsetValue "android.ndk.default" + $ndkDefaultFullVersion = Get-ChildItem "$env:ANDROID_HOME/ndk/$ndkDefaultVersion.*" -Name | Select-Object -Last 1 + + return ($versions | ForEach-Object { + $defaultPostfix = ( $_ -eq $ndkDefaultFullVersion ) ? " (default)" : "" + $_ + $defaultPostfix + } | Join-String -Separator "
") } function Get-IntelHaxmVersion { diff --git a/images/macos/toolsets/toolset-10.15.json b/images/macos/toolsets/toolset-10.15.json index 76e6810da727..a31f1c612385 100644 --- a/images/macos/toolsets/toolset-10.15.json +++ b/images/macos/toolsets/toolset-10.15.json @@ -179,6 +179,7 @@ "cmake;3.18.1" ], "ndk": { + "default": "25", "versions": [ "23", "24", "25" ] diff --git a/images/macos/toolsets/toolset-11.json b/images/macos/toolsets/toolset-11.json index 290542b79ddd..c79617d6d3a0 100644 --- a/images/macos/toolsets/toolset-11.json +++ b/images/macos/toolsets/toolset-11.json @@ -178,6 +178,7 @@ "cmake;3.22.1" ], "ndk": { + "default": "25", "versions": [ "23", "24", "25" ] diff --git a/images/macos/toolsets/toolset-12.json b/images/macos/toolsets/toolset-12.json index a098a1e0c63d..a2473b211299 100644 --- a/images/macos/toolsets/toolset-12.json +++ b/images/macos/toolsets/toolset-12.json @@ -113,6 +113,7 @@ "cmake;3.22.1" ], "ndk": { + "default": "25", "versions": [ "23", "24", "25" ]