fix: update mobile app development commands for clarity and consistency

This commit is contained in:
Achintha Isuru
2025-11-18 23:31:14 -05:00
parent 5f17b001d4
commit ecf2685136
2 changed files with 68 additions and 53 deletions

View File

@@ -69,11 +69,11 @@ help:
@echo "" @echo ""
@echo " --- MOBILE APP DEVELOPMENT ---" @echo " --- MOBILE APP DEVELOPMENT ---"
@echo " make mobile-client-install - Install dependencies for client app" @echo " make mobile-client-install - Install dependencies for client app"
@echo " make mobile-client-dev - Run client app in development mode" @echo " make mobile-client-dev - Run client app in dev mode"
@echo " make mobile-client-build - Build client app (requires ENV & PLATFORM, optional BUILD_TYPE=apk)" @echo " make mobile-client-build - Build client app (requires ENV & PLATFORM, optional BUILD_TYPE=apk)"
@echo "" @echo ""
@echo " make mobile-staff-install - Install dependencies for staff app" @echo " make mobile-staff-install - Install dependencies for staff app"
@echo " make mobile-staff-dev - Run staff app in development mode" @echo " make mobile-staff-dev - Run staff app in dev mode"
@echo " make mobile-staff-build - Build staff app (requires ENV & PLATFORM, optional BUILD_TYPE=apk)" @echo " make mobile-staff-build - Build staff app (requires ENV & PLATFORM, optional BUILD_TYPE=apk)"
@echo "" @echo ""
@echo " --- DEPLOYMENT ---" @echo " --- DEPLOYMENT ---"
@@ -332,7 +332,7 @@ dataconnect-deploy:
# --- Mobile App Development --- # --- Mobile App Development ---
FLAVOR := FLAVOR :=
ifeq ($(ENV),dev) ifeq ($(ENV),dev)
FLAVOR := development FLAVOR := dev
else ifeq ($(ENV),staging) else ifeq ($(ENV),staging)
FLAVOR := staging FLAVOR := staging
else ifeq ($(ENV),prod) else ifeq ($(ENV),prod)
@@ -346,9 +346,9 @@ mobile-client-install:
@cd mobile-apps/client-app && $(FLUTTER) pub get @cd mobile-apps/client-app && $(FLUTTER) pub get
mobile-client-dev: mobile-client-dev:
@echo "--> Running client app in development mode..." @echo "--> Running client app in dev mode..."
@echo "--> If using VS code, use the debug configurations" @echo "--> If using VS code, use the debug configurations"
@cd mobile-apps/client-app && $(FLUTTER) run --flavor development -t lib/main_dev.dart @cd mobile-apps/client-app && $(FLUTTER) run --flavor dev -t lib/main_dev.dart
mobile-client-build: mobile-client-build:
@if [ "$(ENV)" != "dev" ] && [ "$(ENV)" != "staging" ] && [ "$(ENV)" != "prod" ]; then \ @if [ "$(ENV)" != "dev" ] && [ "$(ENV)" != "staging" ] && [ "$(ENV)" != "prod" ]; then \
@@ -373,9 +373,9 @@ mobile-staff-install:
@cd mobile-apps/staff-app && $(FLUTTER) pub get @cd mobile-apps/staff-app && $(FLUTTER) pub get
mobile-staff-dev: mobile-staff-dev:
@echo "--> Running staff app in development mode..." @echo "--> Running staff app in dev mode..."
@echo "--> If using VS code, use the debug configurations" @echo "--> If using VS code, use the debug configurations"
@cd mobile-apps/staff-app && $(FLUTTER) run --flavor development -t lib/main_dev.dart @cd mobile-apps/staff-app && $(FLUTTER) run --flavor dev -t lib/main_dev.dart
mobile-staff-build: mobile-staff-build:
@if [ "$(ENV)" != "dev" ] && [ "$(ENV)" != "staging" ] && [ "$(ENV)" != "prod" ]; then \ @if [ "$(ENV)" != "dev" ] && [ "$(ENV)" != "staging" ] && [ "$(ENV)" != "prod" ]; then \

View File

@@ -1,30 +1,32 @@
# Reusable script for building the Flutter app # Reusable script for building the Flutter app
flutter-build-script: &flutter-build-script client-app-android-apk-build-script: &client-app-android-apk-build-script
name: 👷 Build Flutter App name: 👷🤖 Build Client App APK (Android)
script: | script: |
flutter pub get make -C ../.. mobile-client-build ENV=$ENV PLATFORM=android BUILD_TYPE=apk
flutter pub run build_runner build --delete-conflicting-outputs
android-app-build-script: &android-app-build-script client-app-ios-build-script: &client-app-ios-build-script
name: 🤖 Build Android App name: 👷🍎 Build Client App (iOS)
script: | script: |
# Build Android make -C ../.. mobile-client-build ENV=$ENV PLATFORM=ios
flutter build appbundle --flavor $FLAVOR
ios-app-build-script: &ios-app-build-script staff-app-android-apk-build-script: &staff-app-android-apk-build-script
name: 🍎 Build iOS App name: 👷🤖 Build Staff App APK (Android)
script: | script: |
# Build iOS make -C ../.. mobile-staff-build ENV=$ENV PLATFORM=android BUILD_TYPE=apk
flutter build ipa --flavor $FLAVOR
staff-app-ios-build-script: &staff-app-ios-build-script
name: 👷🍎 Build Staff App (iOS)
script: |
make -C ../.. mobile-staff-build ENV=$ENV PLATFORM=ios
# Reusable script for distributing Android to Firebase # Reusable script for distributing Android to Firebase
distribute-android-script: &distribute-android-script distribute-android-script: &distribute-android-script
name: 🚛🤖 Distribute Android to Firebase App Distribution name: 🚛🤖 Distribute Android to Firebase App Distribution
script: | script: |
# Distribute Android # Distribute Android APK
firebase appdistribution:distribute "build/app/outputs/bundle/${FLAVOR}Release/app-${FLAVOR}-release.aab" \ firebase appdistribution:distribute "build/app/outputs/flutter-apk/app-${ENV}-release.apk" \
--app $FIREBASE_APP_ID_ANDROID \ --app $FIREBASE_APP_ID_ANDROID \
--release-notes "Build $FCI_BUILD_NUMBER" \ --release-notes "Build $FCI_BUILD_NUMBER - Environment: $ENV" \
--groups "$FIREBASE_TESTER_GROUPS" \ --groups "$FIREBASE_TESTER_GROUPS" \
--token $FIREBASE_TOKEN --token $FIREBASE_TOKEN
@@ -35,7 +37,7 @@ distribute-ios-script: &distribute-ios-script
# Distribute iOS # Distribute iOS
firebase appdistribution:distribute "build/ios/ipa/app.ipa" \ firebase appdistribution:distribute "build/ios/ipa/app.ipa" \
--app $FIREBASE_APP_ID_IOS \ --app $FIREBASE_APP_ID_IOS \
--release-notes "Build $FCI_BUILD_NUMBER" \ --release-notes "Build $FCI_BUILD_NUMBER - Environment: $ENV" \
--groups "$FIREBASE_TESTER_GROUPS" \ --groups "$FIREBASE_TESTER_GROUPS" \
--token $FIREBASE_TOKEN --token $FIREBASE_TOKEN
@@ -85,9 +87,10 @@ workflows:
environment: environment:
groups: groups:
- client_app_dev_credentials - client_app_dev_credentials
vars:
ENV: dev
scripts: scripts:
- *flutter-build-script - *client-app-android-apk-build-script
- *android-app-build-script
- *distribute-android-script - *distribute-android-script
client-app-staging-android: client-app-staging-android:
@@ -96,9 +99,10 @@ workflows:
environment: environment:
groups: groups:
- client_app_staging_credentials - client_app_staging_credentials
vars:
ENV: staging
scripts: scripts:
- *flutter-build-script - *client-app-android-apk-build-script
- *android-app-build-script
- *distribute-android-script - *distribute-android-script
client-app-prod-android: client-app-prod-android:
@@ -107,9 +111,10 @@ workflows:
environment: environment:
groups: groups:
- client_app_prod_credentials - client_app_prod_credentials
vars:
ENV: prod
scripts: scripts:
- *flutter-build-script - *client-app-android-apk-build-script
- *android-app-build-script
- *distribute-android-script - *distribute-android-script
# ================================================================================= # =================================================================================
@@ -121,9 +126,10 @@ workflows:
environment: environment:
groups: groups:
- client_app_dev_credentials - client_app_dev_credentials
vars:
ENV: dev
scripts: scripts:
- *flutter-build-script - *client-app-ios-build-script
- *ios-app-build-script
- *distribute-ios-script - *distribute-ios-script
client-app-staging-ios: client-app-staging-ios:
@@ -132,9 +138,10 @@ workflows:
environment: environment:
groups: groups:
- client_app_staging_credentials - client_app_staging_credentials
vars:
ENV: staging
scripts: scripts:
- *flutter-build-script - *client-app-ios-build-script
- *ios-app-build-script
- *distribute-ios-script - *distribute-ios-script
client-app-prod-ios: client-app-prod-ios:
@@ -143,9 +150,10 @@ workflows:
environment: environment:
groups: groups:
- client_app_prod_credentials - client_app_prod_credentials
vars:
ENV: prod
scripts: scripts:
- *flutter-build-script - *client-app-ios-build-script
- *ios-app-build-script
- *distribute-ios-script - *distribute-ios-script
# ================================================================================= # =================================================================================
@@ -153,35 +161,38 @@ workflows:
# ================================================================================= # =================================================================================
staff-app-dev-android: staff-app-dev-android:
<<: *staff-app-base <<: *staff-app-base
name: 🤖👨‍🍳 Staff App Dev (Android App Distribution) name: 🚛🤖👨‍🍳 Staff App Dev (Android App Distribution)
environment: environment:
groups: groups:
- staff_app_dev_credentials - staff_app_dev_credentials
vars:
ENV: dev
scripts: scripts:
- *flutter-build-script - *staff-app-android-apk-build-script
- *android-app-build-script
- *distribute-android-script - *distribute-android-script
staff-app-staging-android: staff-app-staging-android:
<<: *staff-app-base <<: *staff-app-base
name: 🤖👨‍🍳 Staff App Staging (Android App Distribution) name: 🚛🤖👨‍🍳 Staff App Staging (Android App Distribution)
environment: environment:
groups: groups:
- staff_app_staging_credentials - staff_app_staging_credentials
vars:
ENV: staging
scripts: scripts:
- *flutter-build-script - *staff-app-android-apk-build-script
- *android-app-build-script
- *distribute-android-script - *distribute-android-script
staff-app-prod-android: staff-app-prod-android:
<<: *staff-app-base <<: *staff-app-base
name: 🤖👨‍🍳 Staff App Prod (Android App Distribution) name: 🚛🤖👨‍🍳 Staff App Prod (Android App Distribution)
environment: environment:
groups: groups:
- staff_app_prod_credentials - staff_app_prod_credentials
vars:
ENV: prod
scripts: scripts:
- *flutter-build-script - *staff-app-android-apk-build-script
- *android-app-build-script
- *distribute-android-script - *distribute-android-script
# ================================================================================= # =================================================================================
@@ -189,33 +200,37 @@ workflows:
# ================================================================================= # =================================================================================
staff-app-dev-ios: staff-app-dev-ios:
<<: *staff-app-base <<: *staff-app-base
name: 🍎👨‍🍳 Staff App Dev (iOS App Distribution) name: 🚛🍎👨‍🍳 Staff App Dev (iOS App Distribution)
environment: environment:
groups: groups:
- staff_app_dev_credentials - staff_app_dev_credentials
vars:
ENV: dev
scripts: scripts:
- *flutter-build-script - *staff-app-ios-build-script
- *ios-app-build-script
- *distribute-ios-script - *distribute-ios-script
staff-app-staging-ios: staff-app-staging-ios:
<<: *staff-app-base <<: *staff-app-base
name: 🍎👨‍🍳 Staff App Staging (iOS App Distribution) name: 🚛🍎👨‍🍳 Staff App Staging (iOS App Distribution)
environment: environment:
groups: groups:
- staff_app_staging_credentials - staff_app_staging_credentials
vars:
ENV: staging
scripts: scripts:
- *flutter-build-script - *staff-app-ios-build-script
- *ios-app-build-script
- *distribute-ios-script - *distribute-ios-script
staff-app-prod-ios: staff-app-prod-ios:
<<: *staff-app-base <<: *staff-app-base
name: 🍎👨‍🍳 Staff App Prod (iOS App Distribution) name: 🚛🍎👨‍🍳 Staff App Prod (iOS App Distribution)
environment: environment:
groups: groups:
- staff_app_prod_credentials - staff_app_prod_credentials
vars:
ENV: prod
scripts: scripts:
- *flutter-build-script - *staff-app-ios-build-script
- *ios-app-build-script
- *distribute-ios-script - *distribute-ios-script