Stabilize auth flow and profile images
This commit is contained in:
@@ -3,10 +3,65 @@ set -euo pipefail
|
||||
|
||||
ROOT_DIR="$(cd "$(dirname "$0")/.." && pwd)"
|
||||
IMAGE="${FLUTTER_DOCKER_IMAGE:-ghcr.io/cirruslabs/flutter:stable}"
|
||||
ADB_KEY_DIR="$ROOT_DIR/.android-adb"
|
||||
CACHE_ROOT="${FLUTTER_DOCKER_CACHE_ROOT:-$ROOT_DIR/.docker-cache/flutter}"
|
||||
GRADLE_CACHE_DIR="$CACHE_ROOT/gradle"
|
||||
PUB_CACHE_DIR="$CACHE_ROOT/pub"
|
||||
ANDROID_LICENSES_DIR="$CACHE_ROOT/android-sdk/licenses"
|
||||
ANDROID_NDK_DIR="$CACHE_ROOT/android-sdk/ndk"
|
||||
ANDROID_CMAKE_DIR="$CACHE_ROOT/android-sdk/cmake"
|
||||
MODE="${1:-flutter}"
|
||||
if [ "$#" -gt 0 ]; then
|
||||
shift || true
|
||||
fi
|
||||
|
||||
DOCKER_ENV_ARGS=()
|
||||
if [ -n "${ADB_SERVER_SOCKET:-}" ]; then
|
||||
DOCKER_ENV_ARGS+=("-e" "ADB_SERVER_SOCKET=${ADB_SERVER_SOCKET}")
|
||||
fi
|
||||
if [ -n "${TDC114_ADB_CONNECT_ADDRESS:-}" ]; then
|
||||
DOCKER_ENV_ARGS+=("-e" "TDC114_ADB_CONNECT_ADDRESS=${TDC114_ADB_CONNECT_ADDRESS}")
|
||||
fi
|
||||
|
||||
mkdir -p "$ADB_KEY_DIR"
|
||||
mkdir -p "$GRADLE_CACHE_DIR"
|
||||
mkdir -p "$PUB_CACHE_DIR"
|
||||
mkdir -p "$ANDROID_LICENSES_DIR"
|
||||
mkdir -p "$ANDROID_NDK_DIR"
|
||||
mkdir -p "$ANDROID_CMAKE_DIR"
|
||||
|
||||
docker run --rm \
|
||||
-u 0:0 \
|
||||
"${DOCKER_ENV_ARGS[@]}" \
|
||||
-v "$ROOT_DIR:/workspace" \
|
||||
-v "$ADB_KEY_DIR:/root/.android" \
|
||||
-v "$GRADLE_CACHE_DIR:/root/.gradle" \
|
||||
-v "$PUB_CACHE_DIR:/root/.pub-cache" \
|
||||
-v "$ANDROID_LICENSES_DIR:/opt/android-sdk-linux/licenses" \
|
||||
-v "$ANDROID_NDK_DIR:/opt/android-sdk-linux/ndk" \
|
||||
-v "$ANDROID_CMAKE_DIR:/opt/android-sdk-linux/cmake" \
|
||||
-w /workspace/app \
|
||||
"$IMAGE" \
|
||||
sh -lc "flutter pub get && flutter $* && chown -R 1000:1000 /workspace/app"
|
||||
sh -lc '
|
||||
set -e
|
||||
if command -v sdkmanager >/dev/null 2>&1; then
|
||||
yes | sdkmanager --licenses >/tmp/android-sdk-licenses.log 2>&1 || {
|
||||
cat /tmp/android-sdk-licenses.log >&2
|
||||
exit 1
|
||||
}
|
||||
fi
|
||||
if [ -n "${TDC114_ADB_CONNECT_ADDRESS:-}" ]; then
|
||||
adb connect "$TDC114_ADB_CONNECT_ADDRESS" || true
|
||||
adb devices
|
||||
fi
|
||||
if [ "$1" = "adb-devices" ]; then
|
||||
exit 0
|
||||
fi
|
||||
if [ "$1" = "adb" ]; then
|
||||
shift
|
||||
exec adb "$@"
|
||||
fi
|
||||
flutter pub get
|
||||
flutter "$@"
|
||||
chown -R 1000:1000 /workspace/app
|
||||
' sh "$MODE" "$@"
|
||||
|
||||
Reference in New Issue
Block a user