blob: 88d783e16289b87d136fa1095c95a5fcad0236ca [file] [log] [blame]
<!--
~ Copyright (C) 2017 The Android Open Source Project
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
~ You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
<idea-plugin xmlns:xi="http://www.w3.org/2001/XInclude">
<xi:include href="/META-INF/project-system-gradle-plugin-k1.xml" includeUnless="idea.kotlin.plugin.use.k2"/>
<xi:include href="/META-INF/project-system-gradle-plugin-k2.xml" includeIf="idea.kotlin.plugin.use.k2"/>
<depends>com.intellij.gradle</depends>
<depends>org.jetbrains.plugins.gradle</depends>
<depends>org.jetbrains.kotlin</depends>
<depends optional="true" config-file="project-system-gradle-plugin-androidstudio.xml">com.intellij.modules.androidstudio</depends>
<extensions defaultExtensionNs="com.android">
<androidStartupActivity implementation="com.android.tools.idea.gradle.util.LastBuildOrSyncStartupActivity" />
<moduleImporter implementation="com.android.tools.idea.gradle.project.GradleModuleImporter$GradleAndroidModuleImporter" />
</extensions>
<extensions defaultExtensionNs="com.android.project">
<projectsystem implementation="com.android.tools.idea.projectsystem.gradle.GradleProjectSystemProvider"/>
</extensions>
<extensions defaultExtensionNs="com.android.tools.idea.execution.common">
<androidConfigurationExecutorProvider
implementation="com.android.tools.idea.testartifacts.instrumented.GradleAndroidTestRunConfigurationExecutorProvider"/>
</extensions>
<extensions defaultExtensionNs="com.android.tools.idea.testartifacts.instrumented">
<testRunConfigurationOptions implementation="com.android.tools.idea.run.configuration.AndroidBaselineProfileTestOptions"/>
</extensions>
<extensions defaultExtensionNs="com.intellij">
<applicationService serviceInterface="com.android.tools.idea.gradle.dsl.api.GradleModelProvider"
serviceImplementation="com.android.tools.idea.projectsystem.gradle.GradleModelSource"/>
<applicationService serviceImplementation="com.android.tools.idea.gradle.project.common.GradleInitScripts"/>
<applicationService serviceInterface="com.android.tools.idea.gradle.project.sync.GradleSyncInvoker"
serviceImplementation="com.android.tools.idea.gradle.project.sync.GradleSyncInvokerImpl"/>
<applicationService serviceImplementation="com.android.tools.idea.gradle.project.SupportedModuleChecker"/>
<applicationService serviceImplementation="com.android.tools.idea.gradle.project.sync.issues.SyncIssuesReporter"/>
<applicationService
serviceInterface="com.android.tools.idea.gradle.project.sync.SdkSync"
serviceImplementation="com.android.tools.idea.gradle.project.sync.SdkSyncImpl"/>
<applicationService serviceImplementation="com.android.tools.idea.gradle.util.GradleVersions"/>
<applicationService serviceImplementation="com.android.tools.idea.gradle.project.importing.GradleProjectImporter"/>
<applicationService serviceImplementation="com.android.tools.idea.gradle.project.build.invoker.GradleTaskFinder"/>
<applicationService serviceImplementation="com.android.tools.idea.gradle.util.GradleProjectSettingsFinder"/>
<applicationService serviceImplementation="com.android.tools.idea.gradle.project.GradleExperimentalSettings"/>
<compiler.optionsManager implementation="com.android.tools.idea.gradle.project.build.compiler.HideCompilerOptions" />
<projectConfigurable groupId="build" id="gradle.compiler" bundle="messages.AndroidBundle"
key="configurable.GradleCompilerSettingsConfigurable.displayName"
provider="com.android.tools.idea.gradle.project.build.compiler.GradleCompilerSettingsConfigurableProvider"/>
<stepsBeforeRunProvider implementation="com.android.tools.idea.gradle.run.MakeBeforeRunTaskProvider"/>
<projectOpenProcessor implementation="com.android.tools.idea.gradle.project.AndroidGradleProjectOpenProcessor" id="android-gradle"
order="before gradle"/>
<projectTaskRunner implementation="com.android.tools.idea.gradle.project.build.AndroidProjectTaskRunner"
id="android"
order="first, before gradle"/>
<projectService serviceInterface="com.android.tools.idea.gradle.actions.BuildsToPathsMapper"
serviceImplementation="com.android.tools.idea.gradle.project.build.BuildsToPathsMapperImpl"/>
<projectService serviceImplementation="com.android.tools.idea.gradle.project.build.GradleBuildState"/>
<projectService serviceImplementation="com.android.tools.idea.gradle.project.build.compiler.AndroidGradleBuildConfiguration"/>
<projectService serviceInterface="com.android.tools.idea.gradle.project.build.invoker.GradleBuildInvoker"
serviceImplementation="com.android.tools.idea.gradle.project.build.invoker.GradleBuildInvokerImpl"/>
<projectService serviceImplementation="com.android.tools.idea.gradle.project.build.output.BuildOutputParserManager" />
<projectService serviceImplementation="com.android.tools.idea.gradle.LibraryFilePaths"/>
<projectService serviceImplementation="com.android.tools.idea.gradle.project.sync.idea.data.DataNodeCaches"/>
<projectService serviceInterface="com.android.tools.idea.gradle.project.sync.issues.SyncIssueUsageReporter"
serviceImplementation="com.android.tools.idea.gradle.project.sync.issues.SyncIssueUsageReporterImpl"/>
<projectService serviceImplementation="com.android.tools.idea.gradle.variant.view.BuildVariantView"/>
<projectService serviceImplementation="com.android.tools.idea.gradle.variant.view.BuildVariantUpdater"/>
<projectService serviceImplementation="com.android.tools.idea.gradle.project.ProjectStructure"/>
<projectService serviceInterface="com.android.tools.idea.gradle.project.sync.GradleSyncState"
serviceImplementation="com.android.tools.idea.gradle.project.sync.GradleSyncStateImpl"/>
<projectService serviceImplementation="com.android.tools.idea.gradle.project.sync.GradleSyncStateHolder"/>
<projectService serviceImplementation="com.android.tools.idea.gradle.project.sync.messages.GradleSyncMessages"/>
<projectService serviceImplementation="com.android.tools.idea.gradle.util.LastBuildOrSyncService" />
<projectService serviceImplementation="com.android.tools.idea.structure.dialog.ProjectStructureConfigurable"/>
<projectService serviceImplementation="com.android.tools.idea.gradle.project.GradleVersionCatalogDetector"/>
<projectService serviceImplementation="org.jetbrains.android.exportSignedPackage.GenerateSignedApkSettings"/>
<projectService serviceImplementation="com.android.tools.idea.gradle.dependencies.GradleDependencyManager"/>
<projectService serviceImplementation="com.android.tools.idea.gradle.project.sync.jdk.GradleJdkValidationManager"/>
<projectService serviceImplementation="com.android.tools.idea.gradle.project.GradleProjectInfo"/>
<projectService serviceImplementation="com.android.tools.idea.gradle.project.Info"/>
<projectService serviceImplementation="com.android.tools.idea.gradle.project.sync.setup.post.ProjectStructureUsageTrackerManager"/>
<facet.toolWindow id="Build Variants"
facetIdList="android,android-gradle"
anchor="left"
secondary="true"
icon="StudioIcons.Shell.ToolWindows.BUILD_VARIANTS"
factoryClass="com.android.tools.idea.gradle.variant.view.BuildVariantToolWindowFactory"/>
<notificationGroup id="Android Gradle Tasks" displayType="BALLOON"/>
<notificationGroup id="Android SDK Setup Issues" displayType="STICKY_BALLOON" />
<notificationGroup id="Android Gradle Sync Issues" displayType="STICKY_BALLOON" />
<notificationGroup id="Baseline Profile" displayType="BALLOON"/>
<notificationGroup id="Detected Gradle source sets" displayType="BALLOON"/>
<notificationGroup id="Gradle Version Catalog DSL" displayType="STICKY_BALLOON"/>
<externalProjectDataService implementation="com.android.tools.idea.projectsystem.gradle.sync.AndroidModuleDataService" order="last"/>
<externalProjectDataService implementation="org.jetbrains.kotlin.android.configure.KotlinGradleAndroidModuleModelProjectDataService" order="last"/>
<externalProjectDataService implementation="com.android.tools.idea.gradle.project.sync.idea.data.service.GradleModuleModelDataService" />
<externalProjectDataService implementation="com.android.tools.idea.gradle.project.sync.issues.SyncIssueDataService" />
<externalProjectDataService implementation="com.android.tools.idea.gradle.project.sync.idea.data.service.NdkModuleModelDataService" />
<externalProjectDataService implementation="com.android.tools.idea.gradle.project.sync.idea.data.service.ProjectCleanupDataService" />
<!-- Custom BuildOutputParsers, runs first so that it has higher priority to handle messages than other parsers provided by external system -->
<externalSystemOutputParserProvider implementation="com.android.tools.idea.gradle.project.build.output.GradleOutputParserProvider"
id="gradle" order="first"/>
<consoleFilterProvider implementation="com.android.tools.idea.gradle.project.build.output.GenericFileFilterProvider"
order="first"/>
<externalSystemViewContributor id="android" order="before com.intellij.openapi.externalSystem.view.ExternalSystemViewDefaultContributor"
implementation="com.android.tools.idea.projectsystem.gradle.GradleTaskEmptyContributor"/>
<externalSystemExecutionConsoleManager implementation="com.android.tools.idea.gradle.filters.AndroidGradleExecutionConsoleManager"
order="before gradle"/>
<externalSystemTaskNotificationListener implementation="com.android.tools.idea.gradle.project.sync.GradleSyncStateHolder$SyncStateUpdater" />
<externalSystemTaskNotificationListener implementation="com.android.tools.idea.gradle.util.LastBuildOrSyncListener" />
<projectModelModifier implementation="com.android.tools.idea.gradle.AndroidGradleJavaProjectModelModifier"/>
<projectViewNodeDecorator id="android.build.node.decorator" implementation="com.android.tools.idea.gradle.projectView.BuildNodeDecorator"/>
<generatedSourcesFilter implementation="com.android.tools.idea.gradle.roots.AndroidGeneratedSourcesFilter"/>
<editorNotificationProvider implementation="com.android.tools.idea.gradle.notification.GeneratedFileNotificationProvider"/>
<cachesInvalidator implementation="com.android.tools.idea.gradle.project.sync.idea.data.IdeaSyncCachesInvalidator"/>
<completion.contributor language="any"
implementationClass="com.android.tools.idea.gradle.completions.GradleDependencyCompletionContributor" />
<completion.confidence language="any"
id="EnableAutoPopupInStringLiteralForGradleDependencyCompletion"
implementationClass="com.android.tools.idea.gradle.completions.EnableAutoPopupInStringLiteralForGradleDependencyCompletion"
order="first"/>
<completion.contributor language="TOML"
implementationClass="com.android.tools.idea.gradle.completions.TomlVersionRefCompletionContributor" />
<completion.confidence language="TOML"
id="EnableAutoPopupInLiteralForTomlVersionRefDependencyCompletion"
implementationClass="com.android.tools.idea.gradle.completions.EnableAutoPopupInLiteralForTomlVersionRefDependencyCompletion" />
<annotator language="TOML" implementationClass="com.android.tools.idea.gradle.catalog.VersionsTomlAnnotator"/>
<annotator language="kotlin" implementationClass="com.android.tools.idea.gradle.catalog.KtsCatalogAnnotator"/>
<highlightVisitor implementation="com.android.tools.idea.gradle.catalog.KtsCatalogHighlighter"/>
<indexedRootsProvider implementation="com.android.tools.idea.gradle.index.VersionCatalogFileIndexContributor"/>
<useScopeEnlarger implementation="com.android.tools.idea.gradle.navigation.GradleTomlUseScopeEnlarger"/>
<vetoRenameCondition implementation="com.android.tools.idea.gradle.refactoring.GradleCatalogTomlVetoCondition"/>
<psi.referenceContributor language="TOML"
implementation="com.android.tools.idea.gradle.catalog.VersionCatalogDependencyReferenceContributor" order="first"/>
<elementDescriptionProvider implementation="com.android.tools.idea.gradle.refactoring.VersionCatalogDescriptionProvider" order="first"/>
<lang.documentationProvider language="TOML" implementationClass="com.android.tools.idea.gradle.service.VersionCatalogDocumentationProvider" />
<gotoDeclarationHandler implementation="com.android.tools.idea.gradle.navigation.VersionCatalogGoToDeclarationHandler"/>
<renameHandler implementation="com.android.tools.idea.gradle.refactoring.GradleRenameModuleHandler" order="last"/>
<renameInputValidator implementation="com.android.tools.idea.gradle.refactoring.GradleAwareSourceRootRenameValidator"/>
<usageTypeProvider id="org.jetbrains.android.refactoring.GradleUsageTypeProvider"
implementation="org.jetbrains.android.refactoring.GradleUsageTypeProvider" order="first" />
<usageTypeProvider implementation="org.jetbrains.android.refactoring.AndroidPropertiesUsageType" order="first" />
<usageGroupingRuleProvider implementation="org.jetbrains.android.refactoring.namespaces.ResourcePackageGroupingRuleProvider"/>
<referencesSearch implementation="com.android.tools.idea.gradle.navigation.GradleKtsVersionCatalogReferencesSearcher"/>
<lang.elementManipulator forClass="org.jetbrains.kotlin.psi.KtNameReferenceExpression"
implementationClass="com.android.tools.idea.gradle.navigation.KotlinRefManipulator"/>
<lang.elementManipulator forClass="org.jetbrains.kotlin.psi.KtDotQualifiedExpression"
implementationClass="com.android.tools.idea.gradle.navigation.KotlinExpressionRefManipulator"/>
<resolveScopeEnlarger implementation="com.android.tools.idea.lang.proguardR8.ProguardR8GradleResolveScopeEnlarger"/>
<postStartupActivity implementation="com.android.tools.idea.gradle.project.AndroidNewProjectInitializationStartupActivity"/>
<postStartupActivity implementation="com.android.tools.idea.gradle.project.AndroidGradleProjectStartupActivity"/>
<intentionAction>
<language>UAST</language>
<className>org.jetbrains.android.intentions.AndroidAddLibraryDependencyAction</className>
<category>Android</category>
</intentionAction>
<runLineMarkerContributor language="JAVA" implementationClass="com.android.tools.idea.run.configuration.BaselineProfileRunLineMarkerContributor" order="first"/>
<runLineMarkerContributor language="kotlin" implementationClass="com.android.tools.idea.run.configuration.BaselineProfileRunLineMarkerContributor" order="first"/>
<configurationType implementation="com.android.tools.idea.run.configuration.AndroidBaselineProfileRunConfigurationType"/>
<programRunner implementation="com.android.tools.idea.run.AndroidBaselineProfileProgramRunner" order="after DefaultStudioProgramRunner"/>
<fileEditorProvider implementation="com.android.tools.idea.editors.manifest.GradleManifestEditorProvider"/>
<facetType implementation="com.android.tools.idea.gradle.project.facet.gradle.GradleFacetType"/>
<facetType implementation="com.android.tools.idea.gradle.project.facet.ndk.NdkFacetType"/>
<facetType implementation="com.android.tools.idea.gradle.project.facet.java.JavaFacetType"/>
<externalProjectDataService implementation="com.android.tools.idea.gradle.project.facet.java.DoNotUseLegacyJavaFacetRemover" />
<spellchecker.support language="Groovy" implementationClass="org.jetbrains.android.spellchecker.AndroidGradleSpellcheckingStrategy" order="first"/>
<spellchecker.support language="kotlin" implementationClass="org.jetbrains.kotlin.android.spellchecker.AndroidGradleKtsSpellcheckingStrategy" order="first"/>
<runConfigurationProducer implementation="com.android.tools.idea.testartifacts.instrumented.kmp.KotlinMultiplatformAndroidTestConfigurationProducer"/>
<runConfigurationProducer implementation="com.android.tools.idea.testartifacts.screenshot.ScreenshotTestMethodGradleConfigurationProducer"/>
<runConfigurationProducer implementation="com.android.tools.idea.testartifacts.screenshot.ScreenshotTestClassGradleConfigurationProducer"/>
<runConfigurationProducer implementation="com.android.tools.idea.testartifacts.screenshot.ScreenshotTestAllInPackageGradleConfigurationProducer"/>
<runConfigurationProducer implementation="com.android.tools.idea.testartifacts.screenshot.ScreenshotTestAllInDirectoryGradleConfigurationProducer"/>
<psi.referenceContributor language="Groovy" implementation="com.android.tools.idea.gradle.service.resolve.GroovyNamespacePsiPackageReferenceContributor"/>
<psi.referenceContributor language="kotlin" implementation="com.android.tools.idea.gradle.service.resolve.KotlinNamespacePsiPackageReferenceContributor"/>
<psi.referenceContributor language="Declarative" implementation="com.android.tools.idea.gradle.service.resolve.DeclarativeNamespacePsiPackageReferenceContributor"/>
<useScopeEnlarger implementation="com.android.tools.idea.gradle.service.resolve.PsiPackageGradleUseScopeEnlarger"/>
</extensions>
<extensions defaultExtensionNs="org.jetbrains.kotlin.idea.gradleJava">
<kotlinMultiplatformProducersProvider implementation="com.android.tools.idea.testartifacts.instrumented.kmp.KotlinMultiplatformAndroidTestConfigurationProducer"/>
</extensions>
<extensions defaultExtensionNs="com.intellij.properties">
<implicitPropertyUsageProvider implementation="com.android.tools.idea.editors.GradleImplicitPropertyUsageProvider"/>
</extensions>
<extensions defaultExtensionNs="com.android.tools.idea.actions">
<exportProjectZipExcludesContributor implementation="com.android.tools.idea.actions.ExportProjectZipExcludesGradleContributor"/>
</extensions>
<extensions defaultExtensionNs="com.android.tools.idea.run.editor">
<androidDebuggerInfoProvider implementation="com.android.tools.idea.run.editor.AndroidAppAndroidDebuggerInfoProvider" />
</extensions>
<extensions defaultExtensionNs="org.jetbrains.kotlin.idea">
<extrasSerialization implementation="org.jetbrains.kotlin.android.extensions.KotlinAndroidExtrasSerializationService"/>
</extensions>
<extensions defaultExtensionNs="org.jetbrains.kotlin">
<mppProjectResolve implementation="org.jetbrains.kotlin.android.extensions.KotlinMppAndroidProjectResolverExtension"/>
</extensions>
<extensions defaultExtensionNs="com.android.tools.idea.editors.manifest">
<manifestPanelToken implementation="com.android.tools.idea.editors.manifest.ManifestPanelGradleToken"/>
</extensions>
<extensions defaultExtensionNs="org.jetbrains.android.refactoring">
<unusedResourcesToken implementation="org.jetbrains.android.refactoring.UnusedResourcesGradleToken"/>
</extensions>
<extensions defaultExtensionNs="com.android.tools.idea.actions.annotations">
<inferAnnotationsToken implementation="com.android.tools.idea.actions.annotations.InferAnnotationsGradleToken"/>
</extensions>
<extensions defaultExtensionNs="com.android.tools.idea.flags">
<experimentalSettingsContributor implementation="com.android.tools.idea.gradle.project.GradleExperimentalSettingsContributor"/>
</extensions>
<extensions defaultExtensionNs="com.android.tools.idea.run.editor">
<testRunParametersToken implementation="com.android.tools.idea.run.editor.TestRunParametersGradleToken"/>
</extensions>
<extensions defaultExtensionNs="com.android.tools.idea.testartifacts.instrumented">
<androidTestConfigurationProducerToken implementation="com.android.tools.idea.testartifacts.instrumented.AndroidTestConfigurationProducerGradleToken"/>
<androidRunConfigurationToken implementation="com.android.tools.idea.testartifacts.instrumented.AndroidRunConfigurationGradleToken"/>
</extensions>
<extensions defaultExtensionNs="com.android.tools.idea.ui.resourcemanager.importer">
<createDefaultResDirectoryToken implementation="com.android.tools.idea.ui.resourcemanager.importer.CreateDefaultResDirectoryGradleToken"/>
</extensions>
<extensions defaultExtensionNs="org.jetbrains.android.facet">
<resourceFolderManagerToken implementation="org.jetbrains.android.facet.ResourceFolderManagerGradleToken"/>
</extensions>
<extensions defaultExtensionNs="com.android.tools.idea.run.configuration.editors">
<androidWearConfigurationEditorToken implementation="com.android.tools.idea.run.configuration.editors.AndroidWearConfigurationEditorGradleToken"/>
</extensions>
<extensions defaultExtensionNs="com.android.tools.idea.execution.common.debug.utils">
<facetFinderToken implementation="com.android.tools.idea.execution.common.debug.utils.FacetFinderGradleToken"/>
</extensions>
<extensions defaultExtensionNs="com.android.tools.idea.res">
<resourceClassToken implementation="com.android.tools.idea.res.ResourceClassGradleToken"/>
</extensions>
<extensions defaultExtensionNs="com.android.tools.idea.manifest">
<manifestClassToken implementation="com.android.tools.idea.manifest.ManifestClassGradleToken"/>
</extensions>
<extensions defaultExtensionNs="com.android.tools.idea.imports">
<androidMavenImportToken implementation="com.android.tools.idea.imports.AndroidMavenImportGradleToken"/>
</extensions>
<projectListeners>
<listener class="com.android.tools.idea.gradle.project.sync.GradleSyncStateHolder$DataImportListener"
topic="com.intellij.openapi.externalSystem.service.project.manage.ProjectDataImportListener"/>
<listener class="com.android.tools.idea.gradle.project.sync.setup.post.SetUpRunConfigurationsSyncListener"
topic="com.android.tools.idea.gradle.project.sync.GradleSyncListenerWithRoot"/>
<listener class="com.android.tools.idea.gradle.project.sync.setup.post.ProjectStructureUsageTrackerSyncListener"
topic="com.android.tools.idea.gradle.project.sync.GradleSyncListenerWithRoot"/>
<listener class="com.android.tools.idea.gradle.project.sync.setup.post.RecordAgpVersionSyncListener"
topic="com.android.tools.idea.gradle.project.sync.GradleSyncListenerWithRoot"/>
<listener class="com.android.tools.idea.gradle.variant.view.BuildVariantView$SyncListener"
topic="com.android.tools.idea.gradle.project.sync.GradleSyncListenerWithRoot"/>
<listener class="com.android.tools.idea.gradle.project.sync.listeners.StateChangeNotification"
topic="com.android.tools.idea.gradle.project.sync.GradleSyncListenerWithRoot"/>
<listener class="com.android.tools.idea.gradle.project.sync.listeners.MigrateGradleJvmFromHardcodedNamesSyncListener"
topic="com.android.tools.idea.gradle.project.sync.GradleSyncListenerWithRoot"/>
<listener class="com.android.tools.idea.gradle.project.sync.listeners.InitializeGradleLocalJavaHomeListener"
topic="com.android.tools.idea.gradle.project.sync.GradleSyncListenerWithRoot"/>
<listener class="com.android.tools.idea.gradle.project.sync.listeners.SdkIndexIssuesSyncListener"
topic="com.android.tools.idea.gradle.project.sync.GradleSyncListenerWithRoot"/>
<listener class="com.android.tools.idea.gradle.project.sync.listeners.SpawnMultipleDaemonsWarningListener"
topic="com.android.tools.idea.gradle.project.sync.GradleSyncListenerWithRoot"/>
</projectListeners>
<extensions defaultExtensionNs="org.jetbrains.plugins.gradle">
<externallyHandledExtensions implementation="com.android.tools.idea.gradle.catalog.GradleDslVersionCatalogHandler"/>
<orderEnumerationHandlerFactory implementation="com.android.tools.idea.gradle.project.AndroidGradleOrderEnumeratorHandlerFactory"/>
<projectResolve implementation="com.android.tools.idea.gradle.project.sync.idea.AndroidGradleProjectResolver"/>
<projectResolve implementation="org.jetbrains.kotlin.android.configure.KotlinAndroidMPPGradleProjectResolver"/>
<resolve.contributor implementation="com.android.tools.idea.gradle.service.resolve.AndroidDslContributor"/>
<issueChecker implementation="com.android.tools.idea.gradle.project.build.output.DataBindingIssueChecker"/>
<issueChecker implementation="com.android.tools.idea.gradle.project.sync.errors.AarDependencyCompatibilityIssueChecker"/>
<issueChecker implementation="com.android.tools.idea.gradle.project.sync.errors.CachedDependencyNotFoundIssueChecker"/>
<issueChecker implementation="com.android.tools.idea.gradle.project.sync.errors.ClassLoadingIssueChecker"/>
<issueChecker implementation="com.android.tools.idea.gradle.project.sync.errors.ConnectionPermissionDeniedIssueChecker"/>
<issueChecker implementation="com.android.tools.idea.gradle.project.sync.errors.CorruptGradleDependencyIssueChecker"/>
<issueChecker implementation="com.android.tools.idea.gradle.project.sync.errors.DaemonContextMismatchIssueChecker"/>
<issueChecker implementation="com.android.tools.idea.gradle.project.sync.errors.DexDisabledIssueChecker"/>
<issueChecker implementation="com.android.tools.idea.gradle.project.sync.errors.DuplicateClassIssueChecker"/>
<issueChecker implementation="com.android.tools.idea.gradle.project.sync.errors.FailedToParseSdkIssueChecker"/>
<issueChecker implementation="com.android.tools.idea.gradle.project.sync.errors.ErrorOpeningZipFileIssueChecker"/>
<issueChecker implementation="com.android.tools.idea.gradle.project.sync.errors.GradleBrokenPipeIssueChecker"/>
<issueChecker implementation="com.android.tools.idea.gradle.project.sync.errors.GradleDistributionInstallIssueChecker"/>
<issueChecker implementation="com.android.tools.idea.gradle.project.sync.errors.IncompatibleAgpVersionsIssueChecker"/>
<issueChecker implementation="com.android.tools.idea.gradle.project.sync.errors.InternetConnectionIssueChecker"/>
<issueChecker implementation="com.android.tools.idea.gradle.project.sync.errors.MissingBuildToolsIssueChecker"/>
<issueChecker implementation="com.android.tools.idea.gradle.project.sync.errors.MissingCMakeIssueChecker"/>
<issueChecker implementation="com.android.tools.idea.gradle.project.sync.errors.MissingAndroidPluginIssueChecker"/>
<issueChecker implementation="com.android.tools.idea.gradle.project.sync.errors.NoMatchingConfigurationSelectionIssueChecker"/>
<issueChecker implementation="com.android.tools.idea.gradle.project.sync.errors.UnexpectedIssueChecker"/>
<issueChecker implementation="com.android.tools.idea.gradle.project.sync.errors.UnknownHostIssueChecker"/>
<issueChecker implementation="com.android.tools.idea.gradle.project.sync.errors.UnsupportedClassVersionIssueChecker"/>
<issueChecker implementation="com.android.tools.idea.gradle.project.sync.errors.UnsupportedJavaVersionForAgpIssueChecker"/>
<issueChecker implementation="com.android.tools.idea.gradle.project.sync.errors.MissingPlatformIssueChecker"/>
<issueChecker implementation="com.android.tools.idea.gradle.project.sync.errors.MissingNdkIssueChecker"/>
<issueChecker implementation="com.android.tools.idea.gradle.project.sync.errors.SdkBuildToolsTooLowIssueChecker"/>
<issueChecker id="UnsupportedGradleVersionIssueChecker" implementation="com.android.tools.idea.gradle.project.sync.errors.UnsupportedGradleVersionIssueChecker"/>
<issueChecker implementation="com.android.tools.idea.gradle.project.build.errors.XmlErrorIssueChecker"/>
<issueChecker implementation="com.android.tools.idea.gradle.project.sync.errors.UnknownMultiplatformTestSourceSetChecker"/>
<issueChecker implementation="com.android.tools.idea.gradle.project.sync.issues.toolchain.GradleInvalidDaemonJvmCriteriaIssueReporter" order="first"/>
<issueChecker implementation="com.android.tools.idea.gradle.project.sync.issues.toolchain.GradleToolchainDownloadedMismatchCriteriaIssueReporter" order="first"/>
<issueChecker implementation="com.android.tools.idea.gradle.project.sync.issues.toolchain.GradleToolchainDownloadingErrorIssueReporter" order="first"/>
<issueChecker implementation="com.android.tools.idea.gradle.project.sync.issues.toolchain.GradleToolchainInstalledNotFoundMatchingCriteriaIssueReporter" order="first"/>
<issueChecker implementation="com.android.tools.idea.gradle.project.sync.issues.toolchain.GradleUndefinedDaemonJvmCriteriaIssueReporter" order="first"/>
<issueChecker implementation="com.android.tools.idea.gradle.project.sync.issues.toolchain.GradleUndefinedToolchainRepositoriesIssueReporter" order="first"/>
<gradleJvmResolver implementation="com.android.tools.idea.gradle.resolvers.GradleJvmEnvironmentStudioJdkResolver" order="first" />
<importCustomizer implementation="com.android.tools.idea.gradle.project.AndroidStudioGradleImportCustomizer"/>
<settingsControlProvider implementation="com.android.tools.idea.gradle.project.AndroidStudioGradleSettingsControlProvider"/>
<executionHelperExtension implementation="com.android.tools.idea.gradle.project.sync.GradleSyncStateHolder$BuildPhaseListenerExecutionHelperExtension"/>
</extensions>
<extensions defaultExtensionNs="com.android.gradle.sync">
<postSyncProjectSetupStep implementation="com.android.tools.idea.gradle.project.sync.setup.post.project.IgnoredBuildScriptSetupStep"/>
<postSyncProjectCleanupStep implementation="com.android.tools.idea.gradle.project.sync.setup.post.cleanup.SdksCleanupStep"/>
</extensions>
<extensions defaultExtensionNs="com.android.ide">
<sdkEventListener implementation="com.android.tools.idea.gradle.sdk.GradleAndroidSdkEventListener"/>
</extensions>
<extensions defaultExtensionNs="com.android.tools.idea">
<projectsystem.ApplicationProjectContextProvider implementation="com.android.tools.idea.projectsystem.gradle.GradleApplicationProjectContextProvider"/>
<projectsystem.pseudoLocalesToken implementation="com.android.tools.idea.projectsystem.gradle.GradlePseudoLocalesToken"/>
<projectsystem.libraryDependenciesTroubleInfoCollectorToken
implementation="com.android.tools.idea.projectsystem.gradle.LibraryDependenciesTroubleInfoCollectorGradleToken"/>
<projectsystem.dynamicAppFeatureOnFeatureToken implementation="com.android.tools.idea.gradle.util.DynamicAppFeatureOnFeatureGradleToken"/>
<projectsystem.findDependenciesWithResourcesToken implementation="com.android.tools.idea.projectsystem.gradle.FindDependenciesWithResourcesGradleToken"/>
<projectsystem.androidIconProviderProjectToken implementation="com.android.tools.idea.projectsystem.gradle.AndroidIconProviderProjectGradleToken"/>
</extensions>
<extensions defaultExtensionNs="org.jetbrains.android.actions">
<newResourceCreationHandler
implementation="com.android.tools.idea.gradle.actions.GradleNewResourceCreationHandler" />
</extensions>
<extensions defaultExtensionNs="com.android.tools.idea.model">
<mergedManifestInfoToken implementation="com.android.tools.idea.model.MergedManifestInfoGradleToken"/>
</extensions>
<extensions defaultExtensionNs="com.android.tools.idea">
<versionCatalogFilesGradleModel implementation="com.android.tools.idea.gradle.catalog.VersionCatalogFilesGradleModel"/>
<rendering.tokens.buildSystemFilePreviewServices implementation="com.android.tools.idea.rendering.tokens.GradleBuildSystemFilePreviewServices"/>
<liveedit.tokens.buildSystemLiveEditServices implementation="com.android.tools.idea.run.deployment.liveedit.tokens.GradleBuildSystemLiveEditServices"/>
</extensions>
<extensions defaultExtensionNs="com.android.tools.idea.memorysettings">
<memorySettingsToken implementation="com.android.tools.idea.memorysettings.MemorySettingsGradleToken"/>
</extensions>
<actions>
<action id="Android.SyncProject" class="com.android.tools.idea.gradle.actions.SyncProjectAction" icon="StudioIcons.Shell.Toolbar.GRADLE_SYNC">
<add-to-group group-id="Android.MainToolBarActionGroup" anchor="before" relative-to-action="AndroidDeviceManagerPlaceholder"/>
<add-to-group group-id="FileMenu" anchor="after" relative-to-action="SaveAll"/>
<keyboard-shortcut keymap="$default" first-keystroke="control shift o" />
</action>
<action id="RefreshLinkedCppProjects" class="com.android.tools.idea.gradle.actions.RefreshLinkedCppProjectsAction">
<add-to-group group-id="FileMenu" anchor="after" relative-to-action="Android.SyncProject"/>
</action>
<group id="Library.Properties">
<separator/>
<action id="LibraryProperties" class="com.android.tools.idea.gradle.actions.LibraryPropertiesAction"/>
<add-to-group group-id="ProjectViewPopupMenu" anchor="after" relative-to-action="RevealIn"/>
</group>
<group id="RebuildCleanProject">
<add-to-group group-id="BuildMenu" anchor="after" relative-to-action="com.android.build.attribution.ui.OpenBuildAnalyzerAction"/>
<separator/>
<action id="CleanGradleProject" class="com.android.tools.idea.gradle.actions.CleanProjectAction"/>
<action id="RebuildGradleProject" class="com.android.tools.idea.gradle.actions.RebuildGradleProjectAction"/>
<separator/>
</group>
<action internal="true" id="Android.StopGradleDaemons" class="com.android.tools.idea.gradle.actions.StopGradleDaemonsAction" />
<group>
<add-to-group group-id="BuildMenu" anchor="after" relative-to-action="RebuildCleanProject"/>
<separator/>
<action id="SelectBuildVariant" class="com.android.tools.idea.gradle.actions.SelectBuildVariantAction"/>
<separator/>
</group>
<group id="Android.BuildApkOrBundle" class="com.android.tools.idea.gradle.actions.BuildApkOrBundleActionGroup" text="Generate App Bundles or APKs" popup="true">
<add-to-group group-id="BuildMenu" anchor="last"/>
<action id="Android.BuildApk" class="com.android.tools.idea.gradle.actions.GenerateApkAction"/>
<action id="Android.BuildBundle" class="com.android.tools.idea.gradle.actions.GenerateBundleAction"/>
</group>
<action id="Android.GenerateSignedApk" class="org.jetbrains.android.actions.GenerateSignedAppBundleOrApkAction">
<add-to-group group-id="BuildMenu" anchor="last"/>
</action>
<group id="Android.BuildTree.AdditionalActions" searchable="false"/>
<action internal="true" id="Android.DumpProject"
class="com.android.tools.idea.gradle.project.sync.internal.DumpProjectAction">
<add-to-group group-id="Internal.Android"/>
</action>
<action internal="true" id="Android.DumpProjectIdeModels"
class="com.android.tools.idea.gradle.project.sync.internal.DumpProjectIdeModelAction">
<add-to-group group-id="Internal.Android"/>
</action>
<action id="NewVersionCatalogFile" class="com.android.tools.idea.actions.NewVersionCatalogAction">
<add-to-group group-id="NewGroup" anchor="last"/>
</action>
<action id="AndroidMigrateToResourceNamespacesAction" class="org.jetbrains.android.refactoring.namespaces.MigrateToResourceNamespacesAction" text="Migrate to Resource Namespaces..."
description="Migrates to resource namespaces">
<add-to-group group-id="RefactoringMenu"/>
</action>
<action id="AndroidMigrateToNonTransitiveRClassesAction"
class="org.jetbrains.android.refactoring.namespaces.MigrateToNonTransitiveRClassesAction"
text="Migrate to Non-Transitive R Classes..."
description="Migrates the project to use Non-Transitive R classes">
<add-to-group group-id="RefactoringMenu"/>
</action>
<action id="AndroidMigrateBuildConfigFromGradlePropertiesToDsl"
class="org.jetbrains.android.refactoring.MigrateBuildConfigFromGradlePropertiesAction"
text="Migrate BuildConfig to Gradle Build Files"
description="Enable buildConfig for those modules that need it only">
<add-to-group group-id="RefactoringMenu"/>
</action>
<action id="AndroidMigrateResValuesFromGradlePropertiesToDsl"
class="org.jetbrains.android.refactoring.MigrateResValuesFromGradlePropertiesAction"
text="Migrate ResValues to Gradle Build Files"
description="Enable resValues for those modules that need it only">
<add-to-group group-id="RefactoringMenu"/>
</action>
<action
id="AndroidMigrateToDefaultTargetSdkToCompileSdkValueIfUnset"
class="org.jetbrains.android.refactoring.MigrateToDefaultTargetSdkToCompileSdkIfUnsetAction"
text="Default TargetSdk to CompileSdk"
description="Migrates the project to default targetSdk to compileSdk while preserving current behavior.">
<add-to-group group-id="RefactoringMenu"/>
</action>
<action
id="AndroidX.BaselineProfile.RunGenerate"
class="com.android.tools.idea.run.configuration.BaselineProfileAction"
text="Generate Entire App Baseline Profile"
icon="StudioIcons.Wizards.Modules.BASELINE_PROFILE_GENERATE"
description="Generate the Baseline Profile for the selected app. Note that generation is always per app and cannot be done for a single method or class.">
</action>
<action
id="IgnoreGradleChanges"
class="com.android.tools.idea.run.IgnoreGradleChangesAction"
text="Ignore Gradle Changes"
description="Ignores Gradle changes and hides notification reminding to sync."
/>
</actions>
<extensionPoints>
<extensionPoint qualifiedName="com.android.moduleImporter" interface="com.android.tools.idea.gradle.project.AndroidModuleImporter" />
<extensionPoint qualifiedName="com.android.gradle.sync.postSyncProjectSetupStep"
interface="com.android.tools.idea.gradle.project.sync.setup.post.ProjectSetupStep"/>
<extensionPoint qualifiedName="com.android.gradle.sync.postSyncProjectCleanupStep"
interface="com.android.tools.idea.gradle.project.sync.setup.post.ProjectCleanupStep"/>
<extensionPoint qualifiedName="com.android.gradle.androidModuleDataService"
interface="com.android.tools.idea.projectsystem.gradle.sync.AndroidModuleDataServiceExtension"/>
<extensionPoint qualifiedName="com.android.tools.idea.gradle.errorQuickFixProvider"
interface="com.android.tools.idea.gradle.project.build.events.GradleErrorQuickFixProvider"/>
<extensionPoint qualifiedName="com.android.tools.idea.gradle.project.importing.gradleProjectImporter"
interface="com.android.tools.idea.gradle.project.importing.GradleProjectImporterExtension"/>
<!--
This extension point is for internal use only.
It will be retired once the Gradle test results console view can be customised, see
https://youtrack.jetbrains.com/issue/
-->
<extensionPoint qualifiedName="com.android.tools.idea.testartifacts.testsuite.temp.testSuiteViewAdaptorProvider"
interface="com.android.tools.idea.testartifacts.testsuite.temp.TestSuiteViewAdaptorProvider"/>
</extensionPoints>
</idea-plugin>