From fbbf35456f27c94768a7614e2b10644a552da477 Mon Sep 17 00:00:00 2001 From: Aleksandr Chebotov <47745270+al-cheb@users.noreply.github.com> Date: Tue, 31 May 2022 10:07:01 +0200 Subject: [PATCH] [macOS] Install latest Android cmdline-tools (#5641) * Install latest Android cmdline-tools * Use cmdlineToolsVersion variable --- .../macos/provision/core/android-toolsets.sh | 18 +++++++++++++++++- images/macos/toolsets/toolset-10.15.json | 1 + images/macos/toolsets/toolset-11.json | 1 + images/macos/toolsets/toolset-12.json | 1 + 4 files changed, 20 insertions(+), 1 deletion(-) diff --git a/images/macos/provision/core/android-toolsets.sh b/images/macos/provision/core/android-toolsets.sh index 0fe237ff..3507a4a6 100755 --- a/images/macos/provision/core/android-toolsets.sh +++ b/images/macos/provision/core/android-toolsets.sh @@ -35,7 +35,23 @@ 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 -ANDROID_OSX_SDK_URL="https://dl.google.com/android/repository/commandlinetools-mac-7302050_latest.zip" +cmdlineToolsVersion=$(get_toolset_value '.android."cmdline-tools"') +if [[ $cmdlineToolsVersion == "latest" ]]; then + repositoryXmlUrl="https://dl.google.com/android/repository/repository2-1.xml" + download_with_retries $repositoryXmlUrl "/tmp" "repository2-1.xml" + cmdlineToolsVersion=$( + yq -p=xml \ + '.sdk-repository.remotePackage[] | select(."+path" == "cmdline-tools;latest").archives.archive[].complete.url | select(contains("commandlinetools-mac"))' \ + /tmp/repository2-1.xml + ) + + if [[ -z $cmdlineToolsVersion ]]; then + echo "Failed to parse latest command-line tools version" + exit 1 + fi +fi + +ANDROID_OSX_SDK_URL="https://dl.google.com/android/repository/${cmdlineToolsVersion}" ANDROID_HOME=$HOME/Library/Android/sdk ANDROID_OSX_SDK_FILE=tools-macosx.zip diff --git a/images/macos/toolsets/toolset-10.15.json b/images/macos/toolsets/toolset-10.15.json index 096a85eb..a68e74ea 100644 --- a/images/macos/toolsets/toolset-10.15.json +++ b/images/macos/toolsets/toolset-10.15.json @@ -165,6 +165,7 @@ ] }, "android": { + "cmdline-tools": "latest", "platform_min_version": "24", "build_tools_min_version": "24.0.0", "extra-list": [ diff --git a/images/macos/toolsets/toolset-11.json b/images/macos/toolsets/toolset-11.json index ef0df2fb..07e54464 100644 --- a/images/macos/toolsets/toolset-11.json +++ b/images/macos/toolsets/toolset-11.json @@ -165,6 +165,7 @@ ] }, "android": { + "cmdline-tools": "latest", "platform_min_version": "27", "build_tools_min_version": "27.0.0", "extra-list": [ diff --git a/images/macos/toolsets/toolset-12.json b/images/macos/toolsets/toolset-12.json index c367898f..8e5a6626 100644 --- a/images/macos/toolsets/toolset-12.json +++ b/images/macos/toolsets/toolset-12.json @@ -93,6 +93,7 @@ ] }, "android": { + "cmdline-tools": "latest", "platform_min_version": "27", "build_tools_min_version": "27.0.0", "extra-list": [