<!--
  ~ Copyright 2016 The Bazel Authors. All rights reserved.
  ~
  ~ 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>
  <actions>
    <action id="MakeBlazeProject" class="com.google.idea.blaze.base.actions.BlazeMakeProjectAction" use-shortcut-of="CompileDirty" icon="AllIcons.Actions.Compile">
    </action>
    <action id="MakeBlazeModule" class="com.google.idea.blaze.base.actions.BlazeCompileFileAction">
    </action>
    <action id="Blaze.IncrementalSyncProject" class="com.google.idea.blaze.base.sync.actions.IncrementalSyncProjectAction" icon="BlazeIcons.Blaze">
    </action>
    <action id="Blaze.FullSyncProject" class="com.google.idea.blaze.base.sync.actions.FullSyncProjectAction" icon="BlazeIcons.BlazeSlow">
    </action>
    <action id="Blaze.SyncWorkingSet" class="com.google.idea.blaze.base.sync.actions.SyncWorkingSetAction" icon="BlazeIcons.Blaze" text="Sync Working Set">
    </action>
    <action id="Blaze.ExpandSyncToWorkingSet" class="com.google.idea.blaze.base.sync.actions.ExpandSyncToWorkingSetAction" text="Expand Sync to Working Set">
    </action>
    <action id="Blaze.ShowPerformanceWarnings" class="com.google.idea.blaze.base.sync.actions.ShowPerformanceWarningsToggleAction" text="Show Performance Warnings">
    </action>
    <action id="Blaze.EditProjectView" class="com.google.idea.blaze.base.settings.ui.EditProjectViewAction" text="Edit Project View..." icon="BlazeIcons.Blaze">
    </action>

    <action class="com.google.idea.blaze.base.buildmap.OpenCorrespondingBuildFile"
            id="Blaze.OpenCorrespondingBuildFile"
            icon="BlazeIcons.Blaze"
            text="Open Corresponding BUILD File">
    </action>
    <action class="com.google.idea.blaze.base.sync.actions.PartialSyncAction"
            id="Blaze.PartialSync"
            icon="BlazeIcons.Blaze">
    </action>

    <group id="Blaze.MainMenuActionGroup" class="com.google.idea.blaze.base.actions.BlazeMenuGroup">
      <add-to-group group-id="MainMenu" anchor="before" relative-to-action="HelpMenu"/>
      <reference id="MakeBlazeProject"/>
      <reference id="MakeBlazeModule"/>
      <separator/>
      <reference id="Blaze.EditProjectView"/>
      <separator/>
      <reference id="Blaze.IncrementalSyncProject"/>
      <reference id="Blaze.FullSyncProject"/>
      <reference id="Blaze.SyncWorkingSet"/>
      <reference id="Blaze.PartialSync"/>
      <reference id="Blaze.ExpandSyncToWorkingSet"/>
      <reference id="Blaze.ShowPerformanceWarnings"/>
    </group>

    <group id="Blaze.MainToolBarActionGroup">
      <add-to-group group-id="MainToolBar" anchor="before" relative-to-action="HelpTopics" />
      <add-to-group group-id="NavBarToolBarOthers" anchor="last"/>
      <reference id="Blaze.IncrementalSyncProject"/>
    </group>

    <group id="Blaze.NewActions" text="Edit Blaze structure" description="Create new Blaze packages, rules, etc.">
      <add-to-group group-id="NewGroup" anchor="first"/>
      <action id="Blaze.NewPackageAction" class="com.google.idea.blaze.base.ide.NewBlazePackageAction" popup="true"/>
      <action id="Blaze.NewRuleAction" class="com.google.idea.blaze.base.ide.NewBlazeRuleAction" popup="true"/>
      <separator/>
    </group>

    <group id="Blaze.ProjectViewPopupMenu">
      <add-to-group anchor="after" group-id="ProjectViewPopupMenu" relative-to-action="EditSource"/>
      <separator/>
      <reference ref="Blaze.PartialSync"/>
      <reference ref="Blaze.OpenCorrespondingBuildFile"/>
    </group>

    <group id="Blaze.EditorTabPopupMenu">
      <add-to-group anchor="after" group-id="EditorTabPopupMenu" relative-to-action="CopyReference"/>
      <separator/>
      <reference ref="Blaze.PartialSync"/>
      <reference ref="Blaze.OpenCorrespondingBuildFile"/>
    </group>
  </actions>

  <extensions defaultExtensionNs="com.intellij">
    <postStartupActivity implementation="com.google.idea.blaze.base.sync.BlazeSyncStartupActivity"/>

    <toolWindow id="Blaze Console"
                      anchor="bottom"
                      secondary="true"
                      conditionClass="com.google.idea.blaze.base.settings.IsBlazeProjectCondition"
                      icon="BlazeIcons.BlazeToolWindow"
                      factoryClass="com.google.idea.blaze.base.console.BlazeConsoleToolWindowFactory"/>
    <projectService serviceImplementation="com.google.idea.blaze.base.console.BlazeConsoleView"/>
    <fileTypeFactory implementation="com.google.idea.blaze.base.plugin.BlazeFileTypeFactory" />

    <applicationConfigurable instance="com.google.idea.blaze.base.settings.ui.BlazeUserSettingsConfigurable"
                         id ="blaze.view" />

    <projectService serviceInterface="com.google.idea.blaze.base.sync.data.BlazeProjectDataManager"
                    serviceImplementation="com.google.idea.blaze.base.sync.data.BlazeProjectDataManagerImpl"/>
    <projectService serviceImplementation="com.google.idea.blaze.base.sync.BlazeSyncManager"/>
    <projectService serviceInterface="com.google.idea.blaze.base.sync.status.BlazeSyncStatus"
                    serviceImplementation="com.google.idea.blaze.base.sync.status.BlazeSyncStatusImpl"/>

    <applicationService serviceInterface="com.google.idea.blaze.base.async.executor.BlazeExecutor"
                        serviceImplementation="com.google.idea.blaze.base.async.executor.BlazeExecutorImpl"/>
    <fileDocumentManagerListener implementation="com.google.idea.blaze.base.buildmodifier.FileSaveHandler" order="first"/>
    <applicationService serviceInterface="com.google.idea.blaze.base.io.InputStreamProvider"
                        serviceImplementation="com.google.idea.blaze.base.io.InputStreamProviderImpl"/>
    <applicationService serviceInterface="com.google.idea.blaze.base.io.FileAttributeProvider"
                        serviceImplementation="com.google.idea.blaze.base.io.FileAttributeProvider"/>
    <applicationService serviceInterface="com.google.idea.blaze.base.buildmodifier.BuildFileModifier"
                        serviceImplementation="com.google.idea.blaze.base.lang.buildfile.actions.BuildFileModifierImpl"/>
    <projectService serviceInterface="com.google.idea.blaze.base.buildmodifier.FileSystemModifier"
                    serviceImplementation="com.google.idea.blaze.base.buildmodifier.FileSystemModifierImpl"/>
    <applicationService serviceInterface="com.google.idea.blaze.base.run.targetfinder.TargetFinder"
                        serviceImplementation="com.google.idea.blaze.base.run.targetfinder.TargetFinderImpl"/>
    <applicationService serviceInterface="com.google.idea.blaze.base.command.info.BlazeInfo"
                        serviceImplementation="com.google.idea.blaze.base.command.info.BlazeInfoImpl"/>

    <treeStructureProvider implementation="com.google.idea.blaze.base.treeview.BlazeTreeStructureProvider" id="blaze"/>

    <applicationService serviceInterface="com.google.idea.blaze.base.projectview.ProjectViewStorageManager"
                        serviceImplementation="com.google.idea.blaze.base.projectview.ProjectViewStorageManagerImpl"/>
    <projectService serviceInterface="com.google.idea.blaze.base.projectview.ProjectViewManager"
                    serviceImplementation="com.google.idea.blaze.base.projectview.ProjectViewManagerImpl"/>
    <applicationService serviceInterface="com.google.idea.blaze.base.sync.aspects.BlazeIdeInterface"
                        serviceImplementation="com.google.idea.blaze.base.sync.aspects.BlazeIdeInterfaceAspectsImpl"/>
    <projectService serviceInterface="com.google.idea.blaze.base.run.TestTargetFinder"
                        serviceImplementation="com.google.idea.blaze.base.run.testmap.TestTargetFilterImpl"/>
    <projectService serviceInterface="com.google.idea.blaze.base.console.BlazeConsoleService"
                    serviceImplementation="com.google.idea.blaze.base.console.BlazeConsoleServiceImpl"/>
    <projectService serviceImplementation="com.google.idea.blaze.base.buildmap.FileToBuildMap"/>
    <projectService serviceInterface="com.google.idea.blaze.base.targetmaps.SourceToTargetMap"
                    serviceImplementation="com.google.idea.blaze.base.targetmaps.SourceToTargetMapImpl"/>
    <projectService serviceImplementation="com.google.idea.blaze.base.settings.BlazeImportSettingsManager"/>
    <projectService serviceImplementation="com.google.idea.blaze.base.settings.BlazeImportSettingsManagerLegacy"/>
    <applicationService serviceImplementation="com.google.idea.blaze.base.settings.BlazeUserSettings"/>
    <applicationService serviceInterface="com.google.idea.blaze.base.lang.buildfile.language.semantics.BuildLanguageSpecProvider"
                        serviceImplementation="com.google.idea.blaze.base.lang.buildfile.language.semantics.BuildLanguageSpecProviderImpl"/>
    <applicationService serviceInterface="com.google.idea.blaze.base.sync.projectstructure.ModuleEditorProvider"
                        serviceImplementation="com.google.idea.blaze.base.sync.projectstructure.ModuleEditorProviderImpl"/>
    <applicationService serviceInterface="com.google.idea.blaze.base.prefetch.PrefetchService"
                        serviceImplementation="com.google.idea.blaze.base.prefetch.PrefetchServiceImpl"/>
    <applicationService serviceImplementation="com.google.idea.blaze.base.wizard2.BlazeWizardUserSettingsStorage"/>
    <projectService serviceInterface="com.google.idea.blaze.base.sync.workspace.WorkspacePathResolverProvider"
                    serviceImplementation="com.google.idea.blaze.base.sync.workspace.WorkspacePathResolverProviderImpl"/>
    <configurationType implementation="com.google.idea.blaze.base.run.BlazeCommandRunConfigurationType"/>
    <runConfigurationProducer
        implementation="com.google.idea.blaze.base.run.producers.AllInPackageBlazeConfigurationProducer"
        order="first"/>
    <runConfigurationProducer
        implementation="com.google.idea.blaze.base.run.producers.BlazeBuildFileRunConfigurationProducer"
        order="first"/>
    <stepsBeforeRunProvider implementation="com.google.idea.blaze.base.run.BlazeBeforeRunTaskProvider"/>
    <applicationService serviceInterface="com.google.idea.blaze.base.help.BlazeHelpHandler"
                        serviceImplementation="com.google.idea.blaze.base.help.BlazeHelpHandlerImpl"/>

    <additionalTextAttributes scheme="Default" file="base/resources/colorSchemes/BuildDefault.xml"/>
    <typedHandler implementation="com.google.idea.blaze.base.lang.buildfile.completion.BuildCompletionAutoPopupHandler"/>
  </extensions>

  <extensions defaultExtensionNs="com.intellij">
    <fileTypeFactory implementation="com.google.idea.blaze.base.lang.projectview.language.ProjectViewFileTypeFactory"/>
    <lang.parserDefinition language="projectview" implementationClass="com.google.idea.blaze.base.lang.projectview.parser.ProjectViewParserDefinition"/>
    <lang.commenter language="projectview" implementationClass="com.google.idea.blaze.base.lang.projectview.formatting.ProjectViewCommenter"/>
    <lang.syntaxHighlighterFactory language="projectview" implementationClass="com.google.idea.blaze.base.lang.projectview.highlighting.ProjectViewSyntaxHighlighterFactory"/>
    <completion.contributor language="projectview" implementationClass="com.google.idea.blaze.base.lang.projectview.completion.ProjectViewKeywordCompletionContributor"/>
    <completion.contributor language="projectview" implementationClass="com.google.idea.blaze.base.lang.projectview.completion.WorkspaceTypeCompletionContributor"/>
    <completion.contributor language="projectview" implementationClass="com.google.idea.blaze.base.lang.projectview.completion.AdditionalLanguagesCompletionContributor"/>
    <enterHandlerDelegate implementation="com.google.idea.blaze.base.lang.projectview.formatting.ProjectViewEnterHandler"/>
  </extensions>

  <extensions defaultExtensionNs="com.intellij">
    <fileTypeFactory implementation="com.google.idea.blaze.base.lang.buildfile.language.BuildFileTypeFactory"/>
    <annotator language="BUILD" implementationClass="com.google.idea.blaze.base.lang.buildfile.validation.HighlightingAnnotator"/>
    <!--<annotator language="BUILD" implementationClass="com.google.idea.blaze.base.lang.buildfile.validation.ErrorAnnotator"/>-->
    <annotator language="BUILD" implementationClass="com.google.idea.blaze.base.lang.buildfile.validation.GlobErrorAnnotator"/>
    <colorSettingsPage implementation="com.google.idea.blaze.base.lang.buildfile.highlighting.BuildColorsPage"/>
    <projectService serviceImplementation="com.google.idea.blaze.base.lang.buildfile.psi.util.BuildElementGenerator"/>
    <projectService serviceImplementation="com.google.idea.blaze.base.lang.buildfile.references.BuildReferenceManager"/>
    <referencesSearch implementation="com.google.idea.blaze.base.lang.buildfile.search.BuildLabelReferenceSearcher"/>
    <referencesSearch implementation="com.google.idea.blaze.base.lang.buildfile.search.GlobReferenceSearcher"/>
    <readWriteAccessDetector implementation="com.google.idea.blaze.base.lang.buildfile.findusages.BuildReadWriteAccessDetector"/>
    <elementDescriptionProvider implementation="com.google.idea.blaze.base.lang.buildfile.findusages.BuildElementDescriptionProvider"/>
    <usageGroupingRuleProvider implementation="com.google.idea.blaze.base.lang.buildfile.findusages.BuildUsageGroupingRuleProvider"/>
    <useScopeOptimizer implementation="com.google.idea.blaze.base.lang.buildfile.search.ExcludeBuildFilesScope"/>
    <targetElementEvaluator language="BUILD" implementationClass="com.google.idea.blaze.base.lang.buildfile.findusages.BuildTargetElementEvaluator"/>
    <quoteHandler fileType="BUILD" className="com.google.idea.blaze.base.lang.buildfile.editor.BuildQuoteHandler"/>
    <enterHandlerDelegate implementation="com.google.idea.blaze.base.lang.buildfile.editor.BuildEnterBetweenBracketsHandler" order="before EnterBetweenBracesHandler"/>
    <enterHandlerDelegate implementation="com.google.idea.blaze.base.lang.buildfile.editor.BuildEnterHandler" order="after EnterBetweenBracesHandler"/>
    <completion.contributor language="BUILD" implementationClass="com.google.idea.blaze.base.lang.buildfile.completion.ParameterCompletionContributor"/>
    <completion.contributor language="BUILD" implementationClass="com.google.idea.blaze.base.lang.buildfile.completion.BuiltInFunctionCompletionContributor"/>
    <completion.contributor language="BUILD" implementationClass="com.google.idea.blaze.base.lang.buildfile.completion.BuiltInSymbolCompletionContributor"/>
    <completion.contributor language="BUILD" implementationClass="com.google.idea.blaze.base.lang.buildfile.completion.BuiltInFunctionAttributeCompletionContributor"/>
    <completion.contributor language="BUILD" implementationClass="com.google.idea.blaze.base.lang.buildfile.completion.ArgumentCompletionContributor"/>
    <langCodeStyleSettingsProvider implementation="com.google.idea.blaze.base.lang.buildfile.formatting.BuildLanguageCodeStyleSettingsProvider"/>
    <codeStyleSettingsProvider implementation="com.google.idea.blaze.base.lang.buildfile.formatting.BuildCodeStyleSettingsProvider"/>
    <editor.backspaceModeOverride language="BUILD" implementationClass="com.intellij.codeInsight.editorActions.SmartBackspaceDisabler"/>
    <filetype.stubBuilder filetype="BUILD" implementationClass="com.google.idea.blaze.base.lang.buildfile.stubs.BuildFileStubBuilder"/>
    <editorNotificationProvider implementation="com.google.idea.blaze.base.lang.AdditionalLanguagesHelper"/>
  </extensions>

  <extensions defaultExtensionNs="com.intellij.lang">
    <syntaxHighlighterFactory language="BUILD" implementationClass="com.google.idea.blaze.base.lang.buildfile.highlighting.BuildSyntaxHighlighterFactory"/>
    <parserDefinition language="BUILD" implementationClass="com.google.idea.blaze.base.lang.buildfile.parser.BuildParserDefinition"/>
    <namesValidator language="BUILD" implementationClass="com.google.idea.blaze.base.lang.buildfile.refactor.BuildNamesValidator"/>
    <braceMatcher language="BUILD" implementationClass="com.google.idea.blaze.base.lang.buildfile.formatting.BuildBraceMatcher"/>
    <commenter language="BUILD" implementationClass="com.google.idea.blaze.base.lang.buildfile.formatting.BuildCommenter"/>
    <foldingBuilder language="BUILD" implementationClass="com.google.idea.blaze.base.lang.buildfile.formatting.BuildFileFoldingBuilder"/>
    <psiStructureViewFactory language="BUILD" implementationClass="com.google.idea.blaze.base.lang.buildfile.views.BuildStructureViewFactory"/>
    <findUsagesProvider language="BUILD" implementationClass="com.google.idea.blaze.base.lang.buildfile.findusages.BuildFindUsagesProvider"/>
    <refactoringSupport language="BUILD" implementationClass="com.google.idea.blaze.base.lang.buildfile.refactor.BuildRefactoringSupportProvider"/>
    <documentationProvider language="BUILD" implementationClass="com.google.idea.blaze.base.lang.buildfile.documentation.BuildDocumentationProvider"/>
  </extensions>

  <extensionPoints>
    <extensionPoint qualifiedName="com.google.idea.blaze.base.lang.buildfile.DumbAnnotator" interface="com.google.idea.blaze.base.lang.buildfile.validation.BuildAnnotator"/>
    <extensionPoint qualifiedName="com.google.idea.blaze.base.lang.buildfile.Annotator" interface="com.google.idea.blaze.base.lang.buildfile.validation.BuildAnnotator"/>
  </extensionPoints>

  <application-components>
    <component>
      <implementation-class>com.google.idea.blaze.base.plugin.BlazeSpecificInitializer</implementation-class>
    </component>
    <component>
      <implementation-class>com.google.idea.blaze.base.plugin.dependency.ProjectDependencyMigration</implementation-class>
    </component>
    <component>
      <interface-class>com.google.idea.common.experiments.ExperimentService</interface-class>
      <implementation-class>com.google.idea.blaze.base.experiments.BlazeExperimentService</implementation-class>
    </component>
  </application-components>

  <project-components>
    <component>
      <implementation-class>com.google.idea.blaze.base.buildmodifier.BuildifierFormatter</implementation-class>
      <loadForDefaultProject/>
    </component>
  </project-components>

  <extensionPoints>
    <extensionPoint qualifiedName="com.google.idea.blaze.SyncListener" interface="com.google.idea.blaze.base.sync.SyncListener"/>
    <extensionPoint qualifiedName="com.google.idea.blaze.SyncPlugin" interface="com.google.idea.blaze.base.sync.BlazeSyncPlugin"/>
    <extensionPoint qualifiedName="com.google.idea.blaze.RunConfigurationFactory" interface="com.google.idea.blaze.base.run.BlazeRunConfigurationFactory"/>
    <extensionPoint qualifiedName="com.google.idea.blaze.Prefetcher"
                    interface="com.google.idea.blaze.base.prefetch.Prefetcher"/>
    <extensionPoint qualifiedName="com.google.idea.blaze.PrefetchFileSource"
                    interface="com.google.idea.blaze.base.prefetch.PrefetchFileSource"/>
    <extensionPoint qualifiedName="com.google.idea.blaze.PsiFileProvider" interface="com.google.idea.blaze.base.lang.buildfile.search.PsiFileProvider"/>
    <extensionPoint qualifiedName="com.google.idea.blaze.VcsHandler"
                    interface="com.google.idea.blaze.base.vcs.BlazeVcsHandler"/>
    <extensionPoint qualifiedName="com.google.idea.blaze.BlazeWizardOptionProvider"
                    interface="com.google.idea.blaze.base.wizard2.BlazeWizardOptionProvider"/>
    <extensionPoint qualifiedName="com.google.idea.blaze.DefaultSdkProvider"
                    interface="com.google.idea.blaze.base.sync.sdk.DefaultSdkProvider"/>
    <extensionPoint qualifiedName="com.google.idea.blaze.BuildFlagsProvider" interface="com.google.idea.blaze.base.command.BuildFlagsProvider"/>
    <extensionPoint qualifiedName="com.google.idea.blaze.BuildSystemProvider" interface="com.google.idea.blaze.base.bazel.BuildSystemProvider"/>
    <extensionPoint qualifiedName="com.google.idea.blaze.BuildifierBinaryProvider" interface="com.google.idea.blaze.base.buildmodifier.BuildifierBinaryProvider"/>
    <extensionPoint qualifiedName="com.google.idea.blaze.LoggingService" interface="com.google.idea.blaze.base.metrics.LoggingService"/>
    <extensionPoint qualifiedName="com.google.idea.blaze.BlazeCommandRunConfigurationHandlerProvider" interface="com.google.idea.blaze.base.run.confighandler.BlazeCommandRunConfigurationHandlerProvider"/>
    <extensionPoint qualifiedName="com.google.idea.blaze.BlazeUserSettingsContributor" interface="com.google.idea.blaze.base.settings.ui.BlazeUserSettingsContributor$Provider"/>
    <extensionPoint qualifiedName="com.google.idea.blaze.BlazePsiDirectoryRootNodeNameModifier" interface="com.google.idea.blaze.base.treeview.BlazePsiDirectoryRootNodeNameModifier"/>
    <extensionPoint qualifiedName="com.google.idea.blaze.FileCache" interface="com.google.idea.blaze.base.filecache.FileCache"/>
    <extensionPoint qualifiedName="com.google.idea.blaze.TestTargetHeuristic" interface="com.google.idea.blaze.base.run.TestTargetHeuristic"/>
    <extensionPoint qualifiedName="com.google.idea.blaze.ProjectDataDirectoryValidator" interface="com.google.idea.blaze.base.wizard2.ProjectDataDirectoryValidator"/>
    <extensionPoint qualifiedName="com.google.idea.blaze.AspectStrategyProvider" interface="com.google.idea.blaze.base.sync.aspects.strategy.AspectStrategyProvider"/>
  </extensionPoints>

  <extensions defaultExtensionNs="com.google.idea.blaze">
    <SyncListener implementation="com.google.idea.blaze.base.run.BlazeRunConfigurationSyncListener"/>
    <SyncListener implementation="com.google.idea.blaze.base.sync.status.BlazeSyncStatusListener"/>
    <SyncListener implementation="com.google.idea.blaze.base.run.testmap.TestTargetFilterImpl$ClearTestMap"/>
    <SyncListener implementation="com.google.idea.blaze.base.targetmaps.SourceToTargetMapImpl$ClearSourceToTargetMap"/>
    <SyncListener implementation="com.google.idea.blaze.base.lang.buildfile.language.semantics.BuildLanguageSpecProviderImpl"/>
    <SyncPlugin implementation="com.google.idea.blaze.base.lang.buildfile.sync.BuildLangSyncPlugin"/>
    <BlazeWizardOptionProvider implementation="com.google.idea.blaze.base.wizard2.BazelWizardOptionProvider"/>
    <BuildFlagsProvider implementation="com.google.idea.blaze.base.command.BuildFlagsProviderImpl"/>
    <VcsHandler implementation="com.google.idea.blaze.base.vcs.git.GitBlazeVcsHandler"/>
    <VcsHandler implementation="com.google.idea.blaze.base.vcs.FallbackBlazeVcsHandler" order="last" id="fallback"/>
    <BuildSystemProvider implementation="com.google.idea.blaze.base.bazel.BazelBuildSystemProvider" order="last"/>
    <BuildifierBinaryProvider implementation="com.google.idea.blaze.base.buildmodifier.BazelBuildifierBinaryProvider"/>
    <BlazeCommandRunConfigurationHandlerProvider implementation="com.google.idea.blaze.base.run.confighandler.BlazeCommandGenericRunConfigurationHandlerProvider" order="last"/>
    <TestTargetHeuristic implementation="com.google.idea.blaze.base.run.TargetNameHeuristic" order="first"/>
    <TestTargetHeuristic implementation="com.google.idea.blaze.base.run.TestSizeHeuristic" order="last" id="TestSizeHeuristic"/>
    <RunConfigurationFactory implementation="com.google.idea.blaze.base.run.BlazeBuildTargetRunConfigurationFactory" order="last"/>
    <AspectStrategyProvider implementation="com.google.idea.blaze.base.sync.aspects.strategy.AspectStrategyProviderBazel" order="last"/>
  </extensions>

</idea-plugin>
