-
-
Notifications
You must be signed in to change notification settings - Fork 45
Firebase dependencies using BoM #3510
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
Changed to using latest Kotlin version. Replaced an obsolete analytics constant (ITEM_LIST to ITEM_LIST_ID)
📝 WalkthroughWalkthroughThis pull request updates Firebase dependency management, upgrades the Kotlin compiler, and modifies an analytics event parameter. The Firebase dependencies in app/build.gradle are consolidated under the Firebase Bill of Materials (BOM) platform, removing explicit versions. The Kotlin version is upgraded from 1.8.20 to 2.1.0 in build.gradle. In FirebaseAnalyticsUtil.java, the analytics parameter key in the reportViewArchivedFormsList method changes from Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Suggested labels
Suggested reviewers
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
🤖 Fix all issues with AI agents
In `@app/build.gradle`:
- Around line 113-117: Update the Gradle plugin versions that are incompatible
with Firebase BOM 34.8.0: in your buildscript classpath or plugins block where
you declare com.google.gms:google-services,
com.google.firebase:firebase-crashlytics-gradle, and
com.google.firebase:perf-plugin (look for those exact artifactIds or the plugin
ids com.google.gms.google-services, com.google.firebase.crashlytics,
com.google.firebase.perf), bump them to at least Google Services 4.4.4+,
Crashlytics Gradle 3.0.6+, and Performance Monitoring 2.0.2+ respectively;
ensure you update the version strings in the classpath or plugins declaration
and then sync/build to confirm compatibility with firebase-bom:34.8.0.
| implementation platform('com.google.firebase:firebase-bom:34.8.0') | ||
| implementation 'com.google.firebase:firebase-analytics' | ||
| implementation 'com.google.firebase:firebase-messaging' | ||
| implementation 'com.google.firebase:firebase-perf' | ||
| implementation 'com.google.firebase:firebase-crashlytics' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
🏁 Script executed:
# First, check the app/build.gradle file to see the full context around the lines mentioned
cat -n app/build.gradle | head -170Repository: dimagi/commcare-android
Length of output: 9445
🏁 Script executed:
# Also check for root build.gradle to see plugin versions
find . -name "build.gradle" -type f | head -10Repository: dimagi/commcare-android
Length of output: 140
🏁 Script executed:
# Look for root-level build.gradle or settings.gradle
cat -n build.gradle 2>/dev/null || echo "No root build.gradle found"Repository: dimagi/commcare-android
Length of output: 1346
🌐 Web query:
Firebase Android BOM 34.8.0 compatibility requirements google-services crashlytics perf gradle plugin versions
💡 Result:
Short answer — for Firebase Android BoM 34.8.0 (released Jan 15, 2026) use these tool/plugin minimums:
- Firebase BoM: com.google.firebase:firebase-bom:34.8.0. [1]
- Android Gradle Plugin (AGP): 8.1.x (AGP 8.1+). [2][3]
- Gradle CLI: Gradle 8.0+. [3]
- Google Services Gradle plugin: com.google.gms:google-services version 4.4.4 (recommended; docs reference 4.4.1 minimum in some pages). Use 4.4.4+. [2][3][5]
- Crashlytics Gradle plugin: com.google.firebase.crashlytics version 3.0.6 (add via plugins block). [3]
- Performance Monitoring plugin: com.google.firebase:perf-plugin 2.0.2 (use perf-plugin 2.0.2+). [4]
Notes: the BoM removed KTX modules starting v34.0.0 — migrate if you rely on KTX. If you want, I can check specific AGP/Gradle compatibility for your project (build.gradle files). Sources: Firebase docs and release notes. [1][2][3][4][5]
Sources
[1] Firebase BoM 34.8.0 (Maven listing).
[2] Firebase Android setup / Add Firebase to your Android project (google-services 4.4.4).
[3] Crashlytics get-started (AGP 8.1+, Gradle 8.0+, crashlytics plugin 3.0.6).
[4] Firebase Android SDK release notes / perf-plugin 2.0.2.
[5] Firebase Crashlytics NDK / Gradle/Google services minimums.
Update Gradle plugins to support Firebase BOM 34.8.0.
The following plugins are incompatible with Firebase BOM 34.8.0 and must be updated:
- Google Services: update from 4.3.14 to 4.4.4+
- Crashlytics Gradle: update from 2.9.2 to 3.0.6+
- Performance Monitoring: update from 1.4.2 to 2.0.2+
These plugin versions are below the documented minimums for BOM 34.8.0 and will likely cause build or runtime failures.
Also applies to: 166-166
🤖 Prompt for AI Agents
In `@app/build.gradle` around lines 113 - 117, Update the Gradle plugin versions
that are incompatible with Firebase BOM 34.8.0: in your buildscript classpath or
plugins block where you declare com.google.gms:google-services,
com.google.firebase:firebase-crashlytics-gradle, and
com.google.firebase:perf-plugin (look for those exact artifactIds or the plugin
ids com.google.gms.google-services, com.google.firebase.crashlytics,
com.google.firebase.perf), bump them to at least Google Services 4.4.4+,
Crashlytics Gradle 3.0.6+, and Performance Monitoring 2.0.2+ respectively;
ensure you update the version strings in the classpath or plugins declaration
and then sync/build to confirm compatibility with firebase-bom:34.8.0.
|
@damagatchi retest this please |
2 similar comments
|
@damagatchi retest this please |
|
@damagatchi retest this please |
https://dimagi.atlassian.net/browse/CCCT-2032
Product Description
No user-facing changes
Technical Summary
Changed Firebase dependencies to use latest BoM (34.8.0)
Changed to using latest Kotlin version. The latest versions of the Firebase libraries were built using a newer version of Kotlin than we supported before.
Replaced an obsolete analytics constant (ITEM_LIST to ITEM_LIST_ID). The previous constant was deprecated before but is gone in the latest version.
Feature Flag
None
Safety Assurance
Safety story
Dev tested in debug mode.
Creating draft PR so I can test a fully-signed build (including FCM).
Automated test coverage
None
QA Plan
Basic regression testing to ensure nothing strange broke.