| <!-- |
| ~ 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> |