Skip to content

Commit cc34082

Browse files
committed
Merge remote-tracking branch 'origin/main' into fix/perf-shared-pref-performace
2 parents 0548110 + 57e401c commit cc34082

File tree

37 files changed

+564
-175
lines changed

37 files changed

+564
-175
lines changed

buildSrc/build.gradle.kts

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -52,19 +52,11 @@ dependencies {
5252
annotationProcessor("com.google.auto.value:auto-value:1.6.5")
5353
implementation(kotlin("gradle-plugin", "1.8.22"))
5454
implementation(libs.org.json)
55+
implementation(libs.bundles.maven.resolver)
5556

56-
implementation("org.eclipse.aether:aether-api:1.0.0.v20140518")
57-
implementation("org.eclipse.aether:aether-util:1.0.0.v20140518")
57+
implementation("com.google.guava:guava:31.1-jre")
5858
implementation("org.ow2.asm:asm-tree:9.5")
59-
implementation("org.eclipse.aether:aether-impl:1.0.0.v20140518")
60-
implementation("org.eclipse.aether:aether-connector-basic:1.0.0.v20140518")
61-
implementation("org.eclipse.aether:aether-transport-file:1.0.0.v20140518")
62-
implementation("org.eclipse.aether:aether-transport-http:1.0.0.v20140518")
63-
implementation("org.eclipse.aether:aether-transport-wagon:1.0.0.v20140518")
64-
implementation("org.apache.maven:maven-aether-provider:3.3.9")
65-
6659
implementation("org.eclipse.jgit:org.eclipse.jgit:6.3.0.202209071007-r")
67-
6860
implementation(libs.kotlinx.serialization.json)
6961
implementation("com.google.code.gson:gson:2.8.9")
7062
implementation(libs.android.gradlePlugin.gradle)

buildSrc/src/main/java/com/google/firebase/gradle/bomgenerator/BomGeneratorTask.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616

1717
import static java.util.stream.Collectors.toList;
1818

19-
import com.google.common.collect.ImmutableList;
2019
import com.google.common.collect.ImmutableMap;
2120
import com.google.common.collect.Sets;
2221
import com.google.firebase.gradle.bomgenerator.model.Dependency;
@@ -51,7 +50,7 @@
5150

5251
public abstract class BomGeneratorTask extends DefaultTask {
5352
private static final List<String> BOM_ARTIFACTS =
54-
ImmutableList.of(
53+
List.of(
5554
"com.google.firebase:firebase-analytics",
5655
"com.google.firebase:firebase-analytics-ktx",
5756
"com.google.firebase:firebase-appcheck-debug",
@@ -94,7 +93,7 @@ public abstract class BomGeneratorTask extends DefaultTask {
9493
"com.google.firebase:firebase-storage-ktx",
9594
"com.google.firebase:firebase-vertexai");
9695
private static final List<String> IGNORED_ARTIFACTS =
97-
ImmutableList.of(
96+
List.of(
9897
"crash-plugin",
9998
"firebase-ml-vision",
10099
"crashlytics",
@@ -175,7 +174,7 @@ public abstract class BomGeneratorTask extends DefaultTask {
175174
"firebase-ml-natural-language-translate",
176175
"firebase-ml-natural-language-translate-model");
177176
private static final List<String> IMPORTANT_NON_FIREBASE_LIBRARIES =
178-
ImmutableList.of(
177+
List.of(
179178
"com.google.android.gms:play-services-ads",
180179
"com.google.gms:google-services",
181180
"com.android.tools.build:gradle",

buildSrc/src/main/java/com/google/firebase/gradle/plugins/FirebaseJavaLibraryPlugin.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616

1717
package com.google.firebase.gradle.plugins
1818

19-
import com.google.common.collect.ImmutableList
2019
import com.google.firebase.gradle.plugins.LibraryType.JAVA
2120
import com.google.firebase.gradle.plugins.semver.ApiDiffer
2221
import com.google.firebase.gradle.plugins.semver.GmavenCopier
@@ -56,7 +55,7 @@ class FirebaseJavaLibraryPlugin : BaseFirebaseLibraryPlugin() {
5655

5756
// reduce the likelihood of kotlin module files colliding.
5857
project.tasks.withType<KotlinCompile> {
59-
kotlinOptions.freeCompilerArgs = ImmutableList.of("-module-name", kotlinModuleName(project))
58+
kotlinOptions.freeCompilerArgs = listOf("-module-name", kotlinModuleName(project))
6059
}
6160
}
6261

buildSrc/src/main/java/com/google/firebase/gradle/plugins/ci/ContinuousIntegrationPlugin.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414

1515
package com.google.firebase.gradle.plugins.ci;
1616

17-
import com.google.common.collect.ImmutableList;
1817
import com.google.firebase.gradle.plugins.FirebaseLibraryExtension;
1918
import java.util.List;
2019
import java.util.Set;
@@ -124,7 +123,7 @@ private static void setupChangedTask(
124123
}
125124

126125
private static final List<String> ANDROID_PLUGINS =
127-
ImmutableList.of("com.android.application", "com.android.library", "com.android.test");
126+
List.of("com.android.application", "com.android.library", "com.android.test");
128127

129128
private static boolean isAndroidProject(Project project) {
130129
return ANDROID_PLUGINS.stream()

buildSrc/src/main/java/com/google/firebase/gradle/plugins/ci/Coverage.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@
1515
package com.google.firebase.gradle.plugins.ci;
1616

1717
import com.google.common.collect.ImmutableList;
18-
import com.google.common.collect.ImmutableMap;
1918
import com.google.firebase.gradle.plugins.FirebaseLibraryExtension;
2019
import java.io.File;
2120
import java.util.List;
21+
import java.util.Map;
2222
import org.gradle.api.Project;
2323
import org.gradle.api.tasks.testing.Test;
2424
import org.gradle.testing.jacoco.plugins.JacocoPluginExtension;
@@ -32,7 +32,7 @@ private Coverage() {}
3232

3333
public static void apply(FirebaseLibraryExtension firebaseLibrary) {
3434
Project project = firebaseLibrary.getProject();
35-
project.apply(ImmutableMap.of("plugin", "jacoco"));
35+
project.apply(Map.of("plugin", "jacoco"));
3636
File reportsDir = new File(project.getBuildDir(), "/reports/jacoco");
3737
JacocoPluginExtension jacoco = project.getExtensions().getByType(JacocoPluginExtension.class);
3838

@@ -45,7 +45,7 @@ public static void apply(FirebaseLibraryExtension firebaseLibrary) {
4545
test -> {
4646
JacocoTaskExtension testJacoco =
4747
test.getExtensions().getByType(JacocoTaskExtension.class);
48-
testJacoco.setExcludeClassLoaders(ImmutableList.of("jdk.internal.*"));
48+
testJacoco.setExcludeClassLoaders(List.of("jdk.internal.*"));
4949
testJacoco.setIncludeNoLocationClasses(true);
5050
});
5151

@@ -72,13 +72,13 @@ public static void apply(FirebaseLibraryExtension firebaseLibrary) {
7272
.setFrom(
7373
project.files(
7474
project.fileTree(
75-
ImmutableMap.of(
75+
Map.of(
7676
"dir",
7777
project.getBuildDir() + "/intermediates/javac/release",
7878
"excludes",
7979
excludes)),
8080
project.fileTree(
81-
ImmutableMap.of(
81+
Map.of(
8282
"dir",
8383
project.getBuildDir() + "/tmp/kotlin-classes/release",
8484
"excludes",
@@ -88,7 +88,7 @@ public static void apply(FirebaseLibraryExtension firebaseLibrary) {
8888
task.getExecutionData()
8989
.setFrom(
9090
project.fileTree(
91-
ImmutableMap.of(
91+
Map.of(
9292
"dir",
9393
project.getBuildDir(),
9494
"includes",

firebase-common/firebase-common.gradle.kts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ android {
3232
namespace = "com.google.firebase"
3333
defaultConfig {
3434
minSdk = minSdkVersion
35-
targetSdk = targetSdkVersion
3635
multiDexEnabled = true
3736
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
3837
consumerProguardFiles("proguard.txt")
@@ -46,7 +45,11 @@ android {
4645
targetCompatibility = JavaVersion.VERSION_1_8
4746
}
4847
kotlinOptions { jvmTarget = "1.8" }
49-
testOptions.unitTests.isIncludeAndroidResources = true
48+
testOptions {
49+
targetSdk = targetSdkVersion
50+
unitTests { isIncludeAndroidResources = true }
51+
}
52+
lint { targetSdk = targetSdkVersion }
5053
}
5154

5255
dependencies {

firebase-components/firebase-components.gradle.kts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,11 @@ android {
2323
val compileSdkVersion: Int by rootProject
2424
val targetSdkVersion: Int by rootProject
2525
val minSdkVersion: Int by rootProject
26+
2627
compileSdk = compileSdkVersion
2728
namespace = "com.google.firebase.components"
2829
defaultConfig {
2930
minSdk = minSdkVersion
30-
targetSdk = targetSdkVersion
3131
multiDexEnabled = true
3232
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
3333
consumerProguardFiles("proguard.txt")
@@ -36,7 +36,11 @@ android {
3636
sourceCompatibility = JavaVersion.VERSION_1_8
3737
targetCompatibility = JavaVersion.VERSION_1_8
3838
}
39-
testOptions.unitTests.isIncludeAndroidResources = true
39+
testOptions {
40+
targetSdk = targetSdkVersion
41+
unitTests { isIncludeAndroidResources = true }
42+
}
43+
lint { targetSdk = targetSdkVersion }
4044
}
4145

4246
dependencies {

firebase-components/firebase-dynamic-module-support/firebase-dynamic-module-support.gradle.kts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,15 +34,18 @@ android {
3434
namespace = "com.google.firebase.dynamicloading"
3535
defaultConfig {
3636
minSdk = minSdkVersion
37-
targetSdk = targetSdkVersion
3837
multiDexEnabled = true
3938
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
4039
}
4140
compileOptions {
4241
sourceCompatibility = JavaVersion.VERSION_1_8
4342
targetCompatibility = JavaVersion.VERSION_1_8
4443
}
45-
testOptions.unitTests.isIncludeAndroidResources = true
44+
testOptions {
45+
targetSdk = targetSdkVersion
46+
unitTests { isIncludeAndroidResources = true }
47+
}
48+
lint { targetSdk = targetSdkVersion }
4649
}
4750

4851
dependencies {

firebase-config-interop/firebase-config-interop.gradle.kts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ android {
3131

3232
defaultConfig {
3333
minSdk = minSdkVersion
34-
targetSdk = targetSdkVersion
3534

3635
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
3736
}
@@ -40,6 +39,9 @@ android {
4039
sourceCompatibility = JavaVersion.VERSION_1_8
4140
targetCompatibility = JavaVersion.VERSION_1_8
4241
}
42+
43+
testOptions { targetSdk = targetSdkVersion }
44+
lint { targetSdk = targetSdkVersion }
4345
}
4446

4547
dependencies {

firebase-config/firebase-config.gradle.kts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ android {
3838

3939
defaultConfig {
4040
minSdk = 21
41-
targetSdk = targetSdkVersion
4241
multiDexEnabled = true
4342
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
4443
}
@@ -49,8 +48,14 @@ android {
4948
sourceCompatibility = JavaVersion.VERSION_1_8
5049
targetCompatibility = JavaVersion.VERSION_1_8
5150
}
51+
5252
kotlinOptions { jvmTarget = "1.8" }
53-
testOptions.unitTests.isIncludeAndroidResources = true
53+
54+
testOptions {
55+
targetSdk = targetSdkVersion
56+
unitTests { isIncludeAndroidResources = true }
57+
}
58+
lint { targetSdk = targetSdkVersion }
5459
}
5560

5661
dependencies {

firebase-database-collection/firebase-database-collection.gradle.kts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,15 +27,14 @@ android {
2727
compileSdk = compileSdkVersion
2828

2929
namespace = "com.google.firebase.database.collection"
30-
defaultConfig {
31-
minSdk = minSdkVersion
32-
targetSdk = targetSdkVersion
33-
}
30+
defaultConfig { minSdk = minSdkVersion }
3431

3532
compileOptions {
3633
sourceCompatibility = JavaVersion.VERSION_1_8
3734
targetCompatibility = JavaVersion.VERSION_1_8
3835
}
36+
testOptions { targetSdk = targetSdkVersion }
37+
lint { targetSdk = targetSdkVersion }
3938
}
4039

4140
dependencies {

firebase-database/firebase-database.gradle.kts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ android {
3838
namespace = "com.google.firebase.database"
3939
defaultConfig {
4040
minSdk = minSdkVersion
41-
targetSdk = targetSdkVersion
4241
multiDexEnabled = true
4342
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
4443
}
@@ -56,7 +55,12 @@ android {
5655
kotlinOptions { jvmTarget = "1.8" }
5756

5857
packagingOptions.resources.excludes += "META-INF/DEPENDENCIES"
59-
testOptions.unitTests.isIncludeAndroidResources = true
58+
59+
testOptions {
60+
targetSdk = targetSdkVersion
61+
unitTests { isIncludeAndroidResources = true }
62+
}
63+
lint { targetSdk = targetSdkVersion }
6064
}
6165
}
6266

firebase-dataconnect/androidTestutil/src/main/kotlin/com/google/firebase/dataconnect/testutil/TestFirebaseAppFactory.kt

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,12 @@ import com.google.firebase.app
2222
import com.google.firebase.initialize
2323
import com.google.firebase.util.nextAlphanumericString
2424
import kotlin.random.Random
25+
import kotlin.time.Duration.Companion.seconds
26+
import kotlinx.coroutines.DelicateCoroutinesApi
27+
import kotlinx.coroutines.Dispatchers
28+
import kotlinx.coroutines.GlobalScope
29+
import kotlinx.coroutines.delay
30+
import kotlinx.coroutines.launch
2531

2632
/**
2733
* A JUnit test rule that creates instances of [FirebaseApp] for use during testing, and closes them
@@ -37,6 +43,12 @@ class TestFirebaseAppFactory : FactoryTestRule<FirebaseApp, Nothing>() {
3743
)
3844

3945
override fun destroyInstance(instance: FirebaseApp) {
40-
instance.delete()
46+
// Work around app crash due to IllegalStateException from FirebaseAuth if `delete()` is called
47+
// very quickly after `FirebaseApp.getInstance()`. See b/378116261 for details.
48+
@OptIn(DelicateCoroutinesApi::class)
49+
GlobalScope.launch(Dispatchers.IO) {
50+
delay(1.seconds)
51+
instance.delete()
52+
}
4153
}
4254
}

firebase-dataconnect/firebase-dataconnect.gradle.kts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,12 +57,15 @@ android {
5757

5858
@Suppress("UnstableApiUsage")
5959
testOptions {
60+
targetSdk = targetSdkVersion
6061
unitTests {
6162
isIncludeAndroidResources = true
6263
isReturnDefaultValues = true
6364
}
6465
}
6566

67+
lint { targetSdk = targetSdkVersion }
68+
6669
packaging {
6770
resources {
6871
excludes.add("META-INF/LICENSE.md")

firebase-dataconnect/gradleplugin/plugin/src/main/kotlin/com/google/firebase/dataconnect/gradle/plugin/DataConnectDslExtension.kt

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,19 @@ abstract class DataConnectDslExtension @Inject constructor(objectFactory: Object
6363
@Suppress("unused")
6464
fun emulator(block: DataConnectEmulatorDslExtension.() -> Unit): Unit = block(emulator)
6565

66+
/**
67+
* Values to use when running ktfmt to format the code generated by the Data Connect toolkit,
68+
* which override the values from those defined in the outer scope.
69+
*/
70+
val ktfmt: DataConnectKtfmtDslExtension =
71+
objectFactory.newInstance<DataConnectKtfmtDslExtension>()
72+
73+
/**
74+
* Configure values to use when running ktfmt to format the code generated by the Data Connect
75+
* toolkit, which override the values from those defined in the outer scope.
76+
*/
77+
@Suppress("unused") fun ktfmt(block: DataConnectKtfmtDslExtension.() -> Unit): Unit = block(ktfmt)
78+
6679
/**
6780
* Values to use when performing code generation, which override the values from those defined in
6881
* the outer scope.
@@ -85,6 +98,14 @@ abstract class DataConnectDslExtension @Inject constructor(objectFactory: Object
8598
abstract var schemaExtensionsOutputEnabled: Boolean?
8699
}
87100

101+
/**
102+
* Values to use when running ktfmt to format the code generated by the Data Connect toolkit,
103+
* which override the values from those defined in the outer scope.
104+
*/
105+
abstract class DataConnectKtfmtDslExtension {
106+
abstract var jarFile: File?
107+
}
108+
88109
interface DataConnectExecutableBuilder {
89110
var version: String?
90111
var file: File?

0 commit comments

Comments
 (0)