Remove usages of AGP non-API artifact

Test: ./gradlew stableaidl:stableaidl-gradle-plugin:test
Change-Id: Idf569f4b16a525f8feda81d10731f8a8729b6a91
diff --git a/stableaidl/stableaidl-gradle-plugin/build.gradle b/stableaidl/stableaidl-gradle-plugin/build.gradle
index efce547..13fded7 100644
--- a/stableaidl/stableaidl-gradle-plugin/build.gradle
+++ b/stableaidl/stableaidl-gradle-plugin/build.gradle
@@ -31,11 +31,18 @@
 
 apply from: "../../buildSrc/kotlin-dsl-dependency.gradle"
 
+configurations {
+    // Config for plugin classpath to be used during tests
+    testPlugin {
+        canBeConsumed = false
+        canBeResolved = true
+    }
+}
+
 dependencies {
     implementation(findGradleKotlinDsl())
     implementation(gradleApi())
     implementation(libs.androidGradlePluginApi)
-    implementation(libs.androidGradlePluginz) // Needed for BaseExtension, see b/268237729.
     implementation(libs.androidToolsCommon)
     implementation(libs.androidToolsRepository)
     implementation(libs.androidToolsSdkCommon)
@@ -44,6 +51,9 @@
     implementation(libs.guava)
     implementation(libs.kotlinStdlib)
 
+    testPlugin(libs.androidGradlePluginz)
+
+    testImplementation(libs.androidGradlePluginz)
     testImplementation(gradleTestKit())
     testImplementation(project(":internal-testutils-gradle-plugin"))
     testImplementation(libs.androidToolsAnalyticsProtos)
@@ -53,6 +63,10 @@
     testImplementation(libs.truth)
 }
 
+tasks.withType(PluginUnderTestMetadata.class).named("pluginUnderTestMetadata").configure {
+    it.pluginClasspath.from(configurations.testPlugin)
+}
+
 gradlePlugin {
     plugins {
         stableAidl {
diff --git a/stableaidl/stableaidl-gradle-plugin/src/main/java/androidx/stableaidl/StableAidlExtensionImpl.kt b/stableaidl/stableaidl-gradle-plugin/src/main/java/androidx/stableaidl/StableAidlExtensionImpl.kt
index fa45f3c..ed441f7 100644
--- a/stableaidl/stableaidl-gradle-plugin/src/main/java/androidx/stableaidl/StableAidlExtensionImpl.kt
+++ b/stableaidl/stableaidl-gradle-plugin/src/main/java/androidx/stableaidl/StableAidlExtensionImpl.kt
@@ -21,7 +21,6 @@
 import androidx.stableaidl.tasks.StableAidlCheckApi
 import androidx.stableaidl.tasks.UpdateStableAidlApiTask
 import com.android.build.api.variant.SourceDirectories
-import com.android.build.gradle.internal.tasks.factory.dependsOn
 import java.io.File
 import org.gradle.api.Task
 import org.gradle.api.tasks.TaskProvider
@@ -67,4 +66,14 @@
 
     internal val importSourceDirs = mutableListOf<SourceDirectories.Flat>()
     internal val allTasks = mutableMapOf<String, Set<TaskProvider<*>>>()
+
+    internal fun <T : Task> TaskProvider<out T>.dependsOn(
+        vararg tasks: TaskProvider<out Task>
+    ): TaskProvider<out T> {
+        if (tasks.isEmpty().not()) {
+            configure { it.dependsOn(*tasks) }
+        }
+
+        return this
+    }
 }
diff --git a/stableaidl/stableaidl-gradle-plugin/src/main/java/androidx/stableaidl/StableAidlPlugin.kt b/stableaidl/stableaidl-gradle-plugin/src/main/java/androidx/stableaidl/StableAidlPlugin.kt
index 754d5e4..6ea7e33 100644
--- a/stableaidl/stableaidl-gradle-plugin/src/main/java/androidx/stableaidl/StableAidlPlugin.kt
+++ b/stableaidl/stableaidl-gradle-plugin/src/main/java/androidx/stableaidl/StableAidlPlugin.kt
@@ -21,7 +21,6 @@
 import com.android.build.api.variant.AndroidComponentsExtension
 import com.android.build.api.variant.DslExtension
 import com.android.build.api.variant.Variant
-import com.android.build.gradle.BaseExtension
 import com.android.utils.usLocaleCapitalize
 import org.gradle.api.GradleException
 import org.gradle.api.Plugin
@@ -196,23 +195,9 @@
  */
 internal const val SOURCE_TYPE_STABLE_AIDL_IMPORTS = "stableAidlImports"
 
-internal fun SdkComponents.aidl(baseExtension: BaseExtension): Provider<RegularFile> =
-    sdkDirectory.map {
-        it.dir("build-tools").dir(baseExtension.buildToolsVersion).file(
-            if (java.lang.System.getProperty("os.name").startsWith("Windows")) {
-                "aidl.exe"
-            } else {
-                "aidl"
-            }
-        )
-    }
-
-internal fun SdkComponents.aidlFramework(baseExtension: BaseExtension): Provider<RegularFile> =
-    sdkDirectory.map {
-        it.dir("platforms")
-            .dir(baseExtension.compileSdkVersion!!)
-            .file("framework.aidl")
-    }
+internal fun SdkComponents.aidl(): Provider<RegularFile> =
+    @Suppress("UnstableApiUsage")
+    aidl.flatMap { it.executable }
 
 /**
  * Returns the AIDL import directories for the given variant of the project.
diff --git a/stableaidl/stableaidl-gradle-plugin/src/main/java/androidx/stableaidl/internal/process/GradleProcessExecutor.kt b/stableaidl/stableaidl-gradle-plugin/src/main/java/androidx/stableaidl/internal/process/GradleProcessExecutor.kt
index 76e13bd..d789156 100644
--- a/stableaidl/stableaidl-gradle-plugin/src/main/java/androidx/stableaidl/internal/process/GradleProcessExecutor.kt
+++ b/stableaidl/stableaidl-gradle-plugin/src/main/java/androidx/stableaidl/internal/process/GradleProcessExecutor.kt
@@ -15,7 +15,7 @@
  */
 package androidx.stableaidl.internal.process
 
-import com.android.build.gradle.internal.LoggerWrapper
+import androidx.stableaidl.internal.LoggerWrapper
 import com.android.ide.common.process.ProcessException
 import com.android.ide.common.process.ProcessExecutor
 import com.android.ide.common.process.ProcessInfo