<?xml version="1.0" encoding="UTF-8"?>
<issues format="6" by="lint 8.8.0-alpha04" type="baseline" client="gradle" dependencies="false" name="AGP (8.8.0-alpha04)" variant="all" version="8.8.0-alpha04">

    <issue
        id="EagerGradleConfiguration"
        message="Use configureEach instead of whenTaskAdded"
        errorLine1="        project.tasks.whenTaskAdded { task ->"
        errorLine2="                      ~~~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/docs/AndroidXDocsImplPlugin.kt"/>
    </issue>

    <issue
        id="EagerGradleConfiguration"
        message="Use register instead of create"
        errorLine1="        val buildOnServerTask = tasks.create(BUILD_ON_SERVER_TASK, BuildOnServerTask::class.java)"
        errorLine2="                                      ~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/AndroidXRootImplPlugin.kt"/>
    </issue>

    <issue
        id="EagerGradleConfiguration"
        message="Avoid using method get"
        errorLine1="        val jvmJarTask = jvmJarTaskProvider.get()"
        errorLine2="                                            ~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/ErrorProneConfiguration.kt"/>
    </issue>

    <issue
        id="EagerGradleConfiguration"
        message="Avoid using method get"
        errorLine1="                    tasks.withType(JavaCompile::class.java).named(compileTaskName).get()"
        errorLine2="                                                                                   ~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/ErrorProneConfiguration.kt"/>
    </issue>

    <issue
        id="EagerGradleConfiguration"
        message="Avoid using method findByName"
        errorLine1="        if (tasks.findByName(&quot;check&quot;) != null) {"
        errorLine2="                  ~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/Ktfmt.kt"/>
    </issue>

    <issue
        id="EagerGradleConfiguration"
        message="Avoid using method findByName"
        errorLine1="    tasks.findByName(taskName)"
        errorLine2="          ~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/MavenUploadHelper.kt"/>
    </issue>

    <issue
        id="EagerGradleConfiguration"
        message="Use named instead of getByName"
        errorLine1="                tasks.getByName(&quot;publishPluginMavenPublicationToMavenRepository&quot;).doFirst {"
        errorLine2="                      ~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/MavenUploadHelper.kt"/>
    </issue>

    <issue
        id="EagerGradleConfiguration"
        message="Use named instead of getByName"
        errorLine1="                    tasks.getByName(&quot;publishMavenPublicationToMavenRepository&quot;).doFirst {"
        errorLine2="                          ~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/MavenUploadHelper.kt"/>
    </issue>

    <issue
        id="EagerGradleConfiguration"
        message="Avoid using method get"
        errorLine1="            val verifyOutputsTask = verifyOutputs.get()"
        errorLine2="                                                  ~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/Release.kt"/>
    </issue>

    <issue
        id="EagerGradleConfiguration"
        message="Use configureEach instead of whenObjectAdded"
        errorLine1="    configurations.whenObjectAdded {"
        errorLine2="                   ~~~~~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/sources/SourceJarTaskHelper.kt"/>
    </issue>

    <issue
        id="EagerGradleConfiguration"
        message="Use configureEach instead of whenObjectAdded"
        errorLine1="            it.artifacts.whenObjectAdded { _ ->"
        errorLine2="                         ~~~~~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/sources/SourceJarTaskHelper.kt"/>
    </issue>

    <issue
        id="EagerGradleConfiguration"
        message="Avoid using method findByName"
        errorLine1="        .findByName(FINALIZE_TEST_CONFIGS_WITH_APKS_TASK)!!"
        errorLine2="         ~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/testConfiguration/TestSuiteConfiguration.kt"/>
    </issue>

    <issue
        id="EagerGradleConfiguration"
        message="Avoid using method findByName"
        errorLine1="        project.rootProject.tasks.findByName(FINALIZE_TEST_CONFIGS_WITH_APKS_TASK)!!.dependsOn(task)"
        errorLine2="                                  ~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/testConfiguration/TestSuiteConfiguration.kt"/>
    </issue>

    <issue
        id="EagerGradleConfiguration"
        message="Avoid using method findByName"
        errorLine1="            if (project.tasks.findByName(&quot;check&quot;) != null) {"
        errorLine2="                              ~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/sources/ValidateMultiplatformSourceSetNaming.kt"/>
    </issue>

    <issue
        id="GradleProjectIsolation"
        message="Avoid using method getRootProject"
        errorLine1="            val extensions = project.rootProject.extensions"
        errorLine2="                                     ~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/dependencyTracker/AffectedModuleDetector.kt"/>
    </issue>

    <issue
        id="GradleProjectIsolation"
        message="Avoid using method getRootProject"
        errorLine1="                val compilerProject = project.rootProject.resolveProject(&quot;:compose&quot;)"
        errorLine2="                                              ~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/AndroidXComposeImplPlugin.kt"/>
    </issue>

    <issue
        id="GradleProjectIsolation"
        message="Avoid using method getRootProject"
        errorLine1="            project.rootProject.tasks.named(zipComposeMetricsTaskName).configure { zipTask ->"
        errorLine2="                    ~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/AndroidXComposeImplPlugin.kt"/>
    </issue>

    <issue
        id="GradleProjectIsolation"
        message="Avoid using method getRootProject"
        errorLine1="            project.rootProject.tasks.named(zipComposeReportsTaskName).configure { zipTask ->"
        errorLine2="                    ~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/AndroidXComposeImplPlugin.kt"/>
    </issue>

    <issue
        id="GradleProjectIsolation"
        message="Avoid using method getRootProject"
        errorLine1="    return project.rootProject.layout.buildDirectory"
        errorLine2="                   ~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/AndroidXComposeImplPlugin.kt"/>
    </issue>

    <issue
        id="GradleProjectIsolation"
        message="Avoid using method getRootProject"
        errorLine1="    return project.rootProject.layout.buildDirectory"
        errorLine2="                   ~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/AndroidXComposeImplPlugin.kt"/>
    </issue>

    <issue
        id="GradleProjectIsolation"
        message="Avoid using method getRootProject"
        errorLine1="    return File(rootProject.projectDir, &quot;../../external&quot;).canonicalFile"
        errorLine2="                ~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*3}/androidx/build/AndroidXConfig.kt"/>
    </issue>

    <issue
        id="GradleProjectIsolation"
        message="Use providers.gradleProperty instead of getProperties"
        errorLine1="    for (propertyName in project.properties.keys) {"
        errorLine2="                                 ~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/AndroidXGradleProperties.kt"/>
    </issue>

    <issue
        id="GradleProjectIsolation"
        message="Avoid using method getRootProject"
        errorLine1="                        AndroidXPlaygroundRootImplPlugin.projectOrArtifact(rootProject, this)"
        errorLine2="                                                                           ~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/AndroidXImplPlugin.kt"/>
    </issue>

    <issue
        id="GradleProjectIsolation"
        message="Avoid using method findProject"
        errorLine1="                    allProjectsExist || findProject(otherGradlePath) != null"
        errorLine2="                                        ~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/AndroidXImplPlugin.kt"/>
    </issue>

    <issue
        id="GradleProjectIsolation"
        message="Avoid using method getRootProject"
        errorLine1="                    project.rootProject.rootDir == project.getSupportRootFolder()"
        errorLine2="                            ~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/AndroidXImplPlugin.kt"/>
    </issue>

    <issue
        id="GradleProjectIsolation"
        message="Avoid using method getRootProject"
        errorLine1="    rootProject.extensions.findByType&lt;NodeJsRootExtension>()?.let {"
        errorLine2="    ~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/AndroidXMultiplatformExtension.kt"/>
    </issue>

    <issue
        id="GradleProjectIsolation"
        message="Avoid using method getRootProject"
        errorLine1="    rootProject.extensions.findByType(YarnRootExtension::class.java)?.let {"
        errorLine2="    ~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/AndroidXMultiplatformExtension.kt"/>
    </issue>

    <issue
        id="GradleProjectIsolation"
        message="Avoid using method findProject"
        errorLine1="            val requested = rootProject.findProject(path)"
        errorLine2="                                        ~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/AndroidXPlaygroundRootImplPlugin.kt"/>
    </issue>

    <issue
        id="GradleProjectIsolation"
        message="Avoid using method getRootProject"
        errorLine1="                project.rootProject.tasks.named(NAME).configure { it.dependsOn(task) }"
        errorLine2="                        ~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/AndroidXPlaygroundRootImplPlugin.kt"/>
    </issue>

    <issue
        id="GradleProjectIsolation"
        message="Avoid using method getRootProject"
        errorLine1="    rootProject.layout.buildDirectory.dir(&quot;test-xml-configs&quot;)"
        errorLine2="    ~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*3}/androidx/build/BuildServerConfiguration.kt"/>
    </issue>

    <issue
        id="GradleProjectIsolation"
        message="Avoid using method getRootProject"
        errorLine1="    rootProject.layout.buildDirectory.dir(&quot;privacysandbox-files&quot;)"
        errorLine2="    ~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*3}/androidx/build/BuildServerConfiguration.kt"/>
    </issue>

    <issue
        id="GradleProjectIsolation"
        message="Avoid using method getRootProject"
        errorLine1="    val actualRootProject = if (project.isRoot) project else project.rootProject"
        errorLine2="                                                                     ~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*3}/androidx/build/BuildServerConfiguration.kt"/>
    </issue>

    <issue
        id="GradleProjectIsolation"
        message="Avoid using method getRootProject"
        errorLine1="    rootProject.tasks.named(CREATE_AGGREGATE_BUILD_INFO_FILES_TASK).configure {"
        errorLine2="    ~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/buildInfo/CreateAggregateLibraryBuildInfoFileTask.kt"/>
    </issue>

    <issue
        id="GradleProjectIsolation"
        message="Avoid using method getRootProject"
        errorLine1="    get() = this == rootProject"
        errorLine2="                    ~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*3}/androidx/build/gradle/Extensions.kt"/>
    </issue>

    <issue
        id="GradleProjectIsolation"
        message="Use providers.gradleProperty instead of getProperties"
        errorLine1="        val pathPrefixes = (properties[PROP_PATH_PREFIX] as String).split(&quot;,&quot;)"
        errorLine2="                            ~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/FilteredAnchorTask.kt"/>
    </issue>

    <issue
        id="GradleProjectIsolation"
        message="Use providers.gradleProperty instead of getProperties"
        errorLine1="            val taskName = properties[PROP_TASK_NAME] as String"
        errorLine2="                           ~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/FilteredAnchorTask.kt"/>
    </issue>

    <issue
        id="GradleProjectIsolation"
        message="Avoid using method getRootProject"
        errorLine1="                    rootProject.tasks.named(GLOBAL_TASK_NAME).configure { task ->"
        errorLine2="                    ~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/FilteredAnchorTask.kt"/>
    </issue>

    <issue
        id="GradleProjectIsolation"
        message="Use providers.gradleProperty instead of getProperties"
        errorLine1="            task.pathPrefix = properties[PROP_PATH_PREFIX] as String"
        errorLine2="                              ~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/FilteredAnchorTask.kt"/>
    </issue>

    <issue
        id="GradleProjectIsolation"
        message="Use providers.gradleProperty instead of getProperties"
        errorLine1="            task.taskName = properties[PROP_TASK_NAME] as String"
        errorLine2="                            ~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/FilteredAnchorTask.kt"/>
    </issue>

    <issue
        id="GradleProjectIsolation"
        message="Avoid using method getRootProject"
        errorLine1="            it.parameters.workingDir.set(rootProject.layout.projectDirectory)"
        errorLine2="                                         ~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/gitclient/GitClient.kt"/>
    </issue>

    <issue
        id="GradleProjectIsolation"
        message="Avoid using method getParent"
        errorLine1="                    ${project.parent}."
        errorLine2="                              ~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/java/JavaCompileInputs.kt"/>
    </issue>

    <issue
        id="GradleProjectIsolation"
        message="Avoid using method getRootProject"
        errorLine1="        val rootBaseDir = if (compilerDaemonDisabled) projectDir else rootProject.projectDir"
        errorLine2="                                                                      ~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/KonanPrebuiltsSetup.kt"/>
    </issue>

    <issue
        id="GradleProjectIsolation"
        message="Avoid using method findProject"
        errorLine1="    return project.rootProject.findProject(path)"
        errorLine2="                               ~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/LintConfiguration.kt"/>
    </issue>

    <issue
        id="GradleProjectIsolation"
        message="Avoid using method getRootProject"
        errorLine1="    return project.rootProject.findProject(path)"
        errorLine2="                   ~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/LintConfiguration.kt"/>
    </issue>

    <issue
        id="GradleProjectIsolation"
        message="Avoid using method findProject"
        errorLine1="        project.rootProject.findProject(&quot;:lint:lint-gradle&quot;)?.let {"
        errorLine2="                            ~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/LintConfiguration.kt"/>
    </issue>

    <issue
        id="GradleProjectIsolation"
        message="Avoid using method getRootProject"
        errorLine1="        project.rootProject.findProject(&quot;:lint:lint-gradle&quot;)?.let {"
        errorLine2="                ~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/LintConfiguration.kt"/>
    </issue>

    <issue
        id="GradleProjectIsolation"
        message="Avoid using method getRootProject"
        errorLine1="        val tasksByOutput = project.rootProject.findAllTasksByOutput()"
        errorLine2="                                    ~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/ListTaskOutputsTask.kt"/>
    </issue>

    <issue
        id="GradleProjectIsolation"
        message="Avoid using method findProject"
        errorLine1="            project.findProject(projectPath)?.plugins?.let { plugins ->"
        errorLine2="                    ~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/MavenUploadHelper.kt"/>
    </issue>

    <issue
        id="GradleProjectIsolation"
        message="Avoid using method getRootProject"
        errorLine1="    rootProject.tasks.named(CREATE_MODULE_INFO).configure {"
        errorLine2="    ~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/testConfiguration/OwnersService.kt"/>
    </issue>

    <issue
        id="GradleProjectIsolation"
        message="Avoid using method getRootProject"
        errorLine1="        project.rootProject.gradle.sharedServices.registerIfAbsent("
        errorLine2="                ~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/ProjectParser.kt"/>
    </issue>

    <issue
        id="GradleProjectIsolation"
        message="Avoid using method getRootProject"
        errorLine1="                regenerate(project.rootProject, groupId, artifactId, artifactVersion, location)"
        errorLine2="                                   ~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/metalava/RegenerateOldApisTask.kt"/>
    </issue>

    <issue
        id="GradleProjectIsolation"
        message="Avoid using method getRootProject"
        errorLine1="            regenerate(project.rootProject, groupId, artifactId, version, location)"
        errorLine2="                               ~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/metalava/RegenerateOldApisTask.kt"/>
    </issue>

    <issue
        id="GradleProjectIsolation"
        message="Avoid using method getRootProject"
        errorLine1="            project.rootProject.maybeRegister("
        errorLine2="                    ~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/Release.kt"/>
    </issue>

    <issue
        id="GradleProjectIsolation"
        message="Avoid using method getRootProject"
        errorLine1="                        project.rootProject.getRepositoryDirectory()"
        errorLine2="                                ~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/Release.kt"/>
    </issue>

    <issue
        id="GradleProjectIsolation"
        message="Avoid using method getRootProject"
        errorLine1="        return project.rootProject.maybeRegister("
        errorLine2="                       ~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/Release.kt"/>
    </issue>

    <issue
        id="GradleProjectIsolation"
        message="Avoid using method getRootProject"
        errorLine1="        val localPropsFile = rootProject.projectDir.resolve(&quot;local.properties&quot;)"
        errorLine2="                             ~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*3}/androidx/build/SdkHelper.kt"/>
    </issue>

    <issue
        id="GradleProjectIsolation"
        message="Avoid using method getRootProject"
        errorLine1="        project.rootProject.rootDir.toRelativeString(project.projectDir)"
        errorLine2="                ~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*3}/androidx/build/SdkResourceGenerator.kt"/>
    </issue>

    <issue
        id="GradleProjectIsolation"
        message="Avoid using method getRootProject"
        errorLine1="        (project.rootProject.extensions.extraProperties).let { it.get(&quot;supportRootFolder&quot;) as File }"
        errorLine2="                 ~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/studio/StudioTask.kt"/>
    </issue>

    <issue
        id="GradleProjectIsolation"
        message="Avoid using method getRootProject"
        errorLine1="    rootProject.tasks"
        errorLine2="    ~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/testConfiguration/TestSuiteConfiguration.kt"/>
    </issue>

    <issue
        id="GradleProjectIsolation"
        message="Avoid using method getParent"
        errorLine1="    val parentProject = project.parent!!"
        errorLine2="                                ~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/testConfiguration/TestSuiteConfiguration.kt"/>
    </issue>

    <issue
        id="GradleProjectIsolation"
        message="Avoid using method getRootProject"
        errorLine1="        project.rootProject.tasks.findByName(FINALIZE_TEST_CONFIGS_WITH_APKS_TASK)!!.dependsOn(task)"
        errorLine2="                ~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/testConfiguration/TestSuiteConfiguration.kt"/>
    </issue>

    <issue
        id="InternalAgpApiUsage"
        message="Avoid using internal Android Gradle Plugin APIs"
        errorLine1="import com.android.build.gradle.internal.lint.AndroidLintAnalysisTask"
        errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/LintConfiguration.kt"/>
    </issue>

    <issue
        id="InternalAgpApiUsage"
        message="Avoid using internal Android Gradle Plugin APIs"
        errorLine1="import com.android.build.gradle.internal.lint.LintModelWriterTask"
        errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/LintConfiguration.kt"/>
    </issue>

    <issue
        id="InternalAgpApiUsage"
        message="Avoid using internal Android Gradle Plugin APIs"
        errorLine1="import com.android.build.gradle.internal.lint.VariantInputs"
        errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/LintConfiguration.kt"/>
    </issue>

    <issue
        id="InternalGradleApiUsage"
        message="Avoid using internal Gradle APIs"
        errorLine1="import org.gradle.api.internal.artifacts.dependencies.DefaultExternalModuleDependency"
        errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/buildInfo/CreateLibraryBuildInfoFileTask.kt"/>
    </issue>

    <issue
        id="InternalGradleApiUsage"
        message="Avoid using internal Gradle APIs"
        errorLine1="import org.gradle.api.internal.artifacts.dependencies.DefaultProjectDependencyConstraint"
        errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/buildInfo/CreateLibraryBuildInfoFileTask.kt"/>
    </issue>

    <issue
        id="InternalGradleApiUsage"
        message="Avoid using internal Gradle APIs"
        errorLine1="import org.gradle.api.internal.artifacts.ivyservice.projectmodule.ProjectComponentPublication"
        errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/buildInfo/CreateLibraryBuildInfoFileTask.kt"/>
    </issue>

    <issue
        id="InternalGradleApiUsage"
        message="Avoid using internal Gradle APIs"
        errorLine1="import org.gradle.api.internal.component.SoftwareComponentInternal"
        errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/buildInfo/CreateLibraryBuildInfoFileTask.kt"/>
    </issue>

    <issue
        id="InternalGradleApiUsage"
        message="Avoid using internal Gradle APIs"
        errorLine1="import org.gradle.api.publish.maven.internal.publication.MavenPublicationInternal"
        errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/buildInfo/CreateLibraryBuildInfoFileTask.kt"/>
    </issue>

    <issue
        id="InternalGradleApiUsage"
        message="Avoid using internal Gradle APIs"
        errorLine1="import org.gradle.internal.logging.slf4j.OutputEventListenerBackedLogger"
        errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/dependencyTracker/FileLogger.kt"/>
    </issue>

    <issue
        id="InternalGradleApiUsage"
        message="Avoid using internal Gradle APIs"
        errorLine1="import org.gradle.internal.logging.slf4j.OutputEventListenerBackedLoggerContext"
        errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/dependencyTracker/FileLogger.kt"/>
    </issue>

    <issue
        id="InternalGradleApiUsage"
        message="Avoid using internal Gradle APIs"
        errorLine1="import org.gradle.internal.time.Clock"
        errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/dependencyTracker/FileLogger.kt"/>
    </issue>

    <issue
        id="InternalGradleApiUsage"
        message="Avoid using internal Gradle APIs"
        errorLine1="import org.gradle.internal.component.external.model.DefaultModuleComponentIdentifier"
        errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/dackka/GenerateMetadataTask.kt"/>
    </issue>

    <issue
        id="InternalGradleApiUsage"
        message="Avoid using internal Gradle APIs"
        errorLine1="import org.gradle.api.internal.component.SoftwareComponentInternal"
        errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/MavenUploadHelper.kt"/>
    </issue>

    <issue
        id="InternalGradleApiUsage"
        message="Avoid using internal Gradle APIs"
        errorLine1="import org.gradle.api.internal.component.UsageContext"
        errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/MavenUploadHelper.kt"/>
    </issue>

    <issue
        id="InternalGradleApiUsage"
        message="Avoid using internal Gradle APIs"
        errorLine1="import org.gradle.api.publish.maven.internal.publication.MavenPublicationInternal"
        errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/MavenUploadHelper.kt"/>
    </issue>

    <issue
        id="InternalGradleApiUsage"
        message="Avoid using internal Gradle APIs"
        errorLine1="import org.gradle.api.internal.artifacts.ivyservice.TypedResolveException"
        errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/metalava/RegenerateOldApisTask.kt"/>
    </issue>

    <issue
        id="InternalGradleApiUsage"
        message="Avoid using internal Gradle APIs"
        errorLine1="import org.gradle.api.internal.tasks.userinput.UserInputHandler"
        errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/studio/StudioTask.kt"/>
    </issue>

    <issue
        id="InternalGradleApiUsage"
        message="Avoid using internal Gradle APIs"
        errorLine1="import org.gradle.internal.service.ServiceRegistry"
        errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/studio/StudioTask.kt"/>
    </issue>

    <issue
        id="InternalGradleApiUsage"
        message="Avoid using internal Gradle APIs"
        errorLine1="import org.gradle.internal.logging.slf4j.OutputEventListenerBackedLogger"
        errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/dependencyTracker/ToStringLogger.kt"/>
    </issue>

    <issue
        id="InternalGradleApiUsage"
        message="Avoid using internal Gradle APIs"
        errorLine1="import org.gradle.internal.logging.slf4j.OutputEventListenerBackedLoggerContext"
        errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/dependencyTracker/ToStringLogger.kt"/>
    </issue>

    <issue
        id="InternalGradleApiUsage"
        message="Avoid using internal Gradle APIs"
        errorLine1="import org.gradle.internal.time.Clock"
        errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/dependencyTracker/ToStringLogger.kt"/>
    </issue>

    <issue
        id="WithPluginClasspathUsage"
        message="Avoid usage of GradleRunner#withPluginClasspath, which is broken. Instead use something like https://github.com/autonomousapps/dependency-analysis-gradle-plugin/tree/main/testkit#gradle-testkit-support-plugin"
        errorLine1="                .withPluginClasspath()"
        errorLine2="                 ~~~~~~~~~~~~~~~~~~~">
        <location
            file="src/test/java/androidx/build/buildInfo/CreateLibraryBuildInfoFileTaskTest.kt"/>
    </issue>

    <issue
        id="WithTypeWithoutConfigureEach"
        message="Avoid passing a closure to withType, use withType().configureEach instead"
        errorLine1="        project.tasks.withType(AbstractTestTask::class.java) { task ->"
        errorLine2="                      ~~~~~~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/AndroidXImplPlugin.kt"/>
    </issue>

</issues>
