blob: 31431e07072f2ddcbaca3e244a23787f78d7b120 [file] [log] [blame]
<!--
~ Copyright (C) 2021 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">
<extensions defaultExtensionNs="com.intellij">
<externalSystemNotificationExtension implementation="com.android.tools.idea.gradle.service.notification.GradleJvmNotificationExtension"/>
<externalSystemNotificationExtension implementation="com.android.tools.idea.gradle.service.notification.AGPMessagesNotificationExtension"/>
<applicationInitializedListener id="Startup.AndroidGradleOpenProjectProcessorInitializer"
implementation="com.android.tools.idea.projectsystem.gradle.DisableGradleProjectOpenProcessor"/>
<applicationInitializedListener id="Startup.HideNotApplicableSettings"
implementation="com.android.tools.idea.projectsystem.gradle.AndroidStudioSettingsInitializer"/>
<applicationInitializedListener id="DisableGradleAttachSourcesProvider"
implementation="com.android.tools.idea.projectsystem.gradle.DisableGradleAttachSourcesProvider" />
<applicationInitializedListener id="DisableKotlinGradleTomlVersionCatalogReferencesSearcher"
implementation="com.android.tools.idea.projectsystem.gradle.DisableKotlinGradleTomlVersionCatalogReferencesSearcher" />
<projectConfigurable groupId="build" id="build.tools"
instance="com.android.tools.idea.projectsystem.gradle.AndroidStudioBuildToolsConfigurable"
key="settings.build.tools.display.name" bundle="messages.ExternalSystemBundle"/>
<advancedSetting default="false" id="project.view.default" bundle="messages.AndroidBundle"
groupKey="group.advanced.settings.project.view"
service="com.android.tools.idea.gradle.projectView.AndroidProjectViewSettings"
property="defaultToProjectView"/>
<applicationService
serviceInterface="com.android.tools.idea.gradle.projectView.AndroidProjectViewSettings"
serviceImplementation="com.android.tools.idea.gradle.projectView.AndroidProjectViewSettingsImpl"/>
<projectService serviceImplementation="com.android.tools.idea.gradle.project.ProjectMigrationsPersistentState"/>
<projectService serviceInterface="com.intellij.openapi.externalSystem.autoimport.ExternalSystemProjectTracker"
serviceImplementation="com.android.tools.idea.projectsystem.gradle.RefreshOnlyAutoImportProjectTracker"
overrides="true"/>
<projectService serviceInterface="org.jetbrains.plugins.gradle.settings.GradleSettings"
serviceImplementation="com.android.tools.idea.gradle.project.AndroidStudioGradleSettings"
overrides="true"/>
<applicationService serviceInterface="org.jetbrains.plugins.gradle.settings.GradleSystemSettings"
serviceImplementation="com.android.tools.idea.gradle.project.AndroidStudioGradleSystemSettings"
overrides="true"/>
<applicationService serviceInterface="org.jetbrains.plugins.gradle.service.GradleInstallationManager"
serviceImplementation="com.android.tools.idea.gradle.project.AndroidStudioGradleInstallationManager"
overrides="true"/>
<applicationService serviceImplementation="com.android.tools.idea.gradle.projectView.ProjectToolWindowSettings"/>
<projectService serviceImplementation="com.android.tools.idea.gradle.project.sync.GradleFiles"/>
<postStartupActivity implementation="com.android.tools.idea.gradle.project.sync.GradleFilesProjectActivity"/>
<postStartupActivity implementation="com.android.tools.idea.gradle.project.AndroidStudioProjectActivity" />
<externalSystemExecutionConsoleManager implementation="com.android.tools.idea.testartifacts.testsuite.temp.GradleAndroidTestsExecutionConsoleManager" id="GradleAndroidTestExecutionConsoleManager" order="before gradleTest" />
<externalSystem.runConfigurationEx implementation="com.android.tools.idea.testartifacts.testsuite.GradleRunConfigurationExtension"/>
<actionConfigurationCustomizer id="Startup.GradleSpecificActionCustomizer" order="after Startup.AndroidStudioActionCustomizer" implementation="com.android.tools.idea.startup.GradleSpecificActionCustomizer" />
<directoryIndexExcludePolicy implementation="com.android.tools.idea.gradle.project.importing.InitialImportExcludeDirectoryPolicy" />
<externalProjectDataService implementation="com.android.tools.idea.gradle.project.sync.idea.data.service.ProjectJdkUpdateService" />
<editorNotificationProvider implementation="com.android.tools.idea.gradle.notification.ProjectSyncStatusNotificationProvider"/>
<feedbackDescriptionProvider implementation="com.android.tools.idea.feedback.GradleAndNdkFeedbackDescriptionProvider" />
<registryKey key="unknown.sdk" defaultValue="false" description="Check for unknown SDKs and provide automatic fixes or smart suggestions" overrides="true"/>
<registryKey key="unknown.sdk.auto" defaultValue="false" description="Checks and resolves unknown SDKs automatically on start" overrides="true"/>
<registryKey key="unknown.sdk.modal.jps" defaultValue="false" description="Run unknown JDK test before JPS build is started" overrides="true"/>
<registryKey key="unknown.sdk.show.editor.actions" defaultValue="false" description="Show editor suggestions to fix missing SKDs" overrides="true"/>
<!-- Disable Gradle auto-import by overriding the corresponding registry flag. -->
<registryKey key="external.system.auto.import.disabled" defaultValue="true" description="Disable build system auto-import" overrides="true"/>
<!-- Disable phased sync as we've found it to be slower and there is currently no benefit for Android Studio. Context: b/360851078 -->
<registryKey key="gradle.phased.sync.enabled" defaultValue="false" description="Enable the phased Gradle sync execution" overrides="true"/>
<!-- Disable project widget status as it does not work (has no benefit) as expected in Android Studio. Discuss with JB about its benefits: b/378463994 -->
<registryKey key="ide.widget.project.status" defaultValue="false" description="Enables the project status widget and disables editor project notifications" overrides="true"/>
</extensions>
<extensions defaultExtensionNs="org.jetbrains.plugins.gradle">
<taskManager implementation="com.android.tools.idea.gradle.task.AndroidGradleTaskManager"/>
<taskManager implementation="com.android.tools.idea.testartifacts.testsuite.GradleAndroidTestsTaskManager"/>
<syncContributor implementation="com.android.tools.idea.projectsystem.gradle.FixSyncContributorIssues" />
<syncContributor implementation="com.android.tools.idea.gradle.project.sync.idea.AndroidSourceRootSyncContributor"/>
</extensions>
<applicationListeners>
<listener class="com.android.tools.idea.startup.GradleSpecificInitializer"
topic="com.intellij.ide.AppLifecycleListener"/>
</applicationListeners>
<projectListeners>
<listener class="com.android.tools.idea.gradle.project.sync.listeners.MigrateGradleJvmFromMacrosSyncListener"
topic="com.android.tools.idea.gradle.project.sync.GradleSyncListenerWithRoot"/>
<listener class="com.android.tools.idea.gradle.project.sync.listeners.MigrateJdkConfigToGradleJavaHomeListener"
topic="com.android.tools.idea.gradle.project.sync.GradleSyncListenerWithRoot"/>
<listener class="com.android.tools.idea.gradle.project.sync.listeners.RemoveGradleJvmReferenceSyncListener"
topic="com.android.tools.idea.gradle.project.sync.GradleSyncListenerWithRoot"/>
</projectListeners>
<actions>
<action id="WelcomeScreen.Configure.ProjectStructure" class="com.android.tools.idea.gradle.actions.AndroidTemplateProjectStructureAction" overrides="true" />
<action id="ChangeGradleJdkLocation" class="com.android.tools.idea.gradle.actions.ChangeGradleJdkLocationAction"/>
<action id="GenerateSourcesModuleAction" class="com.android.tools.idea.gradle.actions.GenerateSourcesModuleAction"/>
<action id="InferNullity" text="Infer Nullity..." class="com.android.tools.idea.actions.AndroidInferNullityAnnotationAction" overrides="true"/>
<action id="AssembleRunConfiguration" class="com.android.tools.idea.gradle.actions.AssembleRunConfigurationAction" use-shortcut-of="CompileDirty">
<add-to-group group-id="TouchBarDefault" anchor="before" relative-to-action="RunConfiguration"/>
<add-to-group group-id="Android.MainToolbarRight" anchor="first"/>
<add-to-group group-id="BuildMenu" anchor="first"/>
</action>
<group>
<add-to-group group-id="BuildMenu" anchor="before" relative-to-action="Android.BuildApkOrBundle"/>
<action id="AssembleGradleModule" class="com.android.tools.idea.gradle.actions.AssembleGradleModuleAction"/>
<action id="MakeGradleProject" class="com.android.tools.idea.gradle.actions.AssembleGradleProjectAction"/>
<action id="AssembleGradleProjectWithTests" class="com.android.tools.idea.gradle.actions.AssembleGradleProjectWithTestsAction"/>
<separator/>
</group>
<action internal="true" id="VerifyGradleTokensAction" class="com.android.tools.idea.projectsystem.VerifyGradleTokensAction">
<add-to-group group-id="Internal.Android"/>
</action>
<action id="CompileGradleModule" class="com.android.tools.idea.gradle.actions.CompileGradleModuleAction">
<add-to-group group-id="BuildMenu" anchor="after" relative-to-action="AssembleRunConfiguration"/>
</action>
<action id="CompileAllSources" class="com.android.tools.idea.gradle.actions.CompileAllSources">
<add-to-group group-id="BuildMenu" anchor="after" relative-to-action="CompileGradleModule"/>
</action>
<group id="AndroidToolbarMakeGroup">
<action id="MakeTypeSelectionGroup" class="com.android.tools.idea.gradle.actions.MakeTypeSelectionGroupAction"/>
<add-to-group group-id="ToolbarRunGroup" relative-to-action="RunConfiguration" anchor="before"/>
</group>
<reference ref="Android.SyncProject">
<add-to-group group-id="Android.NavBarToolBar" anchor="first"/>
<add-to-group group-id="Android.MainToolbarRight" anchor="last"/>
</reference>
<group>
<add-to-group group-id="ProjectView.ToolWindow.Appearance.Actions" relative-to-action="ProjectView.FlattenModules" anchor="before"/>
<separator/>
<action id="ShowBuildFilesInModuleAction" class="com.android.tools.idea.gradle.actions.ShowBuildFilesInModuleAction"/>
<separator/>
</group>
</actions>
</idea-plugin>