|
1 | | -#!/usr/bin/env bash |
| 1 | +#!/usr/bin/env sh |
2 | 2 | # Sets ANDROID_SDK_ROOT/ANDROID_HOME and PATH to the flake-pinned SDK if not already set. |
3 | 3 |
|
4 | 4 | # Only act if neither var is already provided. |
5 | | -if [[ -z "${ANDROID_SDK_ROOT:-}" && -z "${ANDROID_HOME:-}" ]]; then |
| 5 | +if [ -z "${ANDROID_SDK_ROOT:-}" ] && [ -z "${ANDROID_HOME:-}" ]; then |
6 | 6 | DEVBOX_SDK_OUT=$( |
7 | 7 | nix --extra-experimental-features 'nix-command flakes' \ |
8 | 8 | eval --raw "path:${DEVBOX_PROJECT_ROOT}/nix#android-sdk.outPath" 2>/dev/null || true |
9 | 9 | ) |
10 | | - if [[ -n "${DEVBOX_SDK_OUT:-}" && -d "$DEVBOX_SDK_OUT/libexec/android-sdk" ]]; then |
| 10 | + if [ -n "${DEVBOX_SDK_OUT:-}" ] && [ -d "$DEVBOX_SDK_OUT/libexec/android-sdk" ]; then |
11 | 11 | ANDROID_SDK_ROOT="$DEVBOX_SDK_OUT/libexec/android-sdk" |
12 | 12 | ANDROID_HOME="$ANDROID_SDK_ROOT" |
13 | 13 | fi |
14 | 14 | fi |
15 | 15 |
|
16 | | -if [[ -z "${ANDROID_SDK_ROOT:-}" && -n "${ANDROID_HOME:-}" ]]; then |
| 16 | +if [ -z "${ANDROID_SDK_ROOT:-}" ] && [ -n "${ANDROID_HOME:-}" ]; then |
17 | 17 | ANDROID_SDK_ROOT="$ANDROID_HOME" |
18 | 18 | fi |
19 | 19 |
|
20 | | -if [[ -n "${ANDROID_SDK_ROOT:-}" && -z "${ANDROID_HOME:-}" ]]; then |
| 20 | +if [ -n "${ANDROID_SDK_ROOT:-}" ] && [ -z "${ANDROID_HOME:-}" ]; then |
21 | 21 | ANDROID_HOME="$ANDROID_SDK_ROOT" |
22 | 22 | fi |
23 | 23 |
|
24 | 24 | export ANDROID_SDK_ROOT ANDROID_HOME |
25 | 25 |
|
26 | | -if [[ -n "${ANDROID_SDK_ROOT:-}" ]]; then |
| 26 | +if [ -n "${ANDROID_SDK_ROOT:-}" ]; then |
27 | 27 | # Prefer cmdline-tools;latest, or fall back to the highest numbered cmdline-tools folder. |
28 | 28 | cmdline_tools_bin="" |
29 | | - if [[ -d "$ANDROID_SDK_ROOT/cmdline-tools/latest/bin" ]]; then |
| 29 | + if [ -d "$ANDROID_SDK_ROOT/cmdline-tools/latest/bin" ]; then |
30 | 30 | cmdline_tools_bin="$ANDROID_SDK_ROOT/cmdline-tools/latest/bin" |
31 | 31 | else |
32 | 32 | cmdline_tools_dir=$(find "$ANDROID_SDK_ROOT/cmdline-tools" -maxdepth 1 -mindepth 1 -type d -not -name latest 2>/dev/null | sort -V | tail -n 1) |
33 | | - if [[ -n "${cmdline_tools_dir:-}" && -d "$cmdline_tools_dir/bin" ]]; then |
| 33 | + if [ -n "${cmdline_tools_dir:-}" ] && [ -d "$cmdline_tools_dir/bin" ]; then |
34 | 34 | cmdline_tools_bin="$cmdline_tools_dir/bin" |
35 | 35 | fi |
36 | 36 | fi |
37 | 37 |
|
38 | | - new_path=( |
39 | | - "$ANDROID_SDK_ROOT/emulator" |
40 | | - "$ANDROID_SDK_ROOT/platform-tools" |
41 | | - ) |
| 38 | + new_path="$ANDROID_SDK_ROOT/emulator:$ANDROID_SDK_ROOT/platform-tools" |
42 | 39 |
|
43 | | - if [[ -n "${cmdline_tools_bin:-}" ]]; then |
44 | | - new_path+=("$cmdline_tools_bin") |
| 40 | + if [ -n "${cmdline_tools_bin:-}" ]; then |
| 41 | + new_path="$new_path:$cmdline_tools_bin" |
45 | 42 | fi |
46 | 43 |
|
47 | | - new_path+=("$ANDROID_SDK_ROOT/tools/bin" "$PATH") |
48 | | - export PATH="$(IFS=:; echo "${new_path[*]}")" |
| 44 | + new_path="$new_path:$ANDROID_SDK_ROOT/tools/bin:$PATH" |
| 45 | + PATH="$new_path" |
| 46 | + export PATH |
49 | 47 | echo "Using Android SDK: $ANDROID_SDK_ROOT" |
50 | | - if [[ "${ANDROID_SDK_ROOT}" == /nix/store/* ]]; then |
51 | | - echo "Source: Nix flake (reproducible, pinned). To use your local SDK instead, set ANDROID_HOME/ANDROID_SDK_ROOT before starting devbox shell." |
52 | | - else |
53 | | - echo "Source: User/local SDK. To use the pinned Nix SDK, unset ANDROID_HOME/ANDROID_SDK_ROOT before starting devbox shell." |
54 | | - fi |
| 48 | + case "$ANDROID_SDK_ROOT" in |
| 49 | + /nix/store/*) |
| 50 | + echo "Source: Nix flake (reproducible, pinned). To use your local SDK instead, set ANDROID_HOME/ANDROID_SDK_ROOT before starting devbox shell." |
| 51 | + ;; |
| 52 | + *) |
| 53 | + echo "Source: User/local SDK. To use the pinned Nix SDK, unset ANDROID_HOME/ANDROID_SDK_ROOT before starting devbox shell." |
| 54 | + ;; |
| 55 | + esac |
55 | 56 | else |
56 | 57 | echo "Android SDK not set; using system PATH" |
57 | 58 | fi |
0 commit comments