blob: a48e8f142011373bc9313c5c5183f9d1b27e20cf [file] [log] [blame]
<!--
~ 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>