# Ambiente comum das builds de Flutter web do fredygames.com (use com "source"). # # O Flutter SDK 3.47.1 (BSD 3-Clause; Dart 3.13.1; motor 5d53178869) vem do release oficial do site do # Flutter para macOS arm64, conferido pelo SHA-256 do releases_macos.json e instalado em # artifacts/tools/flutter (nunca no sistema). O cache do pub fica em artifacts/tools/pub-cache; sem # telemetria. Cada pacote do pub e conferido pelo hash do pubspec.lock do jogo (pub get --enforce-lockfile). FLUTTER_VERSION=3.47.1 FLUTTER_ZIP=flutter_macos_arm64_3.47.1-stable.zip FLUTTER_SHA256=38c9ffe0af4a71e4600f4fda310f0e895757550926128e28aa57782ea97538fa FLUTTER_REVISION=6655482ec0 _fw_here="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" _fw_root="$(git -C "$_fw_here" rev-parse --show-toplevel 2>/dev/null || pwd)" FLUTTER_ROOT="$_fw_root/artifacts/tools/flutter" FW_CACHE="$_fw_root/artifacts/build/cache" if [ ! -x "$FLUTTER_ROOT/bin/flutter" ]; then mkdir -p "$FW_CACHE" "$_fw_root/artifacts/tools" if [ ! -f "$FW_CACHE/$FLUTTER_ZIP" ]; then curl -fsSL --retry 4 "https://storage.googleapis.com/flutter_infra_release/releases/stable/macos/$FLUTTER_ZIP" \ -o "$FW_CACHE/$FLUTTER_ZIP.partial" && mv "$FW_CACHE/$FLUTTER_ZIP.partial" "$FW_CACHE/$FLUTTER_ZIP" fi echo "$FLUTTER_SHA256 $FW_CACHE/$FLUTTER_ZIP" | shasum -a 256 -c - rm -rf "$_fw_root/artifacts/tools/flutter.tmp" mkdir -p "$_fw_root/artifacts/tools/flutter.tmp" unzip -q "$FW_CACHE/$FLUTTER_ZIP" -d "$_fw_root/artifacts/tools/flutter.tmp" mv "$_fw_root/artifacts/tools/flutter.tmp/flutter" "$FLUTTER_ROOT" rmdir "$_fw_root/artifacts/tools/flutter.tmp" fi export FLUTTER_ROOT export PATH="$FLUTTER_ROOT/bin:$PATH" export PUB_CACHE="$_fw_root/artifacts/tools/pub-cache" export CI=true FLUTTER_SUPPRESS_ANALYTICS=true BOT=true TZ=UTC LC_ALL=C unset FLUTTER_STORAGE_BASE_URL PUB_HOSTED_URL flutter --disable-analytics >/dev/null 2>&1 || true case "$(flutter --version --no-version-check 2>&1)" in *"Flutter $FLUTTER_VERSION"*"$FLUTTER_REVISION"*) ;; *) echo "Flutter $FLUTTER_VERSION ($FLUTTER_REVISION) necessario em $FLUTTER_ROOT." >&2; return 1 2>/dev/null || exit 1 ;; esac