865c37124ff61a78c9ae67ad43af137a4d7d24fb
[idea/community.git] / plugins / maven / src / main / resources / META-INF / plugin.xml
1 <idea-plugin>
2   <id>org.jetbrains.idea.maven</id>
3
4   <name>Maven Integration</name>
5   <description>Import Maven projects and execute Maven goals</description>
6   <vendor logo="/general/ijLogo.png">JetBrains</vendor>
7
8   <extensionPoints>
9     <extensionPoint name="importer" interface="org.jetbrains.idea.maven.importing.MavenImporter"/>
10     <extensionPoint name="additional.importing.settings" interface="org.jetbrains.idea.maven.project.AdditionalMavenImportingSettings"/>
11     <extensionPoint name="archetypesProvider" interface="org.jetbrains.idea.maven.indices.MavenArchetypesProvider"/>
12   </extensionPoints>
13
14   <depends>com.intellij.properties</depends>
15   <depends optional="true" config-file="groovy-support.xml">org.intellij.groovy</depends>
16
17   <extensions defaultExtensionNs="com.intellij">
18     <projectImportProvider implementation="org.jetbrains.idea.maven.wizards.MavenProjectImportProvider"/>
19     <projectOpenProcessor implementation="org.jetbrains.idea.maven.wizards.MavenProjectOpenProcessor"/>
20     <projectImportBuilder implementation="org.jetbrains.idea.maven.wizards.MavenProjectBuilder"/>
21     <moduleBuilder builderClass="org.jetbrains.idea.maven.wizards.MavenModuleBuilder"/>
22     <frameworkSupport implementation="org.jetbrains.idea.maven.wizards.MavenFrameworkSupportProvider"/>
23
24     <applicationService serviceImplementation="org.jetbrains.idea.maven.server.MavenServerManager"/>
25     <applicationService serviceImplementation="org.jetbrains.idea.maven.indices.MavenIndicesManager"/>
26     <applicationService serviceImplementation="org.jetbrains.idea.maven.services.MavenRepositoryServicesManager"/>
27
28     <projectConfigurable instance="org.jetbrains.idea.maven.utils.MavenSettings" order="last"/>
29
30     <stepsBeforeRunProvider implementation="org.jetbrains.idea.maven.tasks.MavenBeforeRunTasksProvider"/>
31     <keymapExtension implementation="org.jetbrains.idea.maven.tasks.MavenKeymapExtension"/>
32     <errorHandler implementation="com.intellij.diagnostic.ITNReporter"/>
33     <configurationType implementation="org.jetbrains.idea.maven.execution.MavenRunConfigurationType"/>
34     <configurationProducer implementation="org.jetbrains.idea.maven.execution.MavenConfigurationProducer"/>
35     <orderEnumerationHandlerFactory implementation="org.jetbrains.idea.maven.execution.MavenOrderEnumeratorHandler$FactoryImpl"/>
36
37     <compiler implementation="org.jetbrains.idea.maven.compiler.MavenResourceCompiler" order="last"/>
38
39     <selectInTarget implementation="org.jetbrains.idea.maven.navigator.SelectInMavenNavigatorTarget"/>
40
41     <iconProvider implementation="org.jetbrains.idea.maven.utils.MavenIconProvider"/>
42     <editorTabTitleProvider implementation="org.jetbrains.idea.maven.utils.MavenEditorTabTitleProvider"/>
43
44     <problemFileHighlightFilter implementation="org.jetbrains.idea.maven.utils.MavenProblemFileHighlighter"/>
45
46     <attachSourcesProvider implementation="org.jetbrains.idea.maven.utils.MavenAttachSourcesProvider"/>
47
48     <liveTemplateContext implementation="org.jetbrains.idea.maven.utils.MavenLiveTemplateContextType"/>
49     <defaultLiveTemplatesProvider implementation="org.jetbrains.idea.maven.utils.MavenLiveTemplatesProvider"/>
50
51     <xml.elementDescriptorProvider implementation="org.jetbrains.idea.maven.dom.MavenDomElementDescriptorProvider"/>
52     <dom.fileDescription implementation="org.jetbrains.idea.maven.dom.MavenDomProjectModelDescription"/>
53     <dom.fileDescription implementation="org.jetbrains.idea.maven.dom.MavenDomProfilesModelDescription"/>
54     <dom.fileDescription implementation="org.jetbrains.idea.maven.dom.MavenDomOldProfilesModelDescription"/>
55     <dom.fileDescription implementation="org.jetbrains.idea.maven.dom.MavenDomSettingsModelDescription"/>
56     <dom.fileDescription implementation="org.jetbrains.idea.maven.dom.MavenDomPluginModelDescription"/>
57
58     <lang.documentationProvider language="XML" implementationClass="org.jetbrains.idea.maven.dom.MavenModelDocumentationProvider"
59                                 order="first"/>
60     <lang.documentationProvider language="XML" implementationClass="org.jetbrains.idea.maven.dom.MavenPluginModelDocumentationProvider"
61                                 order="first"/>
62     <elementDescriptionProvider implementation="org.jetbrains.idea.maven.dom.MavenModelDocumentationProvider" order="first"/>
63
64     <localInspection language="XML" shortName="MavenModelInspection" bundle="DomBundle" key="inspection.name" groupKey="inspection.group"
65                      enabledByDefault="true" level="ERROR"
66                      implementationClass="org.jetbrains.idea.maven.dom.inspections.MavenModelInspection"/>
67     <localInspection language="XML" shortName="MavenDuplicateDependenciesInspection" bundle="DomBundle" key="inspection.duplicate.dependencies.name"
68                      groupKey="inspection.group" enabledByDefault="true" level="WARNING"
69                      implementationClass="org.jetbrains.idea.maven.dom.inspections.MavenDuplicateDependenciesInspection"/>
70
71     <dom.extender domClass="org.jetbrains.idea.maven.dom.model.MavenDomConfiguration"
72                   extenderClass="org.jetbrains.idea.maven.dom.MavenPluginConfigurationDomExtender"/>
73     <dom.extender domClass="org.jetbrains.idea.maven.dom.model.MavenDomConfigurationParameter"
74                   extenderClass="org.jetbrains.idea.maven.dom.MavenPluginConfigurationParameterDomExtender"/>
75
76     <completion.contributor language="any"
77                             implementationClass="org.jetbrains.idea.maven.dom.references.MavenPropertyCompletionContributor"
78                             id="Maven"/>
79     <completion.contributor language="XML"
80                             implementationClass="org.jetbrains.idea.maven.dom.model.completion.MavenSmartCompletionContributor"/>
81
82     <psi.referenceContributor implementation="org.jetbrains.idea.maven.dom.references.MavenPropertyPsiReferenceContributor"/>
83     <usageTargetProvider implementation="org.jetbrains.idea.maven.dom.references.MavenUsageTargetProvider"/>
84
85     <renameHandler implementation="org.jetbrains.idea.maven.dom.refactorings.MavenPropertyRenameHandler" order="first"/>
86     <vetoRenameCondition implementation="org.jetbrains.idea.maven.dom.refactorings.MavenVetoModelRenameCondition"/>
87
88     <standardResourceProvider implementation="org.jetbrains.idea.maven.dom.MavenSchemaProvider"/>
89
90     <projectService serviceImplementation="org.jetbrains.idea.maven.dom.MavenDomElementDescriptorHolder"/>
91     <applicationService serviceImplementation="org.jetbrains.idea.maven.dom.converters.MavenDomConvertersRegistry"/>
92     <applicationService serviceImplementation="org.jetbrains.idea.maven.dom.converters.repositories.MavenRepositoriesProvider"/>
93
94     <typedHandler implementation="org.jetbrains.idea.maven.dom.code.MavenTypedHandlerDelegate"/>
95     <library.type implementation="org.jetbrains.idea.maven.utils.library.RepositoryLibraryType"/>
96     <backspaceHandlerDelegate implementation="org.jetbrains.idea.maven.dom.code.MavenBackspaceHandlerDelegate"/>
97
98     <intentionAction>
99       <className>org.jetbrains.idea.maven.dom.intentions.ChooseFileIntentionAction</className>
100     </intentionAction>
101
102     <codeInsight.unresolvedReferenceQuickFixProvider
103         implementation="org.jetbrains.idea.maven.dom.intentions.ResolveReferenceQuickFixProvider"/>
104
105     <gotoFileContributor implementation="org.jetbrains.idea.maven.utils.MavenGotoFileContributor"/>
106     <gotoFileContributor implementation="org.jetbrains.idea.maven.utils.MavenGotoSettingsFileContributor"/>
107     <gotoFileContributor implementation="org.jetbrains.idea.maven.vfs.MavenGotoPropertyFileContributor"/>
108     <fileTemplateGroup implementation="org.jetbrains.idea.maven.utils.MavenFileTemplateGroupFactory"/>
109
110     <annotator language="XML" implementationClass="org.jetbrains.idea.maven.dom.annotator.MavenDomGutterAnnotator"/>
111     <virtualFileSystem key="maven-properties" implementationClass="org.jetbrains.idea.maven.vfs.MavenPropertiesVirtualFileSystem"/>
112
113     <projectService serviceImplementation="org.jetbrains.idea.maven.project.MavenWorkspaceSettingsComponent"/>
114     <projectService serviceImplementation="org.jetbrains.idea.maven.execution.MavenRunner"/>
115   </extensions>
116
117   <application-components>
118     <component>
119       <implementation-class>org.jetbrains.idea.maven.utils.MavenEnvironmentRegistrar</implementation-class>
120     </component>
121   </application-components>
122
123   <project-components>
124     <component>
125       <implementation-class>org.jetbrains.idea.maven.project.MavenProjectsManager</implementation-class>
126       <loadForDefaultProject/>
127     </component>
128     <component>
129       <implementation-class>org.jetbrains.idea.maven.indices.MavenProjectIndicesManager</implementation-class>
130     </component>
131     <component>
132       <implementation-class>org.jetbrains.idea.maven.navigator.MavenProjectsNavigator</implementation-class>
133     </component>
134     <component>
135       <implementation-class>org.jetbrains.idea.maven.tasks.MavenTasksManager</implementation-class>
136     </component>
137     <component>
138       <implementation-class>org.jetbrains.idea.maven.tasks.MavenShortcutsManager</implementation-class>
139     </component>
140     <component>
141       <implementation-class>org.jetbrains.idea.maven.utils.MavenEditorTabTitleUpdater</implementation-class>
142     </component>
143     <component>
144       <implementation-class>org.jetbrains.idea.maven.utils.MavenImportNotifier</implementation-class>
145     </component>
146     <component>
147       <implementation-class>org.jetbrains.idea.maven.utils.MavenRehighlighter</implementation-class>
148     </component>
149   </project-components>
150
151   <actions>
152     <action id="Maven.Reimport" class="org.jetbrains.idea.maven.project.actions.ReimportAction"
153             text="Reimport All Maven Projects"
154             icon="/actions/sync.png">
155     </action>
156
157     <action id="Maven.ReimportProject" class="org.jetbrains.idea.maven.project.actions.ReimportProjectAction"
158             text="Reimport" description="Reimport selected Maven projects"
159             icon="/actions/sync.png">
160     </action>
161
162     <action id="Maven.UpdateFolders" class="org.jetbrains.idea.maven.project.actions.UpdateFoldersAction"
163             text="Generate Sources and Update Folders For All Projects"
164             icon="/images/updateFolders.png">
165     </action>
166
167     <action id="Maven.UpdateFoldersForProject" class="org.jetbrains.idea.maven.project.actions.UpdateFoldersForProjectAction"
168             text="Generate Sources and Update Folders"
169             icon="/images/updateFolders.png">
170     </action>
171
172     <action id="Maven.DownloadAllSources" class="org.jetbrains.idea.maven.project.actions.DownloadAllSourcesAction"
173             text="Download Sources" description="Download sources for all dependencies"
174             icon="/images/download.png">
175     </action>
176
177     <action id="Maven.DownloadAllDocs" class="org.jetbrains.idea.maven.project.actions.DownloadAllDocsAction"
178             text="Download Documentation" description="Download documentation for all dependencies"
179             icon="/images/download.png">
180     </action>
181
182     <action id="Maven.DownloadAllSourcesAndDocs" class="org.jetbrains.idea.maven.project.actions.DownloadAllSourcesAndDocsAction"
183             text="Download Sources and Documentation" description="Download sources and documentation for all dependencies"
184             icon="/images/download.png">
185     </action>
186
187     <action id="Maven.DownloadSelectedSourcesAndDocs" class="org.jetbrains.idea.maven.project.actions.DownloadSelectedSourcesAndDocsAction"
188             text="Download Sources and Documentation"
189             description="Download sources and documentation for all dependencies for selected projects"
190             icon="/images/download.png">
191     </action>
192
193     <action id="Maven.DownloadSelectedSources" class="org.jetbrains.idea.maven.project.actions.DownloadSelectedSourcesAction"
194             text="Download Sources" description="Download sources for all dependencies for selected projects"
195             icon="/images/download.png">
196     </action>
197
198     <action id="Maven.DownloadSelectedDocs" class="org.jetbrains.idea.maven.project.actions.DownloadSelectedDocsAction"
199             text="Download Documentation" description="Download documentation for all dependencies for selected projects"
200             icon="/images/download.png">
201     </action>
202
203     <action id="Maven.AddManagedFiles"
204             class="org.jetbrains.idea.maven.project.actions.AddManagedFilesAction"
205             text="Add Maven Projects"
206             description="Add and import Maven projects to the projects tree"
207             icon="/general/add.png">
208     </action>
209
210     <action id="Maven.AddFileAsMavenProject"
211             class="org.jetbrains.idea.maven.project.actions.AddFileAsMavenProjectAction"
212             text="Add as Maven Project"
213             description="Add and import Maven project to the projects tree"
214             icon="/general/add.png">
215       <add-to-group group-id="EditorPopupMenu" anchor="before" relative-to-action="Maven.GlobalProjectMenu"/>
216       <add-to-group group-id="ProjectViewPopupMenu" anchor="before" relative-to-action="Maven.GlobalProjectMenu"/>
217     </action>
218
219     <action id="Maven.RemoveManagedFiles"
220             class="org.jetbrains.idea.maven.project.actions.RemoveManagedFilesAction"
221             text="Remove Projects"
222             description="Remove selected Maven projects from the project tree"
223             icon="/general/remove.png">
224     </action>
225
226     <action id="Maven.OpenSettingsXml"
227             class="org.jetbrains.idea.maven.project.actions.OpenOrCreateSettingsXmlAction"
228             text="Open settings.xml"
229             description="Open Maven settings.xml"/>
230
231     <action id="Maven.OpenProfilesXml"
232             class="org.jetbrains.idea.maven.project.actions.OpenOrCreateProfilesXmlAction"
233             text="Open profiles.xml"
234             description="Open profiles.xml for selected projects"/>
235
236     <action id="Maven.IgnoreProjects"
237             class="org.jetbrains.idea.maven.project.actions.ToggleIgnoredProjectsAction"
238             text="_Ignore Projects"
239             description="Exclude/Include selected Maven projects from being imported">
240     </action>
241     <action id="Maven.ToggleProfile"
242             class="org.jetbrains.idea.maven.project.actions.ToggleProfileAction"
243             text="Toggle Profile"
244             description="Activate/deactivate profile">
245     </action>
246
247     <action id="Maven.RunBuild"
248             class="org.jetbrains.idea.maven.project.actions.RunBuildAction"
249             text="_Run Maven Build"
250             description="Execute selected phases or goals"
251             icon="/actions/execute.png">
252     </action>
253
254     <action id="Maven.ShowSettings"
255             class="org.jetbrains.idea.maven.project.actions.EditSettingsAction" text="Maven Settings"
256             description="Edit Maven integration settings for the current project"
257             icon="/images/mavenSettings.png">
258     </action>
259
260     <action id="Maven.ToggleOffline"
261             class="org.jetbrains.idea.maven.project.actions.ToggleOfflineAction" text="Toggle Offline Mode"
262             description="Toggle offline mode for Maven builds"
263             icon="/images/offlineMode.png">
264     </action>
265
266     <action id="Maven.ToggleSkipTests"
267             class="org.jetbrains.idea.maven.project.actions.ToggleSkipTestsAction" text="Toggle 'Skip Tests' Mode"
268             description="Toggle 'Skip tests' mode for Maven builds"
269             icon="/nodes/exceptionClass.png">
270     </action>
271
272     <action id="Maven.Help"
273             class="com.intellij.ide.actions.ContextHelpAction" text="Help"/>
274
275     <action id="Maven.ExpandAll" class="org.jetbrains.idea.maven.navigator.actions.MavenTreeAction$ExpandAll" text="Expand All"
276             icon="/actions/expandall.png"
277             use-shortcut-of="ExpandAll"/>
278     <action id="Maven.CollapseAll" class="org.jetbrains.idea.maven.navigator.actions.MavenTreeAction$CollapseAll" text="Collapse All"
279             icon="/actions/collapseall.png"
280             use-shortcut-of="CollapseAll"/>
281
282     <group id="Maven.TasksGroup">
283       <action id="Maven.BeforeCompile"
284               class="org.jetbrains.idea.maven.tasks.actions.ToggleBeforeCompileTasksAction" text="Execute Before Make"
285               description="Execute selected phase/goal before Make">
286       </action>
287       <action id="Maven.AfterCompile"
288               class="org.jetbrains.idea.maven.tasks.actions.ToggleAfterCompileTasksAction" text="Execute After Make"
289               description="Execute selected phase/goal after Make">
290       </action>
291       <action id="Maven.BeforeRun"
292               class="org.jetbrains.idea.maven.tasks.actions.ToggleBeforeRunTaskAction" text="Execute Before Run/Debug..."
293               description="Execute selected phase/goal before launching Run/Debug configuration">
294       </action>
295       <separator/>
296       <action id="Maven.AssignShortcut"
297               class="org.jetbrains.idea.maven.tasks.actions.AssignShortcutAction" text="Assign Shortcut..."
298               description="Assign shortcut to the selected phase/goal">
299       </action>
300     </group>
301
302     <group id="Maven.DownloadAllGroup" popup="true" class="org.jetbrains.idea.maven.project.actions.DownloadActionGroup"
303            icon="/images/download.png">
304       <reference id="Maven.DownloadAllSources"/>
305       <reference id="Maven.DownloadAllDocs"/>
306       <reference id="Maven.DownloadAllSourcesAndDocs"/>
307     </group>
308
309     <group id="Maven.NavigatorActionsToolbar">
310       <reference id="Maven.Reimport"/>
311       <reference id="Maven.UpdateFolders"/>
312       <reference id="Maven.DownloadAllGroup"/>
313       <separator/>
314       <reference id="Maven.AddManagedFiles"/>
315       <separator/>
316       <reference id="Maven.RunBuild"/>
317       <reference id="Maven.ToggleOffline"/>
318       <reference id="Maven.ToggleSkipTests"/>
319       <reference id="Maven.CollapseAll"/>
320       <separator/>
321       <reference id="Maven.ShowSettings"/>
322       <reference id="Maven.Help"/>
323       <action id="Maven.GroupProjects"
324               class="org.jetbrains.idea.maven.navigator.actions.GroupProjectsAction"
325               text="Group Modules"
326               description="Group projects according to Maven structure"
327               secondary="true"
328               icon="/nodes/folder.png"/>
329       <action id="Maven.ShowIgnored"
330               class="org.jetbrains.idea.maven.navigator.actions.ShowIgnoredProjectsAction"
331               text="Show Ignored Projects"
332               description="Show ignored projects"
333               secondary="true"
334               icon="/actions/showHiddens.png"/>
335       <action id="Maven.ShowBasicPhasesOnly"
336               class="org.jetbrains.idea.maven.navigator.actions.ShowBasicPhasesOnlyAction"
337               text="Show Basic Phases Only"
338               description="Show basic phases only"
339               secondary="true"
340               icon="/images/filterPhases.png"/>
341     </group>
342
343     <group id="Maven.DependencyMenu">
344       <reference id="Maven.DownloadSelectedSources"/>
345       <reference id="Maven.DownloadSelectedDocs"/>
346       <reference id="Maven.DownloadSelectedSourcesAndDocs"/>
347     </group>
348
349     <group id="Maven.BaseProjectMenu">
350       <reference id="Maven.ReimportProject"/>
351       <reference id="Maven.UpdateFoldersForProject"/>
352       <separator/>
353       <reference id="Maven.IgnoreProjects"/>
354       <reference id="Maven.RemoveManagedFiles"/>
355       <separator/>
356       <reference id="Maven.OpenSettingsXml"/>
357       <reference id="Maven.OpenProfilesXml"/>
358       <separator/>
359       <reference ref="Maven.DependencyMenu"/>
360       <separator/>
361     </group>
362
363     <group id="Maven.NavigatorProjectMenu" popup="true">
364       <reference ref="Maven.BaseProjectMenu"/>
365       <separator/>
366       <reference id="Maven.RunBuild"/>
367       <reference ref="RunContextGroup"/>
368       <separator/>
369       <reference id="EditSource"/>
370     </group>
371
372     <group id="Maven.BuildMenu" popup="true">
373       <reference id="Maven.RunBuild"/>
374       <reference ref="RunContextGroup"/>
375       <separator/>
376       <reference ref="Maven.TasksGroup"/>
377     </group>
378
379     <group id="Maven.GlobalProjectMenu" class="org.jetbrains.idea.maven.utils.actions.MavenActionGroup" popup="true" text="Maven"
380            icon="/images/mavenLogo.png">
381       <add-to-group group-id="EditorPopupMenu" anchor="last"/>
382       <add-to-group group-id="ProjectViewPopupMenu" anchor="last"/>
383       <reference ref="Maven.BaseProjectMenu"/>
384     </group>
385
386     <action id="Maven.GenerateGroup" class="org.jetbrains.idea.maven.dom.generate.MavenGenerateDomActionGroup" text="Generate">
387       <add-to-group group-id="GenerateGroup" anchor="first"/>
388     </action>
389
390     <group id="Maven.RefactoringGroup" text="Refactoring">
391       <add-to-group group-id="IntroduceActionsGroup" anchor="after" relative-to-action="IntroduceParameter"/>
392       <separator/>
393       <action id="refactoring.introduce.property" text="Property"
394               class="org.jetbrains.idea.maven.dom.refactorings.introduce.IntroducePropertyAction"
395               use-shortcut-of="IntroduceVariable"/>
396
397       <action id="refactoring.extract.dependency" text="Extract Managed Dependency"
398               class="org.jetbrains.idea.maven.dom.refactorings.extract.ExtractManagedDependenciesAction"
399               use-shortcut-of="ExtractMethod"/>
400     </group>
401   </actions>
402 </idea-plugin>