<idea-plugin version="2">
  <name>Plugin DevKit</name>
  <id>DevKit</id>
  <version>1.0</version>

  <description>
    IntelliJ Platform plugin development kit.
  </description>

  <category>inspection</category>
  <vendor>JetBrains</vendor>

  <depends>com.intellij.properties</depends>

  <resource-bundle>org.jetbrains.idea.devkit.DevKitBundle</resource-bundle>

  <extensions defaultExtensionNs="com.intellij">
    <errorHandler implementation="com.intellij.diagnostic.ITNReporter"/>

    <codeInsight.lineMarkerProvider language="JAVA" implementationClass="org.jetbrains.idea.devkit.testAssistant.TestDataLineMarkerProvider"/>
    <codeInsight.lineMarkerProvider language="Groovy" implementationClass="org.jetbrains.idea.devkit.testAssistant.TestDataLineMarkerProvider"/>
    <fileEditorProvider implementation="org.jetbrains.idea.devkit.testAssistant.TestDataGroupEditorProvider"/>
    <gotoRelatedProvider implementation="org.jetbrains.idea.devkit.testAssistant.TestDataAsRelatedFileProvider"/>
    <gotoRelatedProvider implementation="org.jetbrains.idea.devkit.testAssistant.TestCaseAsRelatedFileProvider"/>
    <psi.referenceContributor implementation="org.jetbrains.idea.devkit.testAssistant.TestDataReferenceContributor"/>
    <getDataRule key="Location" implementationClass="org.jetbrains.idea.devkit.testAssistant.TestLocationDataRule"/>

    <junitPatcher implementation="org.jetbrains.idea.devkit.run.JUnitDevKitPatcher"/>
    <antBuildGen implementation="org.jetbrains.idea.devkit.build.ant.ChunkBuildPluginExtension"/>
    <compiler.buildTargetScopeProvider implementation="org.jetbrains.idea.devkit.build.PluginModuleBuildScopeProvider"/>

    <dom.fileDescription implementation="org.jetbrains.idea.devkit.dom.impl.PluginXmlDomFileDescription"/>
    <dom.extender domClass="org.jetbrains.idea.devkit.dom.Extensions"
                  extenderClass="org.jetbrains.idea.devkit.dom.impl.ExtensionDomExtender"/>
    <dom.extender domClass="org.jetbrains.idea.devkit.dom.Action"
                  extenderClass="org.jetbrains.idea.devkit.dom.impl.InternalDomExtender$ForAction"/>
    <dom.extender domClass="org.jetbrains.idea.devkit.dom.Group"
                  extenderClass="org.jetbrains.idea.devkit.dom.impl.InternalDomExtender$ForGroup"/>
    <dom.implementation interfaceClass="org.jetbrains.idea.devkit.dom.IdeaPlugin"
                        implementationClass="org.jetbrains.idea.devkit.dom.impl.IdeaPluginImpl"/>
    <dom.implementation interfaceClass="org.jetbrains.idea.devkit.dom.Extension"
                        implementationClass="org.jetbrains.idea.devkit.dom.impl.ExtensionImpl"/>
    <dom.implementation interfaceClass="org.jetbrains.idea.devkit.dom.ExtensionPoint"
                        implementationClass="org.jetbrains.idea.devkit.dom.impl.ExtensionPointImpl"/>
    <dom.implementation interfaceClass="org.jetbrains.idea.devkit.dom.Extensions"
                        implementationClass="org.jetbrains.idea.devkit.dom.impl.ExtensionsImpl"/>
    <useScopeEnlarger implementation="org.jetbrains.idea.devkit.DevKitUseScopeEnlarger"/>
    <properties.implicitPropertyUsageProvider implementation="org.jetbrains.idea.devkit.references.RegistryImplicitPropertyUsageProvider"/>

    <configurationType implementation="org.jetbrains.idea.devkit.run.PluginConfigurationType"/>
    <moduleType id="PLUGIN_MODULE" implementationClass="org.jetbrains.idea.devkit.module.PluginModuleType" classpathProvider="true"/>
    <sdkType implementation="org.jetbrains.idea.devkit.projectRoots.IdeaJdk"/>
    <compileServer.plugin classpath="devkit-jps-plugin.jar"/>
    <fileTemplateGroup implementation="org.jetbrains.idea.devkit.DevKitFileTemplatesFactory"/>
    <lang.documentationProvider language="XML"
                                implementationClass="org.jetbrains.idea.devkit.references.extensions.ExtensionPointDocumentationProvider"/>

    <localInspection language="XML" shortName="PluginXmlValidity" displayName="Plugin.xml Validity"
                     groupKey="inspections.group.name" enabledByDefault="true" level="ERROR"
                     implementationClass="org.jetbrains.idea.devkit.inspections.PluginXmlDomInspection"/>
    <localInspection language="JAVA" shortName="ComponentNotRegistered"
                     key="inspections.component.not.registered.name" groupKey="inspections.group.name" enabledByDefault="true"
                     level="WARNING" implementationClass="org.jetbrains.idea.devkit.inspections.ComponentNotRegisteredInspection"/>
    <localInspection language="JAVA" shortName="InspectionDescriptionNotFoundInspection" displayName="Inspection Description Checker"
                     groupKey="inspections.group.name" enabledByDefault="true" level="WARNING"
                     implementationClass="org.jetbrains.idea.devkit.inspections.InspectionDescriptionNotFoundInspection"/>
    <localInspection language="JAVA" shortName="InspectionUsingGrayColors" displayName="Using new Color(a,a,a)"
                     groupKey="inspections.group.name" enabledByDefault="true" level="WARNING"
                     implementationClass="org.jetbrains.idea.devkit.inspections.UseGrayInspection"/>
    <localInspection language="JAVA" shortName="IntentionDescriptionNotFoundInspection" displayName="Intention Description Checker"
                     groupKey="inspections.group.name" enabledByDefault="true" level="WARNING"
                     implementationClass="org.jetbrains.idea.devkit.inspections.IntentionDescriptionNotFoundInspection"/>
    <localInspection language="JAVA"
                     key="inspections.component.postfix.template.not.found.description.name"
                     groupKey="inspections.group.name"
                     enabledByDefault="true"
                     level="WARNING"
                     implementationClass="org.jetbrains.idea.devkit.inspections.PostfixTemplateDescriptionNotFoundInspection"/>
    <localInspection shortName="ComponentRegistrationProblems"
                      key="inspections.registration.problems.name"
                     groupKey="inspections.group.name"
                     enabledByDefault="true" level="ERROR"
                     implementationClass="org.jetbrains.idea.devkit.inspections.RegistrationProblemsInspection"/>
    <localInspection language="JAVA" shortName="DialogTitleCapitalization"
                     groupKey="inspections.group.name"
                     displayName="Incorrect dialog title capitalization"
                     enabledByDefault="true"
                     level="WARNING"
                     implementationClass="org.jetbrains.idea.devkit.inspections.TitleCapitalizationInspection"/>
    <localInspection language="XML" shortName="InspectionMappingConsistency"
                     groupKey="inspections.group.name"
                     displayName="&lt;inspection&gt; tag consistency"
                     enabledByDefault="true"
                     level="WARNING"
                     implementationClass="org.jetbrains.idea.devkit.inspections.InspectionMappingConsistencyInspection"/>
    <localInspection language="XML" shortName="ExtensionPointBeanClass"
                     groupKey="inspections.group.name"
                     displayName="&lt;extensionPoint&gt; beanClass specification"
                     enabledByDefault="true"
                     level="WARNING"
                     implementationClass="org.jetbrains.idea.devkit.inspections.ExtensionPointBeanClassInspection"/>

    <localInspection language="JAVA" shortName="UndesirableClassUsage" displayName="Undesirable class usage"
                     groupKey="inspections.group.name"
                     enabledByDefault="true" level="WARNING"
                     implementationClass="org.jetbrains.idea.devkit.inspections.internal.UndesirableClassUsageInspection"/>
    <localInspection language="JAVA" shortName="FileEqualsUsage" displayName="File.equals() usage"
                     groupKey="inspections.group.name"
                     enabledByDefault="true" level="WARNING"
                     implementationClass="org.jetbrains.idea.devkit.inspections.internal.FileEqualsUsageInspection"/>
    <localInspection language="JAVA" shortName="GtkPreferredJComboBoxRenderer" displayName="Preferred JComboBox renderer"
                     groupKey="inspections.group.name"
                     enabledByDefault="true" level="WARNING"
                     implementationClass="org.jetbrains.idea.devkit.inspections.internal.GtkPreferredJComboBoxRendererInspection"/>
    <localInspection language="JAVA" shortName="UnsafeVfsRecursion" displayName="Unsafe VFS recursion"
                     groupKey="inspections.group.name"
                     enabledByDefault="true" level="WARNING"
                     implementationClass="org.jetbrains.idea.devkit.inspections.internal.UnsafeVfsRecursionInspection"/>
    <localInspection language="JAVA" shortName="UseJBColor" displayName="Use Darcula aware JBColor"
                     groupKey="inspections.group.name"
                     enabledByDefault="true" level="WARNING"
                     implementationClass="org.jetbrains.idea.devkit.inspections.internal.UseJBColorInspection"/>
    <localInspection language="JAVA" shortName="UseCouple" displayName="Use Couple instead of Pair"
                     groupKey="inspections.group.name"
                     enabledByDefault="false" level="WARNING"
                     implementationClass="org.jetbrains.idea.devkit.inspections.internal.UseCoupleInspection"/>
    <localInspection language="JAVA" shortName="DontUsePairConstructor" displayName="Don't use constructor of Pair class"
                     groupKey="inspections.group.name"
                     enabledByDefault="true" level="WARNING"
                     implementationClass="org.jetbrains.idea.devkit.inspections.internal.DontUseNewPairInspection"/>
    <localInspection language="JAVA" shortName="UseVirtualFileEquals" displayName="Use VirtualFile.equals"
                     groupKey="inspections.group.name"
                     enabledByDefault="true" level="WARNING"
                     implementationClass="org.jetbrains.idea.devkit.inspections.internal.UseVirtualFileEqualsInspection"/>

    <moduleConfigurationEditorProvider implementation="org.jetbrains.idea.devkit.module.PluginModuleEditorsProvider"/>
    <implicitUsageProvider implementation="org.jetbrains.idea.devkit.inspections.DevKitImplicitUsageProvider"/>
    <psi.referenceContributor implementation="org.jetbrains.idea.devkit.dom.impl.I18nReferenceContributor"/>
    <psi.referenceContributor implementation="org.jetbrains.idea.devkit.references.IconsReferencesContributor"/>
    <referencesSearch implementation="org.jetbrains.idea.devkit.references.IconsReferencesContributor"/>
    <unusedDeclarationFixProvider implementation="org.jetbrains.idea.devkit.inspections.quickfix.RegisterExtensionFixProvider"/>

    <stacktrace.fold substring="at com.intellij.testFramework."/>
    <stacktrace.fold substring="at com.intellij.util.messages.impl.MessageBus"/>
    <stacktrace.fold substring="com.intellij.openapi.command.WriteCommandAction"/>
    <stacktrace.fold substring="at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction("/>
    <stacktrace.fold substring="at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction("/>
    <stacktrace.fold substring="at com.intellij.openapi.application.RunResult.run("/>
    <stacktrace.fold substring="at com.intellij.openapi.command.impl.CommandProcessorImpl.executeCommand("/>

    <codeInsight.lineMarkerProvider language="JAVA"
                                    implementationClass="org.jetbrains.idea.devkit.navigation.DescriptionTypeRelatedItemLineMarkerProvider"/>
    <codeInsight.lineMarkerProvider language="JAVA"
                                    implementationClass="org.jetbrains.idea.devkit.navigation.ExtensionPointDeclarationRelatedItemLineMarkerProvider"/>
    <codeInsight.implementedAtRuntime implementation="org.jetbrains.idea.devkit.inspections.DevKitImplementedAtRuntimeCondition"/>
  </extensions>

  <project-components>
    <component>
      <implementation-class>org.jetbrains.idea.devkit.testAssistant.TestDataHighlightingPassFactory</implementation-class>
    </component>
  </project-components>

  <module-components>
    <component>
      <implementation-class>org.jetbrains.idea.devkit.build.PluginBuildConfiguration</implementation-class>
      <option name="type" value="PLUGIN_MODULE"/>
    </component>
  </module-components>

  <actions>
    <group id="PluginDeployActions">
      <action class="org.jetbrains.idea.devkit.build.PrepareToDeployAction" id="MakeJarAction"/>
      <action class="org.jetbrains.idea.devkit.build.PrepareAllToDeployAction" id="MakeAllJarsAction"/>
      <add-to-group anchor="after" group-id="ProjectViewPopupMenu" relative-to-action="Compile"/>
      <add-to-group anchor="after" group-id="BuildMenu" relative-to-action="BuildJar"/>
    </group>

    <action class="org.jetbrains.idea.devkit.actions.NewApplicationComponentAction" text="Application Component"
            id="NewApplicationComponent">
      <add-to-group anchor="last" group-id="NewGroup"/>
    </action>

    <action class="org.jetbrains.idea.devkit.actions.NewProjectComponentAction" text="Project Component" id="NewProjectComponent">
      <add-to-group anchor="last" group-id="NewGroup"/>
    </action>

    <action class="org.jetbrains.idea.devkit.actions.NewModuleComponentAction" text="Module Component" id="NewModuleComponent">
      <add-to-group anchor="last" group-id="NewGroup"/>
    </action>

    <action class="org.jetbrains.idea.devkit.actions.NewActionAction" text="Action" id="NewAction">
      <add-to-group anchor="last" group-id="NewGroup"/>
    </action>

    <action class="org.jetbrains.idea.devkit.actions.GenerateComponentExternalizationAction" text="Generate Externalization"
            id="GenerateExternalization">
      <add-to-group anchor="last" group-id="GenerateGroup"/>
    </action>

    <group id="Internal.DevKit" internal="true" text="DevKit" popup="true">
      <action internal="true" class="org.jetbrains.idea.devkit.actions.ToggleHighlightingMarkupAction"
              text="Toggle Expected Highlighting Markup"
              id="ToggleHighlightingMarkup"/>

      <action internal="true" class="org.jetbrains.idea.devkit.actions.ShuffleNamesAction" text="Shuffle Names"
              id="ShuffleNamesAction"/>

      <action internal="true" class="org.jetbrains.idea.devkit.actions.ShowSerializedXmlAction" text="Show Serialized XML for Class"
              id="ShowSerializedXml"/>

      <action internal="true" class="org.jetbrains.idea.devkit.dom.generator.GenerateDomModelAction" text="Generate DOM Model..."
              id="GenerateDomModel"/>

      <add-to-group group-id="Internal" anchor="last"/>

    </group>
    <action id="TestData.Navigate"
            class="org.jetbrains.idea.devkit.testAssistant.NavigateToTestDataAction"
            text="Navigate to testdata" use-shortcut-of="GotoRelated">
    </action>
    <action id="DumpCleanTestData" internal="true" class="org.jetbrains.idea.devkit.internal.DumpCleanHighlightingTestdataAction">
      <add-to-group group-id="Internal.Dump"/>
    </action>
    <group>
      <reference id="TestData.Navigate"/>
      <add-to-group anchor="first" group-id="TestTreePopupMenu"/>
    </group>
  </actions>

</idea-plugin>
