From cd98711e9dbb26c69b8cfc9ebbec182d8e899f4c Mon Sep 17 00:00:00 2001
From: Mikhail Timofeev <48208649+miketimofeev@users.noreply.github.com>
Date: Thu, 28 Jul 2022 18:08:57 +0400
Subject: [PATCH] Add ndk-related environment variables to ubuntu (#5983)
---
.../scripts/SoftwareReport/SoftwareReport.Android.psm1 | 10 ++++++++--
images/linux/scripts/installers/android.sh | 7 +++++++
images/linux/toolsets/toolset-1804.json | 1 +
images/linux/toolsets/toolset-2004.json | 1 +
images/linux/toolsets/toolset-2204.json | 1 +
5 files changed, 18 insertions(+), 2 deletions(-)
diff --git a/images/linux/scripts/SoftwareReport/SoftwareReport.Android.psm1 b/images/linux/scripts/SoftwareReport/SoftwareReport.Android.psm1
index 2c84696c4..b7ce2b8e1 100644
--- a/images/linux/scripts/SoftwareReport/SoftwareReport.Android.psm1
+++ b/images/linux/scripts/SoftwareReport/SoftwareReport.Android.psm1
@@ -156,13 +156,19 @@ 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 Build-AndroidEnvironmentTable {
$androidVersions = Get-Item env:ANDROID_*
- $shouldResolveLink = 'ANDROID_NDK_LATEST_HOME'
+ $shouldResolveLink = 'ANDROID_NDK', 'ANDROID_NDK_HOME', 'ANDROID_NDK_ROOT', 'ANDROID_NDK_LATEST_HOME'
return $androidVersions | Sort-Object -Property Name | ForEach-Object {
[PSCustomObject] @{
"Name" = $_.Name
diff --git a/images/linux/scripts/installers/android.sh b/images/linux/scripts/installers/android.sh
index 1d5d3d7ea..1a34bf2f0 100644
--- a/images/linux/scripts/installers/android.sh
+++ b/images/linux/scripts/installers/android.sh
@@ -84,6 +84,7 @@ extras=$(get_toolset_value '.android.extra_list[]|"extras;" + .')
addons=$(get_toolset_value '.android.addon_list[]|"add-ons;" + .')
additional=$(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')
components=("${extras[@]}" "${addons[@]}" "${additional[@]}")
for ndk_version in "${ANDROID_NDK_MAJOR_VERSIONS[@]}"
@@ -93,7 +94,13 @@ do
done
ANDROID_NDK_MAJOR_LATEST=(${ANDROID_NDK_MAJOR_VERSIONS[-1]})
+ndkDefaultFullVersion=$(get_full_ndk_version $ANDROID_NDK_MAJOR_DEFAULT)
ndkLatestFullVersion=$(get_full_ndk_version $ANDROID_NDK_MAJOR_LATEST)
+ANDROID_NDK="$ANDROID_SDK_ROOT/ndk/$ndkDefaultFullVersion"
+# 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 "ANDROID_NDK=${ANDROID_NDK}" | tee -a /etc/environment
+echo "ANDROID_NDK_HOME=${ANDROID_NDK}" | tee -a /etc/environment
+echo "ANDROID_NDK_ROOT=${ANDROID_NDK}" | tee -a /etc/environment
echo "ANDROID_NDK_LATEST_HOME=$ANDROID_SDK_ROOT/ndk/$ndkLatestFullVersion" | tee -a /etc/environment
availablePlatforms=($($SDKMANAGER --list | sed -n '/Available Packages:/,/^$/p' | grep "platforms;android-[0-9]" | cut -d"|" -f 1))
diff --git a/images/linux/toolsets/toolset-1804.json b/images/linux/toolsets/toolset-1804.json
index 9c268c2ed..264c6d96a 100644
--- a/images/linux/toolsets/toolset-1804.json
+++ b/images/linux/toolsets/toolset-1804.json
@@ -106,6 +106,7 @@
"cmake;3.22.1"
],
"ndk": {
+ "default": "25",
"versions": [
"23", "24", "25"
]
diff --git a/images/linux/toolsets/toolset-2004.json b/images/linux/toolsets/toolset-2004.json
index 1e8568e29..9ec9940b2 100644
--- a/images/linux/toolsets/toolset-2004.json
+++ b/images/linux/toolsets/toolset-2004.json
@@ -103,6 +103,7 @@
"cmake;3.22.1"
],
"ndk": {
+ "default": "25",
"versions": [
"23", "24", "25"
]
diff --git a/images/linux/toolsets/toolset-2204.json b/images/linux/toolsets/toolset-2204.json
index c1beb9f8d..1b8f528b2 100644
--- a/images/linux/toolsets/toolset-2204.json
+++ b/images/linux/toolsets/toolset-2204.json
@@ -89,6 +89,7 @@
"cmake;3.22.1"
],
"ndk": {
+ "default": "25",
"versions": [
"23", "24", "25"
]