Merge pull request #1701 from dmitry-shibanov/v-dmshib/android-tools-dynamic-macOS

[macOS] Retrieve the list of Android packages for installing dynamically
This commit is contained in:
Maxim Lobanov
2020-10-13 10:42:14 +03:00
committed by GitHub
8 changed files with 62 additions and 41 deletions

View File

@@ -1,8 +1,26 @@
#!/bin/bash -e
source ~/utils/utils.sh
ANDROID_PLATFORM_LIST=($(get_toolset_value '.android."platform-list"[]'))
ANDROID_BUILD_TOOLS=($(get_toolset_value '.android."build-tools"[]'))
function filter_components_by_version {
minimumVersion=$1
shift
toolsArr=("$@")
for item in ${toolsArr[@]}
do
# take the last argument after spliting string by ';'' and '-''
version=$(echo "${item##*[-;]}")
if verlte $minimumVersion $version
then
components+=($item)
fi
done
}
components=()
ANDROID_PLATFORM=($(get_toolset_value '.android.platform_min_version'))
ANDROID_BUILD_TOOL=($(get_toolset_value '.android.build_tools_min_version'))
ANDROID_EXTRA_LIST=($(get_toolset_value '.android."extra-list"[]'))
ANDROID_ADDON_LIST=($(get_toolset_value '.android."addon-list"[]'))
@@ -48,17 +66,14 @@ echo y | $SDKMANAGER "cmake;3.6.4111459"
echo "Installing latest ndk..."
echo y | $SDKMANAGER "ndk-bundle"
for platform_name in "${ANDROID_PLATFORM_LIST[@]}"
do
echo "Installing platform $platform_name ..."
echo y | $SDKMANAGER "platforms;$platform_name"
done
availablePlatforms=($(${ANDROID_HOME}/tools/bin/sdkmanager --list | grep "platforms;android-" | cut -d"|" -f 1 | sort -u))
filter_components_by_version $ANDROID_PLATFORM "${availablePlatforms[@]}"
for build_tools_version in "${ANDROID_BUILD_TOOLS[@]}"
do
echo "Installing build tools $build_tools_version ..."
echo y | $SDKMANAGER "build-tools;$build_tools_version"
done
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[@]}"
do