nix-config/modules/home/direnv/lib/android.sh
Bruno BELANYI 11c8d4623c
All checks were successful
ci/woodpecker/push/check Pipeline was successful
home: direnv: add 'android' library file
2023-11-17 16:21:28 +00:00

59 lines
1.6 KiB
Bash

#shellcheck shell=bash
# shellcheck disable=2155
use_android() {
if [ -z "$ANDROID_HOME" ]; then
log_error "use_android: 'ANDROID_HOME' is not defined"
return 1
fi
_use_android_find_latest() {
local path="$1"
local version
version="$(semver_search "$path" "" "")"
if [ -z "$version" ]; then
log_error "use_android: did not find any version at '$path'"
return 1
fi
printf '%s' "$version"
}
# Default to the latest version found
local ndk_version="$(_use_android_find_latest "$ANDROID_HOME/ndk" || return 1)"
local build_tools_version="$(_use_android_find_latest "$ANDROID_SDK_HOME/build-tools" || return 1)"
unset -f _use_android_find_latest
# Allow changing the default version through a command line switch
while true; do
case "$1" in
-b|--build-tools)
build_tools_version="$2"
shift 2
;;
-n|--ndk)
ndk_version="$2"
shift 2
;;
--)
shift
break
;;
*)
break
;;
esac
done
export ANDROID_SDK_HOME="$ANDROID_HOME"
export ANDROID_NDK_HOME="$ANDROID_HOME/ndk/$ndk_version"
export ANDROID_ROOT="$ANDROID_HOME"
export ANDROID_SDK_ROOT="$ANDROID_SDK_HOME"
export ANDROID_NDK_ROOT="$ANDROID_NDK_HOME"
PATH_add "$ANDROID_NDK_HOME"
PATH_add "$ANDROID_SDK_HOME/build-tools/$build_tools_version"
}