<!--
  ~ 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>
  <depends>JUnit</depends>
  <depends>com.intellij.modules.java</depends>

  <actions>
    <action class="com.google.idea.blaze.java.libraries.ExcludeLibraryAction"
      id="Blaze.ExcludeLibraryAction"
      text="Exclude Library and Resync">
    </action>
    <action class="com.google.idea.blaze.java.libraries.AttachSourceJarAction"
      id="Blaze.AttachSourceJarAction"
      text="Attach Source Jar">
    </action>
    <action class="com.google.idea.blaze.java.libraries.AddLibraryTargetDirectoryToProjectViewAction"
      id="Blaze.AddLibraryTargetDirectoryToProjectView"
      text="Add Library Target Directory to Project View">
    </action>
    <action class="com.google.idea.blaze.java.libraries.DetachAllSourceJarsAction"
      id="Blaze.DetachAllSourceJars"
      text="Detach All Blaze Source Jars">
    </action>

    <group id="Blaze.Java.ProjectViewPopupMenu">
      <add-to-group group-id="Blaze.PerFileContextMenu"/>
      <reference id="Blaze.ExcludeLibraryAction"/>
      <reference id="Blaze.AttachSourceJarAction"/>
      <reference id="Blaze.AddLibraryTargetDirectoryToProjectView"/>
    </group>

    <group id="Blaze.JavaMenuGroup.Outer">
      <add-to-group group-id="Blaze.MainMenuActionGroup" relative-to-action="Blaze.MenuFooter" anchor="after"/>
      <group id="Blaze.JavaMenuGroup" text="Java">
        <reference id="Blaze.DetachAllSourceJars"/>
      </group>
    </group>

    <!-- IntelliJ specific actions -->

    <action id="Blaze.ImportProject2" class="com.google.idea.blaze.java.wizard2.BlazeImportProjectAction" icon="BlazeIcons.Blaze">
      <add-to-group group-id="WelcomeScreen.QuickStart" />
      <add-to-group group-id="OpenProjectGroup" relative-to-action="ImportProject" anchor="after"/>
    </action>

    <!-- End IntelliJ specific actions -->

  </actions>

  <extensions defaultExtensionNs="com.google.idea.blaze">
    <SyncPlugin implementation="com.google.idea.blaze.java.sync.BlazeJavaSyncPlugin"/>
    <PsiFileProvider implementation="com.google.idea.blaze.java.psi.JavaPsiFileProvider" />
    <BlazeCommandRunConfigurationHandlerProvider implementation="com.google.idea.blaze.java.run.BlazeJavaRunConfigurationHandlerProvider"/>
    <BlazeUserSettingsContributor implementation="com.google.idea.blaze.java.settings.BlazeJavaUserSettingsContributor$BlazeJavaUserSettingsProvider"/>
    <FileCache implementation="com.google.idea.blaze.java.libraries.JarCache$FileCacheAdapter"/>
    <PrefetchFileSource implementation="com.google.idea.blaze.java.sync.JavaPrefetchFileSource"/>
    <BlazeTestEventsHandler implementation="com.google.idea.blaze.java.run.BlazeJavaTestEventsHandler"/>
    <AttributeSpecificStringLiteralReferenceProvider implementation="com.google.idea.blaze.java.lang.build.references.JavaClassQualifiedNameReference"/>
    <JavaLikeLanguage implementation="com.google.idea.blaze.java.sync.source.JavaLikeLanguage$Java"/>
    <TestTargetHeuristic implementation="com.google.idea.blaze.java.run.JUnitTestHeuristic" order="before TestSizeHeuristic"/>
    <TestTargetHeuristic implementation="com.google.idea.blaze.java.run.QualifiedClassNameHeuristic" order="before TargetNameHeuristic"/>
    <SyncListener implementation="com.google.idea.blaze.java.libraries.BlazeSourceJarNavigationPolicy$SyncTrackerUpdater"/>
  </extensions>

  <extensions defaultExtensionNs="com.intellij">
    <runConfigurationProducer
        implementation="com.google.idea.blaze.java.run.producers.BlazeJavaMainClassRunConfigurationProducer"
        order="first"/>
    <runConfigurationProducer
        implementation="com.google.idea.blaze.java.run.producers.BlazeJavaTestClassConfigurationProducer"
        order="first"/>
    <runConfigurationProducer
        implementation="com.google.idea.blaze.java.run.producers.BlazeJavaTestMethodConfigurationProducer"
        order="first"/>
    <runConfigurationProducer
        implementation="com.google.idea.blaze.java.run.producers.BlazeJavaAbstractTestCaseConfigurationProducer"
        order="first"/>
    <runConfigurationProducer
        implementation="com.google.idea.blaze.java.run.producers.MultipleJavaClassesTestConfigurationProducer"
        order="first"/>
    <projectViewNodeDecorator implementation="com.google.idea.blaze.java.syncstatus.BlazeJavaSyncStatusClassNodeDecorator"/>
    <editorTabColorProvider implementation="com.google.idea.blaze.java.syncstatus.BlazeJavaSyncStatusEditorTabColorProvider"/>
    <editorTabTitleProvider implementation="com.google.idea.blaze.java.syncstatus.BlazeJavaSyncStatusEditorTabTitleProvider"/>
    <applicationService serviceInterface="com.google.idea.blaze.java.sync.source.JavaSourcePackageReader"
                        serviceImplementation="com.google.idea.blaze.java.sync.source.JavaSourcePackageReader"/>
    <applicationService serviceInterface="com.google.idea.blaze.java.sync.source.PackageManifestReader"
                        serviceImplementation="com.google.idea.blaze.java.sync.source.PackageManifestReader"/>
    <programRunner implementation="com.google.idea.blaze.java.run.BlazeJavaDebuggerRunner"/>
    <projectService serviceInterface="com.google.idea.blaze.base.ui.BlazeProblemsView"
                    serviceImplementation="com.google.idea.blaze.java.ui.BlazeIntelliJProblemsView"/>
    <projectService serviceImplementation="com.google.idea.blaze.java.libraries.SourceJarManager"/>
    <refactoring.safeDeleteProcessor id="build_file_safe_delete" order="before javaProcessor"
                                     implementation="com.google.idea.blaze.java.lang.build.BuildFileSafeDeleteProcessor"/>
    <!--duplicated here in case the Kotlin plugin is present, as it also tries to replace javaProcessor-->
    <refactoring.safeDeleteProcessor id="build_file_safe_delete_copy" order="before kotlinProcessor"
                                     implementation="com.google.idea.blaze.java.lang.build.BuildFileSafeDeleteProcessor"/>
    <projectService serviceImplementation="com.google.idea.blaze.java.libraries.JarCache"/>

    <attachSourcesProvider implementation="com.google.idea.blaze.java.libraries.AddLibraryTargetDirectoryToProjectViewAttachSourcesProvider"/>
    <attachSourcesProvider implementation="com.google.idea.blaze.java.libraries.BlazeAttachSourceProvider"/>
    <applicationService serviceImplementation="com.google.idea.blaze.java.settings.BlazeJavaUserSettings"/>
    <psi.referenceContributor language="BUILD" implementation="com.google.idea.blaze.java.lang.build.references.JavaClassReferenceContributor"/>
    <useScopeEnlarger implementation="com.google.idea.blaze.java.psi.AutoFactoryUseScopeEnlarger"/>
    <implicitUsageProvider implementation="com.google.idea.blaze.java.psi.AutoFactoryImplicitUsageProvider"/>
    <psi.clsCustomNavigationPolicy implementation="com.google.idea.blaze.java.libraries.BlazeSourceJarNavigationPolicy"/>
  </extensions>

  <project-components>
    <component>
      <implementation-class>com.google.idea.blaze.java.run.producers.NonBlazeProducerSuppressor</implementation-class>
    </component>
  </project-components>

  <extensionPoints>
    <extensionPoint qualifiedName="com.google.idea.blaze.JavaSyncAugmenter"
                    interface="com.google.idea.blaze.java.sync.BlazeJavaSyncAugmenter"/>
    <extensionPoint qualifiedName="com.google.idea.blaze.JavaLikeLanguage"
                    interface="com.google.idea.blaze.java.sync.source.JavaLikeLanguage"/>
    <extensionPoint qualifiedName="com.google.idea.blaze.JUnitParameterizedClassHeuristic"
                    interface="com.google.idea.blaze.java.run.producers.JUnitParameterizedClassHeuristic"/>
  </extensionPoints>
</idea-plugin>
