Skip to content

Commit 0050697

Browse files
[macos] move android "cmdline-tools" to toolset (#8565)
1 parent c598da4 commit 0050697

File tree

4 files changed

+24
-5
lines changed

4 files changed

+24
-5
lines changed

images/macos/provision/core/android-toolsets.sh

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,21 +37,37 @@ ANDROID_NDK_MAJOR_LATEST=$(get_toolset_value '.android.ndk."versions"[-1]')
3737
# Get the latest command line tools from https://developer.android.com/studio#cmdline-tools
3838
# Newer version(s) require Java 11 by default
3939
# See https://github.com/actions/runner-images/issues/6960
40-
ANDROID_OSX_SDK_URL="https://dl.google.com/android/repository/commandlinetools-mac-9123335_latest.zip"
4140
ANDROID_HOME=$HOME/Library/Android/sdk
4241
ANDROID_OSX_SDK_FILE=tools-macosx.zip
4342

44-
pushd $HOME
43+
# Download the latest command line tools so that we can accept all of the licenses.
44+
# See https://developer.android.com/studio/#command-tools
45+
cmdlineToolsVersion=$(get_toolset_value '.android."cmdline-tools"')
46+
47+
if [[ $cmdlineToolsVersion == "latest" ]]; then
48+
repositoryXmlUrl="https://dl.google.com/android/repository/repository2-1.xml"
49+
download_with_retries $repositoryXmlUrl "/tmp" "repository2-1.xml"
50+
cmdlineToolsVersion=$(
51+
yq -p=xml \
52+
'.sdk-repository.remotePackage[] | select(."+@path" == "cmdline-tools;latest" and .channelRef."+@ref" == "channel-0").archives.archive[].complete.url | select(contains("commandlinetools-mac"))' \
53+
/tmp/repository2-1.xml
54+
)
55+
56+
if [[ -z $cmdlineToolsVersion ]]; then
57+
echo "Failed to parse latest command-line tools version"
58+
exit 1
59+
fi
60+
fi
4561

4662
echo "Downloading android command line tools..."
47-
download_with_retries $ANDROID_OSX_SDK_URL "." $ANDROID_OSX_SDK_FILE
63+
download_with_retries "https://dl.google.com/android/repository/${cmdlineToolsVersion}" /tmp $ANDROID_OSX_SDK_FILE
4864

4965
echo "Uncompressing android command line tools..."
5066
mkdir -p $HOME/Library/Android/sdk
51-
unzip -q $ANDROID_OSX_SDK_FILE -d $HOME/Library/Android/sdk/cmdline-tools
67+
unzip -q /tmp/$ANDROID_OSX_SDK_FILE -d $HOME/Library/Android/sdk/cmdline-tools
5268
# Command line tools need to be placed in $HOME/Library/Android/sdk/cmdline-tools/latest to function properly
5369
mv $HOME/Library/Android/sdk/cmdline-tools/cmdline-tools $HOME/Library/Android/sdk/cmdline-tools/latest
54-
rm -f $ANDROID_OSX_SDK_FILE
70+
rm -f /tmp/$ANDROID_OSX_SDK_FILE
5571

5672
echo ANDROID_HOME is $ANDROID_HOME
5773
export PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest:$ANDROID_HOME/cmdline-tools/latest/bin

images/macos/toolsets/toolset-11.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,7 @@
159159
}
160160
},
161161
"android": {
162+
"cmdline-tools": "commandlinetools-mac-9123335_latest.zip",
162163
"platform_min_version": "27",
163164
"build_tools_min_version": "27.0.0",
164165
"extra-list": [

images/macos/toolsets/toolset-12.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,7 @@
146146
}
147147
},
148148
"android": {
149+
"cmdline-tools": "commandlinetools-mac-9123335_latest.zip",
149150
"platform_min_version": "27",
150151
"build_tools_min_version": "27.0.0",
151152
"extra-list": [

images/macos/toolsets/toolset-13.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
}
3232
},
3333
"android": {
34+
"cmdline-tools": "commandlinetools-mac-9123335_latest.zip",
3435
"platform_min_version": "27",
3536
"build_tools_min_version": "27.0.0",
3637
"extra-list": [

0 commit comments

Comments
 (0)