-
Notifications
You must be signed in to change notification settings - Fork 52
/
plugin.xml
175 lines (146 loc) · 12 KB
/
plugin.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
<idea-plugin url="https://github.com/camel-tooling/camel-idea-plugin">
<id>org.apache.camel</id>
<name>Apache Camel</name>
<version>1.2.5</version>
<vendor email="users@apache.camel.org" url="https://github.com/camel-tooling/camel-idea-plugin">Apache Camel</vendor>
<description><![CDATA[
Plugin for IntelliJ IDEA to provide a set of Apache Camel related capabilities to the code editor.
]]></description>
<change-notes><![CDATA[
v.1.2.5
<ul>
<li>Debugger now supports Exchange variables (Camel 4.4)</li>
</ul>
]]>
</change-notes>
<!-- please see http://www.jetbrains.org/intellij/sdk/docs/basics/getting_started/build_number_ranges.html for description -->
<idea-version since-build="223"/>
<!-- please see http://www.jetbrains.org/intellij/sdk/docs/basics/getting_started/plugin_compatibility.html
on how to target different products -->
<depends>com.intellij.modules.xml</depends>
<!-- depend on the properties plugin -->
<depends>com.intellij.properties</depends>
<!-- depend on the yaml plugin -->
<depends>org.jetbrains.plugins.yaml</depends>
<depends>com.intellij.java</depends>
<depends>org.jetbrains.idea.maven</depends>
<depends>com.intellij.gradle</depends>
<depends optional="true" config-file="org.apache.camel-intelliLang.xml">org.intellij.intelliLang</depends>
<!-- main listener to trigger Camel IDEA plugin to detect if Apache Camel is present or not in the project -->
<applicationListeners>
<listener class="com.github.cameltooling.idea.CamelPluginStartup" topic="com.intellij.openapi.project.ProjectManagerListener"/>
</applicationListeners>
<projectListeners>
<listener class="com.github.cameltooling.idea.CamelPluginStartup" topic="com.intellij.openapi.roots.ModuleRootListener"/>
</projectListeners>
<extensions defaultExtensionNs="com.intellij">
<notificationGroup id="Apache Camel" displayType="BALLOON"/>
<postStartupActivity implementation="com.github.cameltooling.idea.CamelPluginStartup"/>
</extensions>
<extensions defaultExtensionNs="org.intellij.intelliLang">
<injectionConfig config="META-INF/dataSonnetInjections.xml"/>
</extensions>
<extensions defaultExtensionNs="org.apache.camel">
<ideaUtilsSupport implementation="com.github.cameltooling.idea.service.extension.idea.JavaIdeaUtils" />
<ideaUtilsSupport implementation="com.github.cameltooling.idea.service.extension.idea.XmlIdeaUtils" />
<ideaUtilsSupport implementation="com.github.cameltooling.idea.service.extension.idea.PropertyIdeaUtils" />
<ideaUtilsSupport implementation="com.github.cameltooling.idea.service.extension.idea.YamlIdeaUtils" />
<camelIdeaUtilsSupport implementation="com.github.cameltooling.idea.service.extension.camel.JavaCamelIdeaUtils" />
<camelIdeaUtilsSupport implementation="com.github.cameltooling.idea.service.extension.camel.XmlCamelIdeaUtils" />
<camelIdeaUtilsSupport implementation="com.github.cameltooling.idea.service.extension.camel.YamlCamelIdeaUtils" />
</extensions>
<extensionPoints>
<extensionPoint name="ideaUtilsSupport" interface="com.github.cameltooling.idea.extension.IdeaUtilsExtension" />
</extensionPoints>
<extensionPoints>
<extensionPoint name="camelIdeaUtilsSupport" interface="com.github.cameltooling.idea.extension.CamelIdeaUtilsExtension" />
</extensionPoints>
<extensions defaultExtensionNs="com.intellij">
<!-- services which can be requested from IDEA api -->
<projectService serviceImplementation="com.github.cameltooling.idea.service.CamelCatalogService"/>
<projectService serviceImplementation="com.github.cameltooling.idea.service.CamelService"/>
<projectService serviceImplementation="com.github.cameltooling.idea.service.KameletService"/>
<projectService serviceImplementation="com.github.cameltooling.idea.service.CamelProjectPreferenceService"/>
<projectService serviceImplementation="com.github.cameltooling.idea.service.CamelJBangService"/>
<applicationService serviceImplementation="com.github.cameltooling.idea.service.CamelPreferenceService"/>
<applicationService serviceImplementation="com.github.cameltooling.idea.util.JavaMethodUtils"/>
<applicationService serviceImplementation="com.github.cameltooling.idea.util.JavaClassUtils"/>
<applicationService serviceImplementation="com.github.cameltooling.idea.util.BeanUtils"/>
<!-- allow code completion of Camel endpoints-->
<completion.contributor language="JAVA" implementationClass="com.github.cameltooling.idea.completion.contributor.CamelJavaReferenceContributor" order="first"/>
<completion.contributor language="XML" implementationClass="com.github.cameltooling.idea.completion.contributor.CamelXmlReferenceContributor"/>
<completion.contributor language="Properties" implementationClass="com.github.cameltooling.idea.completion.contributor.CamelPropertiesFileReferenceContributor" order="before javaClassReference"/>
<completion.contributor language="yaml" implementationClass="com.github.cameltooling.idea.completion.contributor.CamelYamlFileReferenceContributor" order="before javaClassReference"/>
<!-- puts the Camel icon in the gutter for each line that starts a Camel route -->
<codeInsight.lineMarkerProvider language="JAVA" implementationClass="com.github.cameltooling.idea.gutter.CamelRouteLineMarkerProvider"/>
<codeInsight.lineMarkerProvider language="JAVA" implementationClass="com.github.cameltooling.idea.gutter.BeanInjectLineMarkerProvider"/>
<codeInsight.lineMarkerProvider language="XML" implementationClass="com.github.cameltooling.idea.gutter.CamelRouteLineMarkerProvider"/>
<codeInsight.lineMarkerProvider language="yaml" implementationClass="com.github.cameltooling.idea.gutter.CamelRouteLineMarkerProvider"/>
<!-- code completion of Camel property placeholders, eg {{foo}} style -->
<completion.contributor language="any" implementationClass="com.github.cameltooling.idea.completion.contributor.CamelPropertyPlaceholderReferenceContributor"/>
<!-- quick documentation for Camel endpoints -->
<lang.documentationProvider language="JAVA" implementationClass="com.github.cameltooling.idea.documentation.CamelDocumentationProvider"
order="first"/>
<lang.documentationProvider language="XML" implementationClass="com.github.cameltooling.idea.documentation.CamelDocumentationProvider"
order="first"/>
<lang.documentationProvider language="Properties" implementationClass="com.github.cameltooling.idea.documentation.CamelDocumentationProvider"
order="first"/>
<lang.documentationProvider language="yaml" implementationClass="com.github.cameltooling.idea.documentation.CamelDocumentationProvider"
order="first"/>
<!-- intention to add Camel endpoint -->
<intentionAction>
<className>com.github.cameltooling.idea.intention.CamelAddEndpointIntention</className>
</intentionAction>
<!-- annotator to validate endpoints -->
<annotator language="JAVA" implementationClass="com.github.cameltooling.idea.annotator.CamelEndpointAnnotator"/>
<annotator language="XML" implementationClass="com.github.cameltooling.idea.annotator.CamelEndpointAnnotator"/>
<annotator language="Properties" implementationClass="com.github.cameltooling.idea.annotator.CamelEndpointAnnotator"/>
<annotator language="yaml" implementationClass="com.github.cameltooling.idea.annotator.CamelEndpointAnnotator"/>
<!-- annotator to validate simple language -->
<annotator language="JAVA" implementationClass="com.github.cameltooling.idea.annotator.CamelSimpleAnnotator"/>
<annotator language="XML" implementationClass="com.github.cameltooling.idea.annotator.CamelSimpleAnnotator"/>
<annotator language="yaml" implementationClass="com.github.cameltooling.idea.annotator.CamelSimpleAnnotator"/>
<!-- annotator to validate jsonpath language -->
<annotator language="JAVA" implementationClass="com.github.cameltooling.idea.annotator.CamelJSonPathAnnotator"/>
<annotator language="XML" implementationClass="com.github.cameltooling.idea.annotator.CamelJSonPathAnnotator"/>
<annotator language="yaml" implementationClass="com.github.cameltooling.idea.annotator.CamelJSonPathAnnotator"/>
<!-- annotator to validate bean references by type -->
<annotator language="JAVA" implementationClass="com.github.cameltooling.idea.annotator.BeanReferenceTypeAnnotator"/>
<annotator language="XML" implementationClass="com.github.cameltooling.idea.annotator.BeanReferenceTypeAnnotator"/>
<!-- annotator to validate bean method calls language -->
<annotator language="JAVA" implementationClass="com.github.cameltooling.idea.annotator.CamelBeanMethodAnnotator"/>
<!-- inspection to validate endpoints -->
<localInspection displayName="Camel inspection" groupName="Camel" implementationClass="com.github.cameltooling.idea.inspection.CamelInspection"/>
<!-- preference -->
<applicationConfigurable id="camel" groupId="language" displayName="Apache Camel" instance="com.github.cameltooling.idea.preference.CamelPreferenceEntryPage"/>
<applicationConfigurable parentId="camel" id="camel.annotator" groupId="language" displayName="Validation" instance="com.github.cameltooling.idea.preference.annotator.CamelAnnotatorPage"/>
<projectConfigurable parentId="camel" id="camel.misc" groupId="language" displayName="Miscellaneous" instance="com.github.cameltooling.idea.preference.editorsettings.CamelEditorSettingsPage"/>
<applicationConfigurable parentId="camel" id="camel.properties" groupId="language" displayName="Ignore & Exclude Properties" instance="com.github.cameltooling.idea.preference.properties.CamelIgnoreAndExcludePage"/>
<psi.referenceContributor implementation="com.github.cameltooling.idea.reference.CamelBeanReferenceContributor"/>
<psi.referenceContributor implementation="com.github.cameltooling.idea.reference.endpoint.direct.DirectEndpointReferenceContributor"/>
<psi.referenceContributor implementation="com.github.cameltooling.idea.reference.blueprint.BlueprintReferenceContributor"/>
<psi.referenceContributor implementation="com.github.cameltooling.idea.reference.CamelBeanInjectReferenceContributor"/>
<renameHandler implementation="com.github.cameltooling.idea.reference.CamelBeanReferenceRenameHandler"/>
<postFormatProcessor implementation="com.github.cameltooling.idea.formatter.CamelPostFormatProcessor"/>
<!-- Debugger -->
<xdebugger.breakpointType implementation="com.github.cameltooling.idea.runner.debugger.breakpoint.CamelBreakpointType"/>
<programRunner id="Debug" implementation="com.github.cameltooling.idea.runner.debugger.CamelDebuggerRunner" order="first"/>
<programRunner id="ExternalSystemTaskDebugRunner" implementation="com.github.cameltooling.idea.runner.debugger.CamelExternalSystemTaskDebugRunner" order="first"/>
<projectTaskRunner implementation="com.github.cameltooling.idea.runner.debugger.CamelProjectTaskPatcher" order="first"/>
<configurationType implementation="com.github.cameltooling.idea.runner.CamelSpringBootRunConfigurationType"/>
<configurationType implementation="com.github.cameltooling.idea.runner.CamelMainRunConfigurationType"/>
<configurationType implementation="com.github.cameltooling.idea.runner.CamelQuarkusRunConfigurationType"/>
<configurationType implementation="com.github.cameltooling.idea.runner.CamelJBangRunConfigurationType"/>
<configurationType implementation="com.github.cameltooling.idea.runner.CamelRemoteRunConfigurationType"/>
<java.programPatcher implementation="com.github.cameltooling.idea.runner.debugger.CamelDebuggerPatcher"/>
</extensions>
<actions>
<action id="com.github.cameltooling.idea.action.CamelJBangDependencyLoader"
class="com.github.cameltooling.idea.action.CamelJBangDependencyLoader"
text="Load Camel JBand Dependencies"
description="Load all the Camel JBang dependencies of the project"
icon="com.github.cameltooling.idea.runner.debugger.CamelDebuggerIcons.CAMEL_ICON">
<add-to-group group-id="ToolsMenu" anchor="last"/>
</action>
</actions>
</idea-plugin>