<!--
  ~ 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"/>
  </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.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"/>
  </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>

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