Fix incubating API exclusion

Previously, all classes with Test as a suffix were being excluded.

Bug: 328748784
Bug: 328749096
Bug: 331936874
Bug: 331936874
Bug: 335848584
Test: Updated expectation files
Change-Id: Ibfd1ab37f5a92c1e2db2d313dc4e92ee7b32d7a9
diff --git a/build-system/gradle-api/api/current.txt b/build-system/gradle-api/api/current.txt
index d9fe109..e7afcd7 100644
--- a/build-system/gradle-api/api/current.txt
+++ b/build-system/gradle-api/api/current.txt
@@ -371,9 +371,9 @@
   }
 
   @org.gradle.api.Incubating public interface AndroidTest {
-    method public boolean getEnableMinification();
-    method public void setEnableMinification(boolean);
-    property public abstract boolean enableMinification;
+    method @org.gradle.api.Incubating public boolean getEnableMinification();
+    method @org.gradle.api.Incubating public void setEnableMinification(boolean);
+    property @org.gradle.api.Incubating public abstract boolean enableMinification;
   }
 
   public interface AnnotationProcessorOptions {
diff --git a/build-system/gradle-api/src/main/java/com/android/build/api/dsl/AndroidTest.kt b/build-system/gradle-api/src/main/java/com/android/build/api/dsl/AndroidTest.kt
index ce49eb9..33a003d 100644
--- a/build-system/gradle-api/src/main/java/com/android/build/api/dsl/AndroidTest.kt
+++ b/build-system/gradle-api/src/main/java/com/android/build/api/dsl/AndroidTest.kt
@@ -36,5 +36,7 @@
 interface AndroidTest {
 
     /** Enable minification for the android test component */
+    @get:Incubating
+    @set:Incubating
     var enableMinification: Boolean
 }
diff --git a/build-system/gradle-api/src/test/java/com/android/build/api/ApiTestUtils.kt b/build-system/gradle-api/src/test/java/com/android/build/api/ApiTestUtils.kt
index b9b1627..626289d 100644
--- a/build-system/gradle-api/src/test/java/com/android/build/api/ApiTestUtils.kt
+++ b/build-system/gradle-api/src/test/java/com/android/build/api/ApiTestUtils.kt
@@ -18,17 +18,28 @@
 
 package com.android.build.api
 
+import com.android.build.api.extension.DslExtensionTest
+import com.android.build.api.transform.SecondaryFileTest
 import com.google.common.base.Charsets
 import com.google.common.base.Splitter
 import com.google.common.io.Resources
 import com.google.common.reflect.ClassPath
 import java.net.URL
 
+val nonApiClasses = listOf(
+    DslExtensionTest::class,
+    SecondaryFileTest::class,
+    AndroidPluginVersionTest::class,
+    DeprecatedApiTest::class,
+    DeprecatedApiUpdater::class,
+    IncubatingApiTest::class,
+    IncubatingApiUpdater::class,
+    OperationRequestTest::class,
+    SourcesTest::class
+).map { it.qualifiedName }.toSet()
+
 fun filterNonApiClasses(classInfo: ClassPath.ClassInfo): Boolean =
-    !classInfo.simpleName.endsWith("Test") &&
-            classInfo.simpleName != "StableApiUpdater" &&
-            classInfo.simpleName != "DeprecatedApiUpdater" &&
-            classInfo.simpleName != "ApiTestUtils"
+    !nonApiClasses.contains(classInfo.name) && classInfo.name != "com.android.build.api.ApiTestUtils"
 
 
 internal fun transformFinalFileContent(currentSnapshotContent: List<String>, snapshotFileUrl: URL, currentKey: String, keyPrefix: String, keyOrdering: Comparator<String>):
diff --git a/build-system/gradle-api/src/test/resources/com/android/build/api/deprecated-api.txt b/build-system/gradle-api/src/test/resources/com/android/build/api/deprecated-api.txt
index dc6687d..3dbf126 100644
--- a/build-system/gradle-api/src/test/resources/com/android/build/api/deprecated-api.txt
+++ b/build-system/gradle-api/src/test/resources/com/android/build/api/deprecated-api.txt
@@ -96,6 +96,7 @@
   * com.android.build.api.variant.Component.setAsmFramesComputationMode: void (com.android.build.api.instrumentation.FramesComputationMode)
   * com.android.build.api.variant.Component.transformClassesWith: void (java.lang.Class<? extends com.android.build.api.instrumentation.AsmClassVisitorFactory<ParamT>>, com.android.build.api.instrumentation.InstrumentationScope, kotlin.jvm.functions.Function1<? super ParamT, kotlin.Unit>)
 Deprecated from AGP UNKNOWN_VERSION
+  * com.android.build.api.component.UnitTest implements com.android.build.api.variant.UnitTest
   * com.android.build.api.dsl.AaptOptions implements com.android.build.api.dsl.AndroidResources
   * com.android.build.api.dsl.AdbOptions implements com.android.build.api.dsl.Installation
   * com.android.build.api.dsl.AndroidSourceSet.getJni: com.android.build.api.dsl.AndroidSourceDirectorySet ()
diff --git a/build-system/gradle-api/src/test/resources/com/android/build/api/incubating-api.txt b/build-system/gradle-api/src/test/resources/com/android/build/api/incubating-api.txt
index c120d41..b214562 100644
--- a/build-system/gradle-api/src/test/resources/com/android/build/api/incubating-api.txt
+++ b/build-system/gradle-api/src/test/resources/com/android/build/api/incubating-api.txt
@@ -255,6 +255,11 @@
   * com.android.build.api.dsl.TestOptions.failureRetention: void (kotlin.jvm.functions.Function1<? super com.android.build.api.dsl.FailureRetention, kotlin.Unit>)
   * com.android.build.api.dsl.TestOptions.getFailureRetention: com.android.build.api.dsl.FailureRetention ()
 https://issuetracker.google.com/328748784
+  * com.android.build.api.variant.DeviceTest implements com.android.build.api.variant.GeneratesTestApk, com.android.build.api.variant.HasAndroidResources, com.android.build.api.variant.TestComponent
+  * com.android.build.api.variant.DeviceTest.getApplicationId: org.gradle.api.provider.Property<java.lang.String> ()
+  * com.android.build.api.variant.DeviceTest.getBuildConfigFields: org.gradle.api.provider.MapProperty<java.lang.String, ? extends com.android.build.api.variant.BuildConfigField<? extends java.io.Serializable>> ()
+  * com.android.build.api.variant.DeviceTest.getProguardFiles: org.gradle.api.provider.ListProperty<org.gradle.api.file.RegularFile> ()
+  * com.android.build.api.variant.DeviceTest.getSigningConfig: com.android.build.api.variant.SigningConfig ()
   * com.android.build.api.variant.HasDeviceTests
   * com.android.build.api.variant.HasDeviceTests.getDeviceTests: java.util.List<com.android.build.api.variant.DeviceTest> ()
 https://issuetracker.google.com/328748820
@@ -485,6 +490,9 @@
 https://issuetracker.google.com/328749082
   * com.android.build.api.variant.AarMetadata.getMinAgpVersion: org.gradle.api.provider.Property<java.lang.String> ()
 https://issuetracker.google.com/328749096
+  * com.android.build.api.dsl.AndroidTest
+  * com.android.build.api.dsl.AndroidTest.getEnableMinification: boolean ()
+  * com.android.build.api.dsl.AndroidTest.setEnableMinification: void (boolean)
   * com.android.build.api.dsl.LibraryBuildType.androidTest: void (kotlin.jvm.functions.Function1<? super com.android.build.api.dsl.AndroidTest, kotlin.Unit>)
   * com.android.build.api.dsl.LibraryBuildType.getAndroidTest: com.android.build.api.dsl.AndroidTest ()
 https://issuetracker.google.com/328749098
@@ -690,6 +698,7 @@
   * com.android.build.api.variant.HasHostTests.getHostTests: java.util.Map<java.lang.String, com.android.build.api.variant.HostTest> ()
   * com.android.build.api.variant.HasHostTestsBuilder
   * com.android.build.api.variant.HasHostTestsBuilder.getHostTests: java.util.Map<java.lang.String, com.android.build.api.variant.HostTestBuilder> ()
+  * com.android.build.api.variant.HostTest implements com.android.build.api.variant.TestComponent
   * com.android.build.api.variant.HostTestBuilder
   * com.android.build.api.variant.HostTestBuilder.getEnable: boolean ()
   * com.android.build.api.variant.HostTestBuilder.getType: java.lang.String ()
@@ -699,5 +708,9 @@
 https://issuetracker.google.com/333537222
   * com.android.build.api.dsl.AndroidSourceDirectorySet.getDirectories: java.util.Set<java.lang.String> ()
 https://issuetracker.google.com/335848584
+  * com.android.build.api.variant.HostTest.isCodeCoverageEnabled: boolean ()
   * com.android.build.api.variant.HostTestBuilder.getEnableCodeCoverage: boolean ()
   * com.android.build.api.variant.HostTestBuilder.setEnableCodeCoverage: void (boolean)
+https://issuetracker.google.com/336985668
+  * com.android.build.api.variant.HostTest.configureTestTask: void (kotlin.jvm.functions.Function1<? super org.gradle.api.tasks.testing.Test, kotlin.Unit>)
+  * com.android.build.api.variant.UnitTest.configureTestTask: void (kotlin.jvm.functions.Function1<? super org.gradle.api.tasks.testing.Test, kotlin.Unit>)