1.5 KiB
Agent Instructions for crowd-funder-for-time-pwa
Android Build — Google Play Services / FOSS Compatibility
Firebase is opt-in. Do NOT enable it accidentally.
android/google-services.json is gitignored and may be present on disk for push notification development, but Firebase is only activated when you explicitly pass -PfirebaseEnabled to Gradle:
- FOSS / APK / Aurora / Zapstore / F-Droid builds: just
./gradlew assembleRelease— Firebase stays off even ifgoogle-services.jsonis on disk. - Firebase / FCM / Play Store builds:
./gradlew bundleRelease -PfirebaseEnabled— explicitly opt in.
This guard is in android/app/build.gradle. Do NOT change this conditional to activate Firebase unconditionally based on file presence alone — that was the bug that broke FOSS distribution in June 2026.
google-services.json is intentionally excluded from git (android/.gitignore). Never commit it.
Full details, incident history, and F-Droid notes: doc/development/android-firebase-gms.md
Android Build — MLKit Barcode Scanner
@capacitor-mlkit/barcode-scanning depends on com.google.android.gms:play-services-code-scanner, which merges com.google.android.gms.version into the APK manifest. This is a known long-term issue for strict FOSS/F-Droid builds. For now, the dependency is accepted; barcode scanning simply will not work on GMS-less devices (it fails gracefully at scan time, not at startup). Do not add additional GMS/Firebase dependencies without explicitly acknowledging this trade-off.