<!--
  ~ Copyright (C) 2019 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>
  <depends>org.jetbrains.plugins.gradle</depends>
  <extensions defaultExtensionNs="com.intellij">
    <projectService serviceInterface="com.android.tools.idea.gradle.project.build.attribution.BuildAttributionManager"
                    serviceImplementation="com.android.build.attribution.BuildAttributionManagerImpl"/>
    <projectService serviceImplementation="com.android.build.attribution.BuildAttributionWarningsFilter"/>
    <projectService serviceImplementation="com.android.build.attribution.BuildAnalyzerSettings"/>
<!--    Remove BA Settings page for now as it ends up empty with notification setting removal.-->
<!--    <projectConfigurable groupId="build" id="build.analyzer" displayName="Build Analyzer"-->
<!--                         provider="com.android.build.attribution.BuildAnalyzerConfigurableProvider"/>-->
    <projectService serviceImplementation="com.android.build.attribution.BuildDescriptorStorageService"/>
    <projectService serviceInterface="com.android.build.attribution.ui.BuildAttributionUiManager"
                    serviceImplementation="com.android.build.attribution.ui.BuildAttributionUiManagerImpl"/>
    <projectService serviceImplementation="com.android.build.attribution.ui.controllers.ConfigurationCacheTestBuildFlowRunner"/>
    <applicationService serviceInterface="com.android.build.attribution.KnownGradlePluginsService"
                        serviceImplementation="com.android.build.attribution.LocalKnownGradlePluginsServiceImpl"/>
    <projectService  serviceInterface = "com.android.build.attribution.BuildAnalyzerStorageManager"
        serviceImplementation="com.android.build.attribution.BuildAnalyzerStorageManagerImpl"/>

    <projectService serviceInterface="com.android.tools.idea.gradle.project.sync.SyncAnalyzerManager"
                    serviceImplementation="com.android.sync.analyzer.SyncAnalyzerManagerImpl"/>

    <notificationGroup id="Build Analyzer" displayType="TOOL_WINDOW" toolWindowId="Build"/>
    <backgroundPostStartupActivity implementation="com.android.build.diagnostic.StudioWindowsDefenderCheckerActivity" os="windows"/>
    <applicationService serviceInterface="com.intellij.diagnostic.WindowsDefenderChecker"
                        serviceImplementation="com.android.build.diagnostic.WindowsDefenderCheckerOverride" overrides="true"/>

  </extensions>
  <extensions defaultExtensionNs="org.jetbrains.plugins.gradle">
    <executionHelperExtension implementation="com.android.sync.analyzer.SyncAnalyzerExecutionHelperExtension"/>
  </extensions>
  <actions>
    <action id = "com.android.build.attribution.ui.OpenBuildAnalyzerAction"
            class="com.android.build.attribution.ui.OpenBuildAnalyzerAction"
            description = "Open Build Analyzer (requires successful build to show report).">
      <add-to-group group-id="BuildMenu" anchor="last"/>
    </action>
    <action id = "com.android.build.attribution.ui.OpenBuildAnalyzerResultsAction"
            class="com.android.build.attribution.ui.OpenBuildAnalyzerResultsAction"
            description = "Open Build Analyzer on a past build's results">
      <add-to-group group-id="BuildMenu" anchor="last"/>
    </action>
  </actions>
  <projectListeners>
    <listener
        class="com.android.build.attribution.ui.BuildAnalyzerStorageManagerListenerImpl"
        topic="com.android.build.attribution.BuildAnalyzerStorageManager$Listener"/>
  </projectListeners>
</idea-plugin>
