in buildSrc/src/main/java/com/google/firebase/gradle/bomgenerator/RecipeVersionWriter.java [34:239]
public String generateVersionUpdate() {
Map<String, Dependency> depsByArtifactId =
firebaseDependencies.stream().collect(Collectors.toMap(Dependency::fullArtifactId, x -> x));
StringBuilder outputBuilder = new StringBuilder();
outputBuilder.append("<!DOCTYPE root [\n" + " <!-- Common Firebase dependencies -->\n");
outputBuilder.append(
generateVersionVariable(
depsByArtifactId,
"Google Services Plugin",
"google-services-plugin-class",
"com.google.gms:google-services"));
outputBuilder.append(
" <!ENTITY google-services-plugin \"com.google.gms.google-services\">\n"
+ " <!ENTITY gradle-plugin-class \"com.android.tools.build:gradle:3.4.0\">\n");
outputBuilder.append("\n");
outputBuilder.append(" <!-- Firebase SDK libraries -->\n");
outputBuilder.append(
generateVersionVariable(
depsByArtifactId,
"Analytics",
"analytics-dependency",
"com.google.firebase:firebase-analytics"));
outputBuilder.append(
generateVersionVariable(
depsByArtifactId,
"Analytics KTX",
"analytics-ktx-dependency",
"com.google.firebase:firebase-analytics-ktx"));
outputBuilder.append(
generateVersionVariable(
depsByArtifactId,
"Crashlytics",
"crashlytics-dependency",
"com.google.firebase:firebase-crashlytics"));
outputBuilder.append(
generateVersionVariable(
depsByArtifactId,
"Crashlytics KTX",
"crashlytics-ktx-dependency",
"com.google.firebase:firebase-crashlytics-ktx"));
outputBuilder.append(
generateVersionVariable(
depsByArtifactId,
"Performance Monitoring",
"perf-dependency",
"com.google.firebase:firebase-perf"));
outputBuilder.append(
generateVersionVariable(
depsByArtifactId,
"Performance Monitoring KTX",
"perf-ktx-dependency",
"com.google.firebase:firebase-perf-ktx"));
outputBuilder.append(
generateVersionVariable(
depsByArtifactId,
"Cloud Messaging",
"messaging-dependency",
"com.google.firebase:firebase-messaging"));
outputBuilder.append(
generateVersionVariable(
depsByArtifactId,
"Cloud Messaging KTX",
"messaging-ktx-dependency",
"com.google.firebase:firebase-messaging-ktx"));
outputBuilder.append(
generateVersionVariable(
depsByArtifactId,
"Authentication",
"auth-dependency",
"com.google.firebase:firebase-auth"));
outputBuilder.append(
generateVersionVariable(
depsByArtifactId,
"Authentication KTX",
"auth-ktx-dependency",
"com.google.firebase:firebase-auth-ktx"));
outputBuilder.append(
generateVersionVariable(
depsByArtifactId,
"Realtime Database",
"database-dependency",
"com.google.firebase:firebase-database"));
outputBuilder.append(
generateVersionVariable(
depsByArtifactId,
"Realtime Database KTX",
"database-ktx-dependency",
"com.google.firebase:firebase-database-ktx"));
outputBuilder.append(
generateVersionVariable(
depsByArtifactId,
"Cloud Storage",
"storage-dependency",
"com.google.firebase:firebase-storage"));
outputBuilder.append(
generateVersionVariable(
depsByArtifactId,
"Cloud Storage KTX",
"storage-ktx-dependency",
"com.google.firebase:firebase-storage-ktx"));
outputBuilder.append(
generateVersionVariable(
depsByArtifactId,
"Remote Config",
"remote-config-dependency",
"com.google.firebase:firebase-config"));
outputBuilder.append(
generateVersionVariable(
depsByArtifactId,
"Remote Config KTX",
"remote-config-ktx-dependency",
"com.google.firebase:firebase-config-ktx"));
outputBuilder.append(
generateVersionVariable(
depsByArtifactId,
"App Indexing",
"appindexing-dependency",
"com.google.firebase:firebase-appindexing"));
outputBuilder.append(
generateVersionVariable(
depsByArtifactId,
"Admob",
"ads-dependency",
"com.google.android.gms:play-services-ads"));
outputBuilder.append(
generateVersionVariable(
depsByArtifactId,
"Cloud Firestore",
"firestore-dependency",
"com.google.firebase:firebase-firestore"));
outputBuilder.append(
generateVersionVariable(
depsByArtifactId,
"Cloud Firestore KTX",
"firestore-ktx-dependency",
"com.google.firebase:firebase-firestore-ktx"));
outputBuilder.append(
generateVersionVariable(
depsByArtifactId,
"Firebase Functions",
"functions-dependency",
"com.google.firebase:firebase-functions"));
outputBuilder.append(
generateVersionVariable(
depsByArtifactId,
"Firebase Functions KTX",
"functions-ktx-dependency",
"com.google.firebase:firebase-functions-ktx"));
outputBuilder.append(
generateVersionVariable(
depsByArtifactId,
"Firebase Dynamic Links",
"fdl-dependency",
"com.google.firebase:firebase-dynamic-links"));
outputBuilder.append(
generateVersionVariable(
depsByArtifactId,
"Firebase Dynamic Links KTX",
"fdl-ktx-dependency",
"com.google.firebase:firebase-dynamic-links-ktx"));
outputBuilder.append(
generateVersionVariable(
depsByArtifactId,
"FIAM Display",
"fiamd-dependency",
"com.google.firebase:firebase-inappmessaging-display"));
outputBuilder.append(
generateVersionVariable(
depsByArtifactId,
"FIAM Display KTX",
"fiamd-ktx-dependency",
"com.google.firebase:firebase-inappmessaging-display-ktx"));
outputBuilder.append(
generateVersionVariable(
depsByArtifactId,
"Firebase MLKit Vision",
"ml-vision-dependency",
"com.google.firebase:firebase-ml-vision"));
outputBuilder.append("\n");
outputBuilder.append(" <!-- Firebase Gradle plugins -->\n");
outputBuilder.append(
generateVersionVariable(
depsByArtifactId,
"App Distribution",
"appdistribution-plugin-class",
"com.google.firebase:firebase-appdistribution-gradle"));
outputBuilder.append(
" <!ENTITY appdistribution-plugin \"com.google.firebase.appdistribution\">\n\n");
outputBuilder.append(
generateVersionVariable(
depsByArtifactId,
"Crashlytics",
"crashlytics-plugin-class",
"com.google.firebase:firebase-crashlytics-gradle"));
outputBuilder.append(" <!ENTITY crashlytics-plugin \"com.google.firebase.crashlytics\">\n\n");
outputBuilder.append(" <!-- Performance Monitoring -->\n");
outputBuilder.append(
generateVersionVariable(
depsByArtifactId,
"Perf Plugin",
"perf-plugin-class",
"com.google.firebase:perf-plugin"));
outputBuilder.append(" <!ENTITY perf-plugin \"com.google.firebase.firebase-perf\">\n");
outputBuilder.append("]>\n");
return outputBuilder.toString();
}