add functions

This commit is contained in:
Dmitry Shibanov
2020-10-05 10:57:58 +03:00
parent 28b4f38d98
commit 156764e42b
2 changed files with 21 additions and 12 deletions

View File

@@ -1,22 +1,24 @@
#!/bin/bash -e
source ~/utils/utils.sh
function install_android_packages {
minimumVersion=$( echo "$1" | sed 's/\.//g' )
function filter_components_by_version {
minimumVersion=$1
shift
toolsArr=("$@")
for item in ${toolsArr[@]}
do
version=$(echo "${item##*[-;]}" | sed 's/\.//g')
if (( $version >= $minimumVersion ))
# take the last argument after spliting string by ';'' and '-''
version=$(echo "${item##*[-;]}")
if verlte $minimumVersion $version
then
echo "Start installing $item"
echo "y" | ${ANDROID_HOME}/tools/bin/sdkmanager $item
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"[]'))
@@ -63,13 +65,15 @@ echo y | $SDKMANAGER "cmake;3.6.4111459"
echo "Installing latest ndk..."
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")
buildToolsArr=(${buildTools})
install_android_packages $ANDROID_BUILD_TOOL "${buildToolsArr[@]}"
availablePlatforms=($(${ANDROID_HOME}/tools/bin/sdkmanager --list | sed -n '/Available Packages:/,/^$/p' | grep "platforms;android-" | cut -d"|" -f 1))
filter_components_by_version $ANDROID_PLATFORM "${availablePlatforms[@]}"
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

View File

@@ -92,3 +92,8 @@ get_latest_xcode_from_toolset() {
get_default_xcode_from_toolset() {
echo $(get_toolset_value '.xcode.default')
}
verlte() {
sortedVersion=$(echo -e "$1\n$2" | sort -V | head -n1)
[ "$1" = "$sortedVersion" ]
}