<!--
  ~ 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"
      text="Compile Project"
      use-shortcut-of="CompileDirty"
      icon="AllIcons.Actions.Compile">
    </action>
    <action id="MakeBlazeModule"
      class="com.google.idea.blaze.base.actions.BlazeCompileFileAction"
      text="Compile File">
    </action>
    <action id="Blaze.IncrementalSyncProject"
      class="com.google.idea.blaze.base.sync.actions.IncrementalSyncProjectAction"
      text="Sync Project with BUILD Files"
      icon="BlazeIcons.Blaze">
    </action>
    <action id="Blaze.FullSyncProject"
      class="com.google.idea.blaze.base.sync.actions.FullSyncProjectAction"
      text="Non-Incrementally Sync Project with BUILD Files"
      icon="BlazeIcons.BlazeSlow">
    </action>
    <action id="Blaze.SyncWorkingSet"
      class="com.google.idea.blaze.base.sync.actions.SyncWorkingSetAction"
      text="Sync Working Set"
      icon="BlazeIcons.Blaze">
    </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.OpenAllProjectViewsAction"
      text="Open All Project View Files">
    </action>
    <action id="Blaze.EditLocalProjectView"
      class="com.google.idea.blaze.base.settings.ui.OpenLocalProjectViewAction"
      text="Open Local Project View File">
    </action>
    <action class="com.google.idea.blaze.base.buildmap.OpenCorrespondingBuildFile"
      id="Blaze.OpenCorrespondingBuildFile"
      text="Open Corresponding BUILD File">
    </action>
    <action class="com.google.idea.blaze.base.sync.actions.PartialSyncAction"
      id="Blaze.PartialSync"
      text="Partially Sync File"
      icon="BlazeIcons.Blaze">
    </action>
    <action id="Blaze.ExportRunConfigurations"
      class="com.google.idea.blaze.base.run.exporter.ExportRunConfigurationAction"
      text="Export Run Configurations"
      icon="AllIcons.Actions.Export">
    </action>
    <action id="Blaze.NewPackageAction"
      class="com.google.idea.blaze.base.ide.NewBlazePackageAction"
      text="New Package"/>
    <action id="Blaze.NewRuleAction"
      class="com.google.idea.blaze.base.ide.NewBlazeRuleAction"
      text="New Rule"
      popup="true"/>

    <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="Blaze.EditLocalProjectView"/>
      <reference id="Blaze.EditProjectView"/>
      <separator/>
      <group id ="Blaze.SyncMenuGroup" text="Sync" popup="true">
        <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.BuildMenuGroup" text="Build" popup="true">
        <reference id="MakeBlazeProject"/>
        <reference id="MakeBlazeModule"/>
      </group>
      <!--Add popup groups anchored after this bookmark-->
      <group id="Blaze.MenuGroupsBookmark"/>
      <separator/>
      <reference id="Blaze.ExportRunConfigurations"/>
      <!--Add single menu items anchored after this bookmark-->
      <group id="Blaze.MenuFooter"/>
    </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"/>
      <reference id="Blaze.NewPackageAction"/>
      <reference id="Blaze.NewRuleAction"/>
      <separator/>
    </group>

    <group id="Blaze.PerFileContextMenu">
      <add-to-group anchor="after" group-id="ProjectViewPopupMenu" relative-to-action="EditSource"/>
      <add-to-group anchor="after" group-id="EditorTabPopupMenu" relative-to-action="CopyReference"/>
      <add-to-group anchor="before" group-id="EditorPopupMenu" relative-to-action="$SearchWeb"/>
      <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.io.VirtualFileSystemProvider"
                        serviceImplementation="com.google.idea.blaze.base.io.VirtualFileSystemProviderImpl"/>
    <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 serviceInterface="com.google.idea.blaze.base.targetmaps.TransitiveDependencyMap"
                    serviceImplementation="com.google.idea.blaze.base.targetmaps.TransitiveDependencyMap"/>
    <projectService serviceImplementation="com.google.idea.blaze.base.settings.BlazeImportSettingsManager"/>
    <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"/>
    <applicationService serviceInterface="com.google.idea.blaze.base.wizard2.BlazeWizardOptionProvider"
                        serviceImplementation="com.google.idea.blaze.base.wizard2.BazelWizardOptionProvider"/>
    <projectService serviceInterface="com.google.idea.blaze.base.sync.workspace.WorkspacePathResolverProvider"
                    serviceImplementation="com.google.idea.blaze.base.sync.workspace.WorkspacePathResolverProviderImpl"/>
    <projectService serviceImplementation="com.google.idea.blaze.base.sync.SyncCache"/>
    <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"/>
    <runConfigurationProducer
        implementation="com.google.idea.blaze.base.run.producers.BlazeFilterExistingRunConfigurationProducer"
        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"/>
    <applicationService serviceImplementation="com.google.idea.blaze.base.actions.BlazeBuildService"/>

    <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.LoadErrorAnnotator"/>-->
    <annotator language="BUILD" implementationClass="com.google.idea.blaze.base.lang.buildfile.validation.GlobErrorAnnotator"/>
    <annotator language="BUILD" implementationClass="com.google.idea.blaze.base.lang.buildfile.validation.BuiltInRuleAnnotator"/>
    <annotator language="BUILD" implementationClass="com.google.idea.blaze.base.lang.buildfile.validation.LoadStatementAnnotator"/>
    <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.BuildReferenceSearcher"/>
    <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"/>
    <usageTypeProvider implementation="com.google.idea.blaze.base.lang.buildfile.findusages.BuildUsageTypeProvider"/>
  </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"/>
    <elementManipulator forClass="com.google.idea.blaze.base.lang.buildfile.psi.StringLiteral" implementationClass="com.google.idea.blaze.base.lang.buildfile.refactor.StringLiteralElementManipulator"/>
  </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.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.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"/>
    <extensionPoint qualifiedName="com.google.idea.blaze.DistributedExecutorSupport" interface="com.google.idea.blaze.base.run.DistributedExecutorSupport"/>
    <extensionPoint qualifiedName="com.google.idea.blaze.FileStringParser" interface="com.google.idea.blaze.base.run.filter.FileResolver"/>
    <extensionPoint qualifiedName="com.google.idea.blaze.BlazeTestXmlFinderStrategy" interface="com.google.idea.blaze.base.run.testlogs.BlazeTestXmlFinderStrategy"/>
    <extensionPoint qualifiedName="com.google.idea.blaze.BlazeTestEventsHandler" interface="com.google.idea.blaze.base.run.smrunner.BlazeTestEventsHandler"/>
    <extensionPoint qualifiedName="com.google.idea.blaze.AttributeSpecificStringLiteralReferenceProvider" interface="com.google.idea.blaze.base.lang.buildfile.references.AttributeSpecificStringLiteralReferenceProvider"/>
    <extensionPoint qualifiedName="com.google.idea.blaze.EventLogger" interface="com.google.idea.blaze.base.logging.EventLogger"/>
  </extensionPoints>

  <extensions defaultExtensionNs="com.google.idea.blaze">
    <SyncListener implementation="com.google.idea.blaze.base.sync.SyncCache$ClearSyncCache"/>
    <SyncListener implementation="com.google.idea.blaze.base.run.BlazeRunConfigurationSyncListener"/>
    <SyncListener implementation="com.google.idea.blaze.base.sync.status.BlazeSyncStatusListener"/>
    <SyncPlugin implementation="com.google.idea.blaze.base.lang.buildfile.sync.BuildLangSyncPlugin"/>
    <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.TestTargetSourcesHeuristic" order="before TestSizeHeuristic" id="TestSourcesHeuristic"/>
    <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"/>
    <FileStringParser implementation="com.google.idea.blaze.base.run.filter.StandardFileResolver" order="last"/>
    <BlazeTestXmlFinderStrategy implementation="com.google.idea.blaze.base.run.testlogs.TargetPathTestXmlFinderStrategy"/>
    <BlazeTestEventsHandler implementation="com.google.idea.blaze.base.run.smrunner.BlazeCompositeTestEventsHandler" order="last"/>
  </extensions>

</idea-plugin>
