44 lines
716 B
Bash
44 lines
716 B
Bash
|
|
#!/usr/bin/env bash
|
||
|
|
set -euo pipefail
|
||
|
|
|
||
|
|
ROOT_DIR="$(cd "$(dirname "$0")/.." && pwd)"
|
||
|
|
BACKEND_URL=""
|
||
|
|
DEVICE_ARGS=()
|
||
|
|
|
||
|
|
usage() {
|
||
|
|
cat <<EOF
|
||
|
|
Usage:
|
||
|
|
$0 [--backend-url http://host:port] [flutter run args...]
|
||
|
|
|
||
|
|
Examples:
|
||
|
|
$0
|
||
|
|
$0 --backend-url http://192.168.1.100:5775
|
||
|
|
$0 --backend-url http://10.0.2.2:5775 -d emulator-5554
|
||
|
|
EOF
|
||
|
|
}
|
||
|
|
|
||
|
|
while [[ $# -gt 0 ]]; do
|
||
|
|
case "$1" in
|
||
|
|
--backend-url)
|
||
|
|
BACKEND_URL="$2"
|
||
|
|
shift 2
|
||
|
|
;;
|
||
|
|
-h|--help)
|
||
|
|
usage
|
||
|
|
exit 0
|
||
|
|
;;
|
||
|
|
*)
|
||
|
|
DEVICE_ARGS+=("$1")
|
||
|
|
shift
|
||
|
|
;;
|
||
|
|
esac
|
||
|
|
done
|
||
|
|
|
||
|
|
cd "$ROOT_DIR"
|
||
|
|
|
||
|
|
if [[ -n "$BACKEND_URL" ]]; then
|
||
|
|
flutter run --dart-define="BACKEND_URL=$BACKEND_URL" "${DEVICE_ARGS[@]}"
|
||
|
|
else
|
||
|
|
flutter run "${DEVICE_ARGS[@]}"
|
||
|
|
fi
|