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

    <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="Avoid using method get"
        errorLine1="        val allHostTests = project.tasks.register(&quot;allHostTests&quot;).get()"
        errorLine2="                                                                  ~~~">
        <location
            file="${:buildSrc-tests*main*MAIN*sourceProvider*0*javaDir*4}/androidx/build/AndroidXImplPlugin.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/AndroidXMultiplatformExtension.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/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/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="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>()?.version = getVersionByName(&quot;node&quot;)"
        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 getRootProject"
        errorLine1="        rootProject.tasks.register(&quot;createYarnRcFile&quot;, CreateYarnRcFileTask::class.java) {"
        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="            it.yarnrcFile.set(rootProject.layout.buildDirectory.file(&quot;js/.yarnrc&quot;))"
        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.tasks.withType&lt;KotlinNpmInstallTask>().configureEach {"
        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>
