diff --git a/apps/mobile/apps/client/android/app/build.gradle.kts b/apps/mobile/apps/client/android/app/build.gradle.kts index 26417d23..cf4c5b37 100644 --- a/apps/mobile/apps/client/android/app/build.gradle.kts +++ b/apps/mobile/apps/client/android/app/build.gradle.kts @@ -108,6 +108,20 @@ android { } } +// Skip google-services processing for flavors whose google-services.json +// contains placeholder values (e.g. prod before the Firebase project exists). +// Once a real config is dropped in, the task automatically re-enables. +afterEvaluate { + tasks.matching { + it.name.startsWith("process") && it.name.endsWith("GoogleServices") + }.configureEach { + val taskFlavor = name.removePrefix("process").removeSuffix("GoogleServices") + .removeSuffix("Debug").removeSuffix("Release").lowercase() + val configFile = file("src/$taskFlavor/google-services.json") + enabled = configFile.exists() && configFile.readText().contains("\"mobilesdk_app_id\": \"1:") + } +} + flutter { source = "../.." } diff --git a/apps/mobile/apps/client/android/app/src/prod/google-services.json b/apps/mobile/apps/client/android/app/src/prod/google-services.json deleted file mode 100644 index 002c33ee..00000000 --- a/apps/mobile/apps/client/android/app/src/prod/google-services.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "project_info": { - "project_number": "", - "project_id": "krow-workforce-prod", - "storage_bucket": "krow-workforce-prod.firebasestorage.app" - }, - "client": [ - { - "client_info": { - "mobilesdk_app_id": "", - "android_client_info": { - "package_name": "prod.krowwithus.client" - } - }, - "oauth_client": [], - "api_key": [ - { - "current_key": "" - } - ] - } - ], - "configuration_version": "1" -} diff --git a/apps/mobile/apps/client/firebase.json b/apps/mobile/apps/client/firebase.json index 09f707ae..86449ce7 100644 --- a/apps/mobile/apps/client/firebase.json +++ b/apps/mobile/apps/client/firebase.json @@ -1 +1,31 @@ -{"flutter":{"platforms":{"android":{"default":{"projectId":"krow-workforce-dev","appId":"1:933560802882:android:da13569105659ead7757db","fileOutput":"android/app/google-services.json"}},"ios":{"default":{"projectId":"krow-workforce-dev","appId":"1:933560802882:ios:d2b6d743608e2a527757db","uploadDebugSymbols":false,"fileOutput":"ios/Runner/GoogleService-Info.plist"}},"dart":{"lib/firebase_options.dart":{"projectId":"krow-workforce-dev","configurations":{"android":"1:933560802882:android:da13569105659ead7757db","ios":"1:933560802882:ios:d2b6d743608e2a527757db","web":"1:933560802882:web:173a841992885bb27757db"}}}}}} \ No newline at end of file +{ + "flutter": { + "platforms": { + "android": { + "default": { + "projectId": "krow-workforce-dev", + "appId": "1:933560802882:android:da13569105659ead7757db", + "fileOutput": "android/app/google-services.json" + } + }, + "ios": { + "default": { + "projectId": "krow-workforce-dev", + "appId": "1:933560802882:ios:d2b6d743608e2a527757db", + "uploadDebugSymbols": false, + "fileOutput": "ios/Runner/GoogleService-Info.plist" + } + }, + "dart": { + "lib/firebase_options.dart": { + "projectId": "krow-workforce-dev", + "configurations": { + "android": "1:933560802882:android:da13569105659ead7757db", + "ios": "1:933560802882:ios:d2b6d743608e2a527757db", + "web": "1:933560802882:web:173a841992885bb27757db" + } + } + } + } + } +} \ No newline at end of file diff --git a/apps/mobile/apps/client/ios/config/prod/GoogleService-Info.plist b/apps/mobile/apps/client/ios/config/prod/GoogleService-Info.plist deleted file mode 100644 index daf42001..00000000 --- a/apps/mobile/apps/client/ios/config/prod/GoogleService-Info.plist +++ /dev/null @@ -1,30 +0,0 @@ - - - - - API_KEY - - GCM_SENDER_ID - - PLIST_VERSION - 1 - BUNDLE_ID - prod.krowwithus.client - PROJECT_ID - krow-workforce-prod - STORAGE_BUCKET - krow-workforce-prod.firebasestorage.app - IS_ADS_ENABLED - - IS_ANALYTICS_ENABLED - - IS_APPINVITE_ENABLED - - IS_GCM_ENABLED - - IS_SIGNIN_ENABLED - - GOOGLE_APP_ID - - - diff --git a/apps/mobile/apps/staff/android/app/build.gradle.kts b/apps/mobile/apps/staff/android/app/build.gradle.kts index d3f19e5f..96155fc9 100644 --- a/apps/mobile/apps/staff/android/app/build.gradle.kts +++ b/apps/mobile/apps/staff/android/app/build.gradle.kts @@ -112,6 +112,20 @@ android { } } +// Skip google-services processing for flavors whose google-services.json +// contains placeholder values (e.g. prod before the Firebase project exists). +// Once a real config is dropped in, the task automatically re-enables. +afterEvaluate { + tasks.matching { + it.name.startsWith("process") && it.name.endsWith("GoogleServices") + }.configureEach { + val taskFlavor = name.removePrefix("process").removeSuffix("GoogleServices") + .removeSuffix("Debug").removeSuffix("Release").lowercase() + val configFile = file("src/$taskFlavor/google-services.json") + enabled = configFile.exists() && configFile.readText().contains("\"mobilesdk_app_id\": \"1:") + } +} + flutter { source = "../.." } diff --git a/apps/mobile/apps/staff/android/app/src/prod/google-services.json b/apps/mobile/apps/staff/android/app/src/prod/google-services.json deleted file mode 100644 index 07bbc30b..00000000 --- a/apps/mobile/apps/staff/android/app/src/prod/google-services.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "project_info": { - "project_number": "", - "project_id": "krow-workforce-prod", - "storage_bucket": "krow-workforce-prod.firebasestorage.app" - }, - "client": [ - { - "client_info": { - "mobilesdk_app_id": "", - "android_client_info": { - "package_name": "prod.krowwithus.staff" - } - }, - "oauth_client": [], - "api_key": [ - { - "current_key": "" - } - ] - } - ], - "configuration_version": "1" -} diff --git a/apps/mobile/apps/staff/ios/config/dev/GoogleService-Info.plist b/apps/mobile/apps/staff/ios/config/dev/GoogleService-Info.plist index acd9bbb6..75f58041 100644 --- a/apps/mobile/apps/staff/ios/config/dev/GoogleService-Info.plist +++ b/apps/mobile/apps/staff/ios/config/dev/GoogleService-Info.plist @@ -3,9 +3,9 @@ CLIENT_ID - 933560802882-fphpkdjubve8k7e8ogqj3fk1qducv3sg.apps.googleusercontent.com + 933560802882-jpv087j5jenp1h63mc9ge51767s3l2ac.apps.googleusercontent.com REVERSED_CLIENT_ID - com.googleusercontent.apps.933560802882-fphpkdjubve8k7e8ogqj3fk1qducv3sg + com.googleusercontent.apps.933560802882-jpv087j5jenp1h63mc9ge51767s3l2ac ANDROID_CLIENT_ID 933560802882-fbqg2icq24bmci3f84evjrbth5huh87f.apps.googleusercontent.com API_KEY @@ -15,7 +15,7 @@ PLIST_VERSION 1 BUNDLE_ID - dev.krowwithus.staff + dev.krowwithus.client PROJECT_ID krow-workforce-dev STORAGE_BUCKET @@ -31,6 +31,6 @@ IS_SIGNIN_ENABLED GOOGLE_APP_ID - 1:933560802882:ios:edf97dab6eb87b977757db + 1:933560802882:ios:7e179dfdd1a8994c7757db \ No newline at end of file diff --git a/apps/mobile/apps/staff/ios/config/prod/GoogleService-Info.plist b/apps/mobile/apps/staff/ios/config/prod/GoogleService-Info.plist deleted file mode 100644 index 78f75702..00000000 --- a/apps/mobile/apps/staff/ios/config/prod/GoogleService-Info.plist +++ /dev/null @@ -1,30 +0,0 @@ - - - - - API_KEY - - GCM_SENDER_ID - - PLIST_VERSION - 1 - BUNDLE_ID - prod.krowwithus.staff - PROJECT_ID - krow-workforce-prod - STORAGE_BUCKET - krow-workforce-prod.firebasestorage.app - IS_ADS_ENABLED - - IS_ANALYTICS_ENABLED - - IS_APPINVITE_ENABLED - - IS_GCM_ENABLED - - IS_SIGNIN_ENABLED - - GOOGLE_APP_ID - - - diff --git a/apps/mobile/apps/staff/ios/config/stage/GoogleService-Info.plist b/apps/mobile/apps/staff/ios/config/stage/GoogleService-Info.plist index 7035bac5..631c0d6c 100644 --- a/apps/mobile/apps/staff/ios/config/stage/GoogleService-Info.plist +++ b/apps/mobile/apps/staff/ios/config/stage/GoogleService-Info.plist @@ -9,7 +9,7 @@ PLIST_VERSION 1 BUNDLE_ID - stage.krowwithus.staff + stage.krowwithus.client PROJECT_ID krow-workforce-staging STORAGE_BUCKET @@ -25,6 +25,6 @@ IS_SIGNIN_ENABLED GOOGLE_APP_ID - 1:1032971403708:ios:8c2bbd76bc4f55d9356bb9 + 1:1032971403708:ios:0ff547e80f5324ed356bb9 \ No newline at end of file diff --git a/makefiles/mobile.mk b/makefiles/mobile.mk index de6dbc0d..9cdf38db 100644 --- a/makefiles/mobile.mk +++ b/makefiles/mobile.mk @@ -55,7 +55,7 @@ mobile-client-build: dataconnect-generate-sdk @cd $(MOBILE_DIR) && \ melos run gen:l10n && \ melos run gen:build && \ - melos run build:client -- $(PLATFORM) --$(MODE) --flavor $(ENV) --dart-define-from-file=../../config.$(ENV).json + melos exec --scope="krowwithus_client" -- flutter build $(PLATFORM) --$(MODE) --flavor $(ENV) --dart-define-from-file=../../config.$(ENV).json # --- Staff App --- mobile-staff-dev-android: dataconnect-generate-sdk @@ -71,7 +71,7 @@ mobile-staff-build: dataconnect-generate-sdk @cd $(MOBILE_DIR) && \ melos run gen:l10n && \ melos run gen:build && \ - melos run build:staff -- $(PLATFORM) --$(MODE) --flavor $(ENV) --dart-define-from-file=../../config.$(ENV).json + melos exec --scope="krowwithus_staff" -- flutter build $(PLATFORM) --$(MODE) --flavor $(ENV) --dart-define-from-file=../../config.$(ENV).json # --- E2E (Maestro) --- # Set env before running: TEST_CLIENT_EMAIL, TEST_CLIENT_PASSWORD, TEST_CLIENT_COMPANY, TEST_STAFF_PHONE, TEST_STAFF_OTP, TEST_STAFF_SIGNUP_PHONE