Merge "Compose beta01 version bump Test: ./gradlew updateApi" into androidx-main
diff --git a/appcompat/integration-tests/receive-content-testapp/build.gradle b/appcompat/integration-tests/receive-content-testapp/build.gradle
index 118297f..0a9360b 100644
--- a/appcompat/integration-tests/receive-content-testapp/build.gradle
+++ b/appcompat/integration-tests/receive-content-testapp/build.gradle
@@ -35,7 +35,6 @@
     implementation(libs.material)
 
     // Align dependencies in debugRuntimeClasspath and debugAndroidTestRuntimeClasspath.
-    androidTestImplementation(project(":annotation:annotation"))
     androidTestImplementation("androidx.annotation:annotation-experimental:1.4.0")
 
     androidTestImplementation("androidx.lifecycle:lifecycle-common:2.6.1")
diff --git a/benchmark/benchmark-junit4/proguard-rules.pro b/benchmark/benchmark-junit4/proguard-rules.pro
index 507b097..cbc8983 100644
--- a/benchmark/benchmark-junit4/proguard-rules.pro
+++ b/benchmark/benchmark-junit4/proguard-rules.pro
@@ -5,6 +5,7 @@
 -keepclasseswithmembers class org.junit.** { *; }
 -keepclasseswithmembers class junit.** { *; }
 -dontwarn com.google.errorprone.annotations.MustBeClosed
+-dontwarn com.google.errorprone.annotations.CanIgnoreReturnValue
 
 ## keep test classes
 -keepclasseswithmembers @org.junit.runner.RunWith class * { *; }
@@ -12,7 +13,13 @@
 ## needed for org.junit.Test annotation to be discoverable by reflection
 -keepattributes *Annotation*
 
+## needed for listeners instantiated by reflection (e.g. InstrumentationResultsRunListener)
+-keepclasseswithmembers class * extends androidx.test.internal.runner.listener.InstrumentationRunListener { *; }
+
 ## Needed due to b/328649293 - shouldn't be needed since they're ref'd by manifest
 ## May need to leave these in place long term to account for old gradle versions
 -keepclasseswithmembers class androidx.benchmark.junit4.AndroidBenchmarkRunner { *; }
 -keepclasseswithmembers class androidx.benchmark.IsolationActivity { *; }
+
+## Needed due to b/339085669 - shouldn't be needed as they're referenced by code
+-keepclasseswithmembers class androidx.benchmark.json.BenchmarkData$TestResult$ProfilerOutput$Type { *; }
\ No newline at end of file
diff --git a/biometric/integration-tests/testapp/build.gradle b/biometric/integration-tests/testapp/build.gradle
index 2475717..e36cafe 100755
--- a/biometric/integration-tests/testapp/build.gradle
+++ b/biometric/integration-tests/testapp/build.gradle
@@ -39,7 +39,7 @@
 }
 
 dependencies {
-    implementation(projectOrArtifact(":annotation:annotation"))
+    implementation("androidx.annotation:annotation:1.8.0")
     implementation(project(":biometric:biometric-ktx"))
     implementation("androidx.activity:activity-ktx:1.1.0")
     implementation("androidx.core:core-ktx:1.3.2")
@@ -48,7 +48,6 @@
 
     debugImplementation(libs.leakcanary)
 
-    androidTestImplementation(projectOrArtifact(":annotation:annotation"))
     androidTestImplementation(libs.testCore)
     androidTestImplementation(libs.testExtJunit)
     androidTestImplementation(libs.testRules)
diff --git a/core/core-graphics-integration-tests/testapp/build.gradle b/core/core-graphics-integration-tests/testapp/build.gradle
index 7007b32..ea79373 100644
--- a/core/core-graphics-integration-tests/testapp/build.gradle
+++ b/core/core-graphics-integration-tests/testapp/build.gradle
@@ -30,7 +30,7 @@
 dependencies {
     implementation(project(":core:core-ktx"))
     implementation(projectOrArtifact(":appcompat:appcompat"))
-    implementation projectOrArtifact(":annotation:annotation")
+    implementation("androidx.annotation:annotation:1.8.0")
     compileOnly(project(":annotation:annotation-sampled"))
 }
 
diff --git a/core/core-splashscreen/samples/build.gradle b/core/core-splashscreen/samples/build.gradle
index e057f24..d957863 100644
--- a/core/core-splashscreen/samples/build.gradle
+++ b/core/core-splashscreen/samples/build.gradle
@@ -42,6 +42,6 @@
     implementation(project(":core:core-splashscreen"))
     implementation(project(":core:core-ktx"))
     implementation(projectOrArtifact(":appcompat:appcompat"))
-    implementation projectOrArtifact(":annotation:annotation")
+    implementation("androidx.annotation:annotation:1.8.0")
     implementation(projectOrArtifact(":interpolator:interpolator"))
 }
diff --git a/core/core/build.gradle b/core/core/build.gradle
index 87f8666..123a2f2 100644
--- a/core/core/build.gradle
+++ b/core/core/build.gradle
@@ -21,7 +21,7 @@
         implementation(project(":core:core-testing"))
     }
 
-    api(project(":annotation:annotation"))
+    api("androidx.annotation:annotation:1.8.0")
     api("androidx.annotation:annotation-experimental:1.4.0")
     api("androidx.lifecycle:lifecycle-runtime:2.6.2")
     api("androidx.versionedparcelable:versionedparcelable:1.1.1")
diff --git a/core/haptics/haptics/build.gradle b/core/haptics/haptics/build.gradle
index f71ef50..36d8e1f 100644
--- a/core/haptics/haptics/build.gradle
+++ b/core/haptics/haptics/build.gradle
@@ -33,7 +33,7 @@
 dependencies {
     api(libs.kotlinStdlib)
 
-    implementation(projectOrArtifact(":annotation:annotation"))
+    implementation("androidx.annotation:annotation:1.8.0")
     implementation(projectOrArtifact(":core:core"))
     implementation(projectOrArtifact(":media:media"))
 
diff --git a/docs/benchmarking.md b/docs/benchmarking.md
index 07a68e6..0aad7be 100644
--- a/docs/benchmarking.md
+++ b/docs/benchmarking.md
@@ -71,8 +71,21 @@
 As in the public documentation, benchmarks in the AndroidX repo are test-only
 library modules. Differences for AndroidX repo:
 
-1.  Module must live in `integration-tests` group directory
-1.  Module name must end with `-benchmark` in `settings.gradle`.
+1.  Module *must* apply `id("androidx.benchmark")` in the plugin block
+1.  Module *should* live in `integration-tests` group directory to follow
+    convention
+1.  Module name *should* end with `-benchmark` in `settings.gradle` to follow
+    convention
+1.  Module *should not* contain non-benchmark tests to avoid wasting resources
+    in benchmark postsubmit
+
+Applying the benchmark plugin give you benefits from the AndroidX plugin:
+
+*   Inclusion in microbenchmark CI runs
+*   AOT Compilation of module (local and CI) for stability
+*   Disable ANR avoidance in local runs (so you always get method traces)
+
+But note that these can be detrimental for non-benchmark code.
 
 ### I'm lazy and want to start quickly
 
diff --git a/lint-checks/integration-tests/build.gradle b/lint-checks/integration-tests/build.gradle
index 4028590..e5c85f7 100644
--- a/lint-checks/integration-tests/build.gradle
+++ b/lint-checks/integration-tests/build.gradle
@@ -30,7 +30,7 @@
 }
 
 dependencies {
-    implementation(project(":annotation:annotation"))
+    implementation("androidx.annotation:annotation:1.8.0")
     implementation("androidx.annotation:annotation-experimental:1.4.0")
     implementation(libs.kotlinStdlib)
 }
diff --git a/room/integration-tests/noappcompattestapp/build.gradle b/room/integration-tests/noappcompattestapp/build.gradle
index bf5e36d..0006f20 100644
--- a/room/integration-tests/noappcompattestapp/build.gradle
+++ b/room/integration-tests/noappcompattestapp/build.gradle
@@ -27,7 +27,6 @@
     androidTestImplementation(libs.testCore)
     androidTestImplementation(libs.testRunner)
     androidTestImplementation(libs.espressoCore)
-    androidTestImplementation(project(":annotation:annotation"))
     testImplementation(libs.junit)
 }
 
diff --git a/room/room-common/build.gradle b/room/room-common/build.gradle
index d120965..5fd1a90 100644
--- a/room/room-common/build.gradle
+++ b/room/room-common/build.gradle
@@ -43,7 +43,7 @@
         commonMain {
             dependencies {
                 api(libs.kotlinStdlib)
-                api(projectOrArtifact(":annotation:annotation"))
+                api("androidx.annotation:annotation:1.8.0")
 
             }
         }
diff --git a/room/room-runtime/build.gradle b/room/room-runtime/build.gradle
index c230427..d16ae5f 100644
--- a/room/room-runtime/build.gradle
+++ b/room/room-runtime/build.gradle
@@ -108,7 +108,7 @@
                 api(libs.kotlinStdlib)
                 api(project(":room:room-common"))
                 api(project(":sqlite:sqlite"))
-                api(projectOrArtifact(":annotation:annotation"))
+                api("androidx.annotation:annotation:1.8.0")
                 api(libs.kotlinCoroutinesCore)
                 implementation(libs.atomicFu)
             }
diff --git a/sqlite/sqlite-framework/build.gradle b/sqlite/sqlite-framework/build.gradle
index 0add91b..c91e423 100644
--- a/sqlite/sqlite-framework/build.gradle
+++ b/sqlite/sqlite-framework/build.gradle
@@ -69,7 +69,7 @@
         commonMain {
             dependencies {
                 implementation(libs.kotlinStdlib)
-                api(project(":annotation:annotation"))
+                api("androidx.annotation:annotation:1.8.0")
                 api(project(":sqlite:sqlite"))
             }
         }
diff --git a/sqlite/sqlite/build.gradle b/sqlite/sqlite/build.gradle
index ce04df8..5bbba38 100644
--- a/sqlite/sqlite/build.gradle
+++ b/sqlite/sqlite/build.gradle
@@ -45,7 +45,7 @@
         commonMain {
             dependencies {
                 implementation(libs.kotlinStdlib)
-                api(project(":annotation:annotation"))
+                api("androidx.annotation:annotation:1.8.0")
             }
         }
         commonTest {