complete Android build setup and study flow
Add a real Gradle wrapper, local SDK wiring, and the missing Android study screens so the module builds cleanly.
This commit is contained in:
+60
@@ -0,0 +1,60 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
APP_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
PROPERTIES_FILE="$APP_DIR/gradle/wrapper/gradle-wrapper.properties"
|
||||
GRADLE_USER_HOME="${GRADLE_USER_HOME:-$HOME/.gradle}"
|
||||
|
||||
if [[ ! -f "$PROPERTIES_FILE" ]]; then
|
||||
echo "Missing $PROPERTIES_FILE" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
distribution_url=""
|
||||
while IFS='=' read -r key value; do
|
||||
case "$key" in
|
||||
distributionUrl)
|
||||
distribution_url="${value//\\:/:}"
|
||||
;;
|
||||
esac
|
||||
done < "$PROPERTIES_FILE"
|
||||
|
||||
if [[ -z "$distribution_url" ]]; then
|
||||
echo "Unable to read distributionUrl from $PROPERTIES_FILE" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
gradle_version="${distribution_url##*/gradle-}"
|
||||
gradle_version="${gradle_version%-bin.zip}"
|
||||
gradle_version="${gradle_version%-all.zip}"
|
||||
|
||||
dists_dir="$GRADLE_USER_HOME/wrapper/dists/gradle-${gradle_version}-bin"
|
||||
|
||||
shopt -s nullglob
|
||||
for candidate in "$dists_dir"/*/gradle-"$gradle_version"; do
|
||||
if [[ -x "$candidate/bin/gradle" ]]; then
|
||||
exec "$candidate/bin/gradle" "$@"
|
||||
fi
|
||||
done
|
||||
|
||||
download_dir="$dists_dir/manual/gradle-$gradle_version"
|
||||
if [[ ! -x "$download_dir/bin/gradle" ]]; then
|
||||
mkdir -p "$dists_dir/manual"
|
||||
tmp_zip="$(mktemp)"
|
||||
cleanup() { rm -f "$tmp_zip"; }
|
||||
trap cleanup EXIT
|
||||
|
||||
if command -v curl >/dev/null 2>&1; then
|
||||
curl -fsSL "$distribution_url" -o "$tmp_zip"
|
||||
elif command -v wget >/dev/null 2>&1; then
|
||||
wget -qO "$tmp_zip" "$distribution_url"
|
||||
else
|
||||
echo "curl or wget is required to download Gradle" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
unzip -q "$tmp_zip" -d "$dists_dir/manual"
|
||||
fi
|
||||
|
||||
exec "$download_dir/bin/gradle" "$@"
|
||||
Reference in New Issue
Block a user