Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -95,12 +95,14 @@ unlinked_spec.ds
!/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages

# Firebase configuration files
lib/firebase_options.dart
lib/firebase_options*.dart
ios/Runner/GoogleService-Info.plist
ios/flavors/**/GoogleService-Info.plist
ios/firebase_app_id_file.json
macos/Runner/GoogleService-Info.plist
macos/firebase_app_id_file.json
android/app/google-services.json
android/app/src/**/google-services.json

# Firebase hosting
.firebase/
11 changes: 9 additions & 2 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,16 @@
"version": "0.2.0",
"configurations": [
{
"name": "Run",
"name": "dev",
"request": "launch",
"type": "dart"
"type": "dart",
"args": ["--flavor", "dev"]
},
{
"name": "prod",
"request": "launch",
"type": "dart",
"args": ["--flavor", "prod"]
},
{
"name": "Run (profile mode)",
Expand Down
3 changes: 3 additions & 0 deletions analysis_options.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@ analyzer:
plugins:
- custom_lint

formatter:
page_width: 100

linter:
# The lint rules applied to this project can be customized in the
# section below to disable rules from the `package:flutter_lints/flutter.yaml`
Expand Down
14 changes: 14 additions & 0 deletions android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,20 @@ android {
signingConfig = signingConfigs.debug
}
}

flavorDimensions "app"
productFlavors {
dev {
dimension = "app"
resValue(type = "string", name = "app_name", value = "[DEV] Illemo")
applicationIdSuffix = ".dev"
}
prod {
dimension = "app"
resValue(type = "string", name = "app_name", value = "Illemo")
applicationId = "com.illemo.app"
}
}
}

flutter {
Expand Down
File renamed without changes
2 changes: 1 addition & 1 deletion firebase.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"hosting":{"public":"build/web","ignore":["firebase.json","**/.*","**/node_modules/**"],"rewrites":[{"source":"**","destination":"/index.html"}]},"flutter":{"platforms":{"android":{"default":{"projectId":"illemo","appId":"1:400942831450:android:ac70caf455b226fbb38563","fileOutput":"android/app/google-services.json"}},"ios":{"default":{"projectId":"illemo","appId":"1:400942831450:ios:0254744a14137cedb38563","uploadDebugSymbols":false,"fileOutput":"ios/Runner/GoogleService-Info.plist"}},"macos":{"default":{"projectId":"illemo","appId":"1:400942831450:ios:0254744a14137cedb38563","uploadDebugSymbols":false,"fileOutput":"macos/Runner/GoogleService-Info.plist"}},"dart":{"lib/firebase_options.dart":{"projectId":"illemo","configurations":{"android":"1:400942831450:android:ac70caf455b226fbb38563","ios":"1:400942831450:ios:0254744a14137cedb38563","macos":"1:400942831450:ios:0254744a14137cedb38563","web":"1:400942831450:web:fe76d1af4b29664bb38563"}}}}}}
{"hosting":{"public":"build/web","ignore":["firebase.json","**/.*","**/node_modules/**"],"rewrites":[{"source":"**","destination":"/index.html"}]},"flutter":{"platforms":{"android":{"default":{"projectId":"illemo","appId":"1:400942831450:android:ac70caf455b226fbb38563","fileOutput":"android/app/google-services.json"},"buildConfigurations":{"src/prod":{"projectId":"illemo","appId":"1:400942831450:android:ac70caf455b226fbb38563","fileOutput":"android/app/src/prod/google-services.json"},"src/dev":{"projectId":"illemo-dev","appId":"1:456664777287:android:a55eef198655aad75e6762","fileOutput":"android/app/src/dev/google-services.json"}}},"ios":{"default":{"projectId":"illemo","appId":"1:400942831450:ios:0254744a14137cedb38563","uploadDebugSymbols":false,"fileOutput":"ios/Runner/GoogleService-Info.plist"},"buildConfigurations":{"Debug-prod":{"projectId":"illemo","appId":"1:400942831450:ios:0254744a14137cedb38563","uploadDebugSymbols":false,"fileOutput":"ios/flavors/prod/GoogleService-Info.plist"},"Debug-dev":{"projectId":"illemo-dev","appId":"1:456664777287:ios:79fd31685af89ae85e6762","uploadDebugSymbols":false,"fileOutput":"ios/flavors/dev/GoogleService-Info.plist"}}},"macos":{"default":{"projectId":"illemo-dev","appId":"1:456664777287:ios:e1029d7cb89df3b85e6762","uploadDebugSymbols":false,"fileOutput":"macos/Runner/GoogleService-Info.plist"}},"dart":{"lib/firebase_options.dart":{"projectId":"illemo","configurations":{"android":"1:400942831450:android:ac70caf455b226fbb38563","ios":"1:400942831450:ios:0254744a14137cedb38563","macos":"1:400942831450:ios:0254744a14137cedb38563","web":"1:400942831450:web:fe76d1af4b29664bb38563"}},"lib/firebase_options_prod.dart":{"projectId":"illemo","configurations":{"android":"1:400942831450:android:ac70caf455b226fbb38563","ios":"1:400942831450:ios:0254744a14137cedb38563","macos":"1:400942831450:ios:0254744a14137cedb38563","web":"1:400942831450:web:fe76d1af4b29664bb38563"}},"lib/firebase_options_dev.dart":{"projectId":"illemo-dev","configurations":{"android":"1:456664777287:android:a55eef198655aad75e6762","ios":"1:456664777287:ios:79fd31685af89ae85e6762","macos":"1:456664777287:ios:e1029d7cb89df3b85e6762","web":"1:456664777287:web:551e49c957d1eed55e6762"}}}}}}
33 changes: 33 additions & 0 deletions flutterfire-config.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
#!/bin/bash
# Script to generate Firebase configuration files for different environments/flavors
# Feel free to reuse and adapt this script for your own projects

if [[ $# -eq 0 ]]; then
echo "Error: No environment specified. Use 'dev', 'stg', or 'prod'."
exit 1
fi

case $1 in
dev)
flutterfire config \
--project=illemo-dev \
--out=lib/firebase_options_dev.dart \
--ios-bundle-id=com.illemo.app.dev \
--ios-out=ios/flavors/dev/GoogleService-Info.plist \
--android-package-name=com.illemo.app.dev \
--android-out=android/app/src/dev/google-services.json
;;
prod)
flutterfire config \
--project=illemo \
--out=lib/firebase_options_prod.dart \
--ios-bundle-id=com.illemo.app \
--ios-out=ios/flavors/prod/GoogleService-Info.plist \
--android-package-name=com.illemo.app \
--android-out=android/app/src/prod/google-services.json
;;
*)
echo "Error: Invalid environment specified. Use 'dev', 'stg', or 'prod'."
exit 1
;;
esac
2 changes: 1 addition & 1 deletion ios/Podfile
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelpe
flutter_ios_podfile_setup

target 'Runner' do
pod 'FirebaseFirestore', :git => 'https://github.com/invertase/firestore-ios-sdk-frameworks.git', :tag => '11.4.0'
pod 'FirebaseFirestore', :git => 'https://github.com/invertase/firestore-ios-sdk-frameworks.git', :tag => '11.7.0'
use_frameworks!
use_modular_headers!

Expand Down
120 changes: 60 additions & 60 deletions ios/Podfile.lock
Original file line number Diff line number Diff line change
@@ -1,75 +1,75 @@
PODS:
- cloud_firestore (5.5.1):
- Firebase/Firestore (= 11.4.0)
- cloud_firestore (5.6.3):
- Firebase/Firestore (= 11.7.0)
- firebase_core
- Flutter
- desktop_webview_auth (0.0.1):
- Flutter
- Firebase/Auth (11.4.0):
- Firebase/Auth (11.7.0):
- Firebase/CoreOnly
- FirebaseAuth (~> 11.4.0)
- Firebase/CoreOnly (11.4.0):
- FirebaseCore (= 11.4.0)
- Firebase/DynamicLinks (11.4.0):
- FirebaseAuth (~> 11.7.0)
- Firebase/CoreOnly (11.7.0):
- FirebaseCore (~> 11.7.0)
- Firebase/DynamicLinks (11.7.0):
- Firebase/CoreOnly
- FirebaseDynamicLinks (~> 11.4.0)
- Firebase/Firestore (11.4.0):
- FirebaseDynamicLinks (~> 11.7.0)
- Firebase/Firestore (11.7.0):
- Firebase/CoreOnly
- FirebaseFirestore (~> 11.4.0)
- firebase_auth (5.3.4):
- Firebase/Auth (= 11.4.0)
- FirebaseFirestore (~> 11.7.0)
- firebase_auth (5.4.2):
- Firebase/Auth (= 11.7.0)
- firebase_core
- Flutter
- firebase_core (3.8.1):
- Firebase/CoreOnly (= 11.4.0)
- firebase_core (3.11.0):
- Firebase/CoreOnly (= 11.7.0)
- Flutter
- firebase_dynamic_links (6.0.11):
- Firebase/DynamicLinks (= 11.4.0)
- firebase_dynamic_links (6.1.2):
- Firebase/DynamicLinks (= 11.7.0)
- firebase_core
- Flutter
- FirebaseAppCheckInterop (11.5.0)
- FirebaseAuth (11.4.0):
- FirebaseAppCheckInterop (11.8.0)
- FirebaseAuth (11.7.0):
- FirebaseAppCheckInterop (~> 11.0)
- FirebaseAuthInterop (~> 11.0)
- FirebaseCore (~> 11.4)
- FirebaseCoreExtension (~> 11.4)
- FirebaseCore (~> 11.7.0)
- FirebaseCoreExtension (~> 11.7.0)
- GoogleUtilities/AppDelegateSwizzler (~> 8.0)
- GoogleUtilities/Environment (~> 8.0)
- GTMSessionFetcher/Core (< 5.0, >= 3.4)
- RecaptchaInterop (~> 100.0)
- FirebaseAuthInterop (11.5.0)
- FirebaseCore (11.4.0):
- FirebaseCoreInternal (~> 11.0)
- FirebaseAuthInterop (11.8.0)
- FirebaseCore (11.7.0):
- FirebaseCoreInternal (~> 11.7.0)
- GoogleUtilities/Environment (~> 8.0)
- GoogleUtilities/Logger (~> 8.0)
- FirebaseCoreExtension (11.4.0):
- FirebaseCore (~> 11.0)
- FirebaseCoreInternal (11.5.0):
- FirebaseCoreExtension (11.7.0):
- FirebaseCore (~> 11.7.0)
- FirebaseCoreInternal (11.7.0):
- "GoogleUtilities/NSData+zlib (~> 8.0)"
- FirebaseDynamicLinks (11.4.0):
- FirebaseCore (~> 11.0)
- FirebaseFirestore (11.4.0):
- FirebaseFirestoreBinary (= 11.4.0)
- FirebaseDynamicLinks (11.7.0):
- FirebaseCore (~> 11.7.0)
- FirebaseFirestore (11.7.0):
- FirebaseFirestoreBinary (= 11.7.0)
- FirebaseFirestoreAbseilBinary (1.2024011602.0)
- FirebaseFirestoreBinary (11.4.0):
- FirebaseCore (= 11.4.0)
- FirebaseCoreExtension (= 11.4.0)
- FirebaseFirestoreInternalBinary (= 11.4.0)
- FirebaseSharedSwift (= 11.4.0)
- FirebaseFirestoreBinary (11.7.0):
- FirebaseCore (= 11.7.0)
- FirebaseCoreExtension (= 11.7.0)
- FirebaseFirestoreInternalBinary (= 11.7.0)
- FirebaseSharedSwift (= 11.7.0)
- FirebaseFirestoreGRPCBoringSSLBinary (1.65.1)
- FirebaseFirestoreGRPCCoreBinary (1.65.1):
- FirebaseFirestoreAbseilBinary (= 1.2024011602.0)
- FirebaseFirestoreGRPCBoringSSLBinary (= 1.65.1)
- FirebaseFirestoreGRPCCPPBinary (1.65.1):
- FirebaseFirestoreAbseilBinary (= 1.2024011602.0)
- FirebaseFirestoreGRPCCoreBinary (= 1.65.1)
- FirebaseFirestoreInternalBinary (11.4.0):
- FirebaseCore (= 11.4.0)
- FirebaseFirestoreInternalBinary (11.7.0):
- FirebaseCore (= 11.7.0)
- FirebaseFirestoreAbseilBinary (= 1.2024011602.0)
- FirebaseFirestoreGRPCCPPBinary (= 1.65.1)
- leveldb-library (~> 1.22)
- nanopb (~> 3.30910.0)
- FirebaseSharedSwift (11.4.0)
- FirebaseSharedSwift (11.7.0)
- Flutter (1.0.0)
- GoogleUtilities/AppDelegateSwizzler (8.0.2):
- GoogleUtilities/Environment
Expand All @@ -92,7 +92,7 @@ PODS:
- GoogleUtilities/Reachability (8.0.2):
- GoogleUtilities/Logger
- GoogleUtilities/Privacy
- GTMSessionFetcher/Core (4.1.0)
- GTMSessionFetcher/Core (4.3.0)
- leveldb-library (1.22.6)
- nanopb (3.30910.0):
- nanopb/decode (= 3.30910.0)
Expand All @@ -114,7 +114,7 @@ DEPENDENCIES:
- firebase_auth (from `.symlinks/plugins/firebase_auth/ios`)
- firebase_core (from `.symlinks/plugins/firebase_core/ios`)
- firebase_dynamic_links (from `.symlinks/plugins/firebase_dynamic_links/ios`)
- FirebaseFirestore (from `https://github.com/invertase/firestore-ios-sdk-frameworks.git`, tag `11.4.0`)
- FirebaseFirestore (from `https://github.com/invertase/firestore-ios-sdk-frameworks.git`, tag `11.7.0`)
- Flutter (from `Flutter`)
- package_info_plus (from `.symlinks/plugins/package_info_plus/ios`)
- shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`)
Expand Down Expand Up @@ -156,7 +156,7 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/firebase_dynamic_links/ios"
FirebaseFirestore:
:git: https://github.com/invertase/firestore-ios-sdk-frameworks.git
:tag: 11.4.0
:tag: 11.7.0
Flutter:
:path: Flutter
package_info_plus:
Expand All @@ -169,40 +169,40 @@ EXTERNAL SOURCES:
CHECKOUT OPTIONS:
FirebaseFirestore:
:git: https://github.com/invertase/firestore-ios-sdk-frameworks.git
:tag: 11.4.0
:tag: 11.7.0

SPEC CHECKSUMS:
cloud_firestore: 3fafe78d755b01fe1fd267a87bb52e80b7dacacc
cloud_firestore: 75151f94e2adb9685d6133d6cd06bb2d9026604e
desktop_webview_auth: d645139460ef203d50bd0cdb33356785dd939cce
Firebase: cf1b19f21410b029b6786a54e9764a0cacad3c99
firebase_auth: c4bdd9d7b338ac004008cb5024a643584e0ec03f
firebase_core: 418aed674e9a0b8b6088aec16cde82a811f6261f
firebase_dynamic_links: b6c2a7d6e50d2d0c0ae2acb213af78e9a3d9ce9b
FirebaseAppCheckInterop: d265d9f4484e7ec1c591086408840fdd383d1213
FirebaseAuth: c359af98bd703cbf4293eec107a40de08ede6ce6
FirebaseAuthInterop: 1219bee9b23e6ebe84c256a0d95adab53d11c331
FirebaseCore: e0510f1523bc0eb21653cac00792e1e2bd6f1771
FirebaseCoreExtension: 4445e4cd877e0790c4af33bedca61eaef27b7513
FirebaseCoreInternal: f47dd28ae7782e6a4738aad3106071a8fe0af604
FirebaseDynamicLinks: 192110d77418357fe994f2823a7df7db3ccb15bf
FirebaseFirestore: 97f18b411aaca686a9e94ba742341228643b1a46
Firebase: a64bf6a8546e6eab54f1c715cd6151f39d2329f4
firebase_auth: bcc25c2992fb3e655b59faca6f0f5bc9215d463d
firebase_core: aa979ae726f00b3ef4ccf59dfb96170af84efbd4
firebase_dynamic_links: de96307a996b1c92b3b715f683ed5e320ad3c033
FirebaseAppCheckInterop: 7bf86d55a2b7e9bd91464120eba3e52e4b63b2e2
FirebaseAuth: 77e25aa24f3e1c626c5babd3338551fc1669ee0e
FirebaseAuthInterop: 651756e70d9a0b9160db39ead71fd5507dbb6c84
FirebaseCore: 3227e35f4197a924206fbcdc0349325baf4f5de4
FirebaseCoreExtension: 206c1b399f0d103055207c16f299b28e3dbd1949
FirebaseCoreInternal: d6c17dafc8dc33614733a8b52df78fcb4394c881
FirebaseDynamicLinks: e81e03f6076bd02081ae6e06631797e134380a76
FirebaseFirestore: 61305c5ac196ec1526dde68ac132543a7749a081
FirebaseFirestoreAbseilBinary: fa2ebd2ed02cadef5382e4f7c93f1b265c812c85
FirebaseFirestoreBinary: d0380b879b58d663b22467017d0e348d5b17b36b
FirebaseFirestoreBinary: 86eaad2ff00b789242734496029a3d08d4d86a89
FirebaseFirestoreGRPCBoringSSLBinary: d86ebbe2adc8d15d7ebf305fff7d6358385327f8
FirebaseFirestoreGRPCCoreBinary: 472bd808e1886a5efb2fd03dd09b98d34641a335
FirebaseFirestoreGRPCCPPBinary: db76d83d2b7517623f8426ed7f7a17bad2478084
FirebaseFirestoreInternalBinary: 01c33a6d789b95dce32dbdfcaf30d60ddf8902d8
FirebaseSharedSwift: 505dae2d05969dbf6d43749a642bb1bf230f0252
FirebaseFirestoreInternalBinary: 1850c8c72f3d7933a00a4d0bae88021df87c9e10
FirebaseSharedSwift: a45efd84d60ebbfdcdbaebc66948af3630459e62
Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7
GoogleUtilities: 26a3abef001b6533cf678d3eb38fd3f614b7872d
GTMSessionFetcher: 923b710231ad3d6f3f0495ac1ced35421e07d9a6
GTMSessionFetcher: 257ead9ba8e15a2d389d79496e02b9cc5dd0c62c
leveldb-library: cc8b8f8e013647a295ad3f8cd2ddf49a6f19be19
nanopb: fad817b59e0457d11a5dfbde799381cd727c1275
package_info_plus: c0502532a26c7662a62a356cebe2692ec5fe4ec4
RecaptchaInterop: 7d1a4a01a6b2cb1610a47ef3f85f0c411434cb21
shared_preferences_foundation: fcdcbc04712aee1108ac7fda236f363274528f78
url_launcher_ios: 5334b05cef931de560670eeae103fd3e431ac3fe

PODFILE CHECKSUM: 7971d8193c543b454b5092b866ba615e5fd53a2a
PODFILE CHECKSUM: c70cad528bc2dff4479290bb137f19fe65bb7e08

COCOAPODS: 1.16.2
Loading