mirror of
https://github.com/actions/runner-images.git
synced 2025-12-18 07:46:57 +00:00
add functions
This commit is contained in:
@@ -1,22 +1,24 @@
|
|||||||
#!/bin/bash -e
|
#!/bin/bash -e
|
||||||
source ~/utils/utils.sh
|
source ~/utils/utils.sh
|
||||||
|
|
||||||
function install_android_packages {
|
function filter_components_by_version {
|
||||||
minimumVersion=$( echo "$1" | sed 's/\.//g' )
|
minimumVersion=$1
|
||||||
shift
|
shift
|
||||||
toolsArr=("$@")
|
toolsArr=("$@")
|
||||||
|
|
||||||
for item in ${toolsArr[@]}
|
for item in ${toolsArr[@]}
|
||||||
do
|
do
|
||||||
version=$(echo "${item##*[-;]}" | sed 's/\.//g')
|
# take the last argument after spliting string by ';'' and '-''
|
||||||
if (( $version >= $minimumVersion ))
|
version=$(echo "${item##*[-;]}")
|
||||||
|
if verlte $minimumVersion $version
|
||||||
then
|
then
|
||||||
echo "Start installing $item"
|
components+=($item)
|
||||||
echo "y" | ${ANDROID_HOME}/tools/bin/sdkmanager $item
|
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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"[]'))
|
||||||
@@ -63,13 +65,15 @@ echo y | $SDKMANAGER "cmake;3.6.4111459"
|
|||||||
|
|
||||||
echo "Installing latest ndk..."
|
echo "Installing latest ndk..."
|
||||||
echo y | $SDKMANAGER "ndk-bundle"
|
echo y | $SDKMANAGER "ndk-bundle"
|
||||||
platforms=$(${ANDROID_HOME}/tools/bin/sdkmanager --list | sed -n '/Available Packages:/,/^$/p' | grep "platforms;android" | sed -E "s/[[:space:]]+//g" | sed -E "s/\|.*//g")
|
|
||||||
platformsArr=(${platforms})
|
|
||||||
install_android_packages $ANDROID_PLATFORM "${platformsArr[@]}"
|
|
||||||
|
|
||||||
buildTools=$(${ANDROID_HOME}/tools/bin/sdkmanager --list | sed -n '/Available Packages:/,/^$/p' | grep "build-tools;" | sed -E "s/[[:space:]]+//g" | sed -E "s/\|.*//g")
|
availablePlatforms=($(${ANDROID_HOME}/tools/bin/sdkmanager --list | sed -n '/Available Packages:/,/^$/p' | grep "platforms;android-" | cut -d"|" -f 1))
|
||||||
buildToolsArr=(${buildTools})
|
filter_components_by_version $ANDROID_PLATFORM "${availablePlatforms[@]}"
|
||||||
install_android_packages $ANDROID_BUILD_TOOL "${buildToolsArr[@]}"
|
|
||||||
|
allBuildTools=($(${ANDROID_HOME}/tools/bin/sdkmanager --list --include_obsolete | grep "build-tools;" | cut -d"|" -f 1 | sort -u))
|
||||||
|
availableBuildTools=$(echo ${allBuildTools[@]//*rc[0-9]/})
|
||||||
|
filter_components_by_version $ANDROID_BUILD_TOOL "${availableBuildTools[@]}"
|
||||||
|
|
||||||
|
echo "y" | ${ANDROID_HOME}/tools/bin/sdkmanager ${components[@]}
|
||||||
|
|
||||||
for extra_name in "${ANDROID_EXTRA_LIST[@]}"
|
for extra_name in "${ANDROID_EXTRA_LIST[@]}"
|
||||||
do
|
do
|
||||||
|
|||||||
@@ -92,3 +92,8 @@ get_latest_xcode_from_toolset() {
|
|||||||
get_default_xcode_from_toolset() {
|
get_default_xcode_from_toolset() {
|
||||||
echo $(get_toolset_value '.xcode.default')
|
echo $(get_toolset_value '.xcode.default')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
verlte() {
|
||||||
|
sortedVersion=$(echo -e "$1\n$2" | sort -V | head -n1)
|
||||||
|
[ "$1" = "$sortedVersion" ]
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user