Android product flavors (.dev/.staging suffixes, prod clean) + per-flavor
Dart entrypoints, dart-define env files, and per-flavor Firebase config for
both platforms across 3 projects (halobestie-clone-dev / my-bestie-876ec /
my-bestie-production).
- Android: flavorDimensions("env") + productFlavors; @string/app_name label;
per-flavor src/<flavor>/google-services.json (clients verified to match each
applicationId).
- iOS: customer app re-based to the EXISTING App Store identity
com.asc.hallobestie (dev/staging suffix it; ships as an update to the live
app). mitra is a new app (com.mybestie.mitra). Per-flavor plists staged in
ios/config/<flavor>/; Xcode scheme wiring deferred (Mac follow-up).
- firebase_options_{dev,staging,prod}.dart filled with real android + iOS
values (regenerated from the native config files).
- BUILD_FLAVORS.md per app documents flavor table, build commands, iOS
identity decision, and the remaining iOS Xcode steps.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
16 lines
859 B
Dart
16 lines
859 B
Dart
import 'bootstrap.dart';
|
|
import 'firebase/firebase_options_dev.dart';
|
|
|
|
/// Default entrypoint — delegates to the DEV flavor so a bare `flutter run`
|
|
/// (without -t) still works during local development. The `App` widget and the
|
|
/// shared startup logic now live in [bootstrap].
|
|
///
|
|
/// For an explicit flavor, use the dedicated entrypoints instead:
|
|
/// - lib/main_dev.dart (flutter run --flavor dev -t lib/main_dev.dart --dart-define-from-file=env/dev.json)
|
|
/// - lib/main_staging.dart (flutter run --flavor staging -t lib/main_staging.dart --dart-define-from-file=env/staging.json)
|
|
/// - lib/main_prod.dart (flutter run --flavor prod -t lib/main_prod.dart --dart-define-from-file=env/prod.json)
|
|
Future<void> main() => bootstrap(
|
|
firebaseOptions: DefaultFirebaseOptions.currentPlatform,
|
|
flavor: 'dev',
|
|
);
|