<idea-plugin version="2">
  <name>Ant Support</name>
  <id>AntSupport</id>
  <version>1.0</version>
  <idea-version since-build="6.0"/>
  <description>Editing, maintaining and running ANT build scripts inside IntelliJ IDEA.</description>
  <vendor>JetBrains</vendor>

  <resource-bundle>com.intellij.lang.ant.resources.AntActionsBundle</resource-bundle>
  <depends>com.intellij.properties</depends>

  <extensionPoints>
    <extensionPoint name="AntMessageCustomizer" interface="com.intellij.lang.ant.config.execution.AntMessageCustomizer"/>
  </extensionPoints>

  <extensions defaultExtensionNs="com.intellij">
    <tipAndTrick file="CreateTargetTag.html" />

    <projectService serviceInterface="com.intellij.lang.ant.config.AntConfiguration" serviceImplementation="com.intellij.lang.ant.config.impl.AntConfigurationImpl"/>
    <projectService serviceInterface="com.intellij.lang.ant.config.impl.AntWorkspaceConfiguration" serviceImplementation="com.intellij.lang.ant.config.impl.AntWorkspaceConfiguration"/>

    <errorHandler implementation="com.intellij.diagnostic.ITNReporter"/>
    <renameHandler implementation="com.intellij.lang.ant.refactoring.AntRenameHandler"/>
    <stepsBeforeRunProvider implementation="com.intellij.lang.ant.config.impl.AntBeforeRunTaskProvider"/>
    <antBuildGen implementation="com.intellij.lang.ant.config.impl.artifacts.AntArtifactBuildExtension"/>
    <packaging.artifactPropertiesProvider implementation="com.intellij.lang.ant.config.impl.artifacts.AntArtifactPostprocessingPropertiesProvider"/>
    <packaging.artifactPropertiesProvider implementation="com.intellij.lang.ant.config.impl.artifacts.AntArtifactPreProcessingPropertiesProvider"/>
    <compileServer.plugin classpath="ant-jps-plugin.jar"/>

    <keymapExtension implementation="com.intellij.lang.ant.config.impl.AntKeymapExtension"/>
    <highlightRangeExtension implementation="com.intellij.lang.ant.AntHighlightRangeExtension"/>
    <renamePsiElementProcessor implementation="com.intellij.lang.ant.dom.AntRenameProcessor"/>
    <daemon.externalAnnotatorsFilter implementation="com.intellij.lang.ant.validation.AntAnnotatorsFilter"/>
    <lang.documentationProvider language="XML" implementationClass="com.intellij.lang.ant.doc.AntDomDocumentationProvider"/>

    <fileBasedIndex implementation="com.intellij.lang.ant.AntImportsIndex"/>
    <codeInsight.unresolvedReferenceQuickFixProvider implementation="com.intellij.lang.ant.quickfix.AntUnresolvedRefsFixProvider"/>
    <hectorComponentProvider implementation="com.intellij.lang.ant.validation.AntHectorPanelProvider"/>

    <localInspection language="XML" shortName="AntDuplicateTargetsInspection" bundle="messages.AntBundle" key="ant.duplicate.targets.inspection"
                     groupKey="ant.inspections.display.name" enabledByDefault="true" level="ERROR"
                     implementationClass="com.intellij.lang.ant.validation.AntDuplicateTargetsInspection"/>
    <localInspection language="XML" shortName="AntMissingPropertiesFileInspection" bundle="messages.AntBundle" key="ant.missing.properties.file.inspection"
                     groupKey="ant.inspections.display.name" enabledByDefault="true" level="ERROR"
                     implementationClass="com.intellij.lang.ant.validation.AntMissingPropertiesFileInspection"/>
    <localInspection language="XML" shortName="AntResolveInspection" displayName="Ant references resolve problems" bundle="messages.AntBundle"
                     groupKey="ant.inspections.display.name"
                     enabledByDefault="true" level="ERROR" implementationClass="com.intellij.lang.ant.dom.AntResolveInspection"/>

    <dom.fileDescription implementation="com.intellij.lang.ant.dom.AntDomFileDescription"/>
    <dom.fileDescription implementation="com.intellij.lang.ant.dom.AntlibDomFileDescription"/>
    <dom.extender domClass="com.intellij.lang.ant.dom.AntDomElement" extenderClass="com.intellij.lang.ant.dom.AntDomExtender"/>
    <pom.declarationSearcher implementation="com.intellij.lang.ant.dom.AntDomDeclarationSearcher"/>
    
    <!--Type Presentation-->
    <typeName className="com.intellij.lang.ant.dom.AntDomMacroDef" name="macro definition"/>
    <typeName className="com.intellij.lang.ant.dom.AntDomMacrodefElement" name="macrodef nested element"/>
    <typeName className="com.intellij.lang.ant.dom.AntDomTypeDef" name="type definition"/>
    <typeName className="com.intellij.lang.ant.dom.AntDomTaskdef" name="task definition"/>
    <typeName className="com.intellij.lang.ant.dom.AntDomPresetDef" name="preset definition"/>
    <typeName className="com.intellij.lang.ant.dom.AntDomScriptDef" name="script definition"/>
    <typeName className="com.intellij.lang.ant.dom.AntDomProperty" name="property"/>
    <typeName className="com.intellij.lang.ant.dom.AntDomDirSet" name="directory set"/>
    <typeName className="com.intellij.lang.ant.dom.AntDomFileSet" name="file set"/>
    <typeName className="com.intellij.lang.ant.dom.AntDomFileList" name="file list"/>
    <typeName className="com.intellij.lang.ant.dom.AntDomPath" name="path"/>
    <typeName className="com.intellij.lang.ant.dom.AntDomPathElement" name="pathelement"/>
    <typeName className="com.intellij.lang.ant.dom.AntDomTarget" name="target"/>
    <typeName className="com.intellij.lang.ant.dom.AntDomAntCallParam" name="antcall parameter"/>

    <toolWindow anchor="right" icon="AllIcons.Toolwindows.ToolWindowAnt" id="Ant Build"
                factoryClass="com.intellij.lang.ant.config.impl.AntToolWindowFactory"/>
    <configurationType implementation="com.intellij.lang.ant.config.execution.AntRunConfigurationType"/>
    <programRunner implementation="com.intellij.lang.ant.config.execution.AntRunner"/>

  </extensions>

  <application-components>
    <component>
      <interface-class>com.intellij.lang.ant.AntSupport</interface-class>
      <implementation-class>com.intellij.lang.ant.AntSupport</implementation-class>
    </component>
    <component>
      <interface-class>com.intellij.lang.ant.config.impl.GlobalAntConfiguration</interface-class>
      <implementation-class>com.intellij.lang.ant.config.impl.GlobalAntConfiguration</implementation-class>
    </component>
  </application-components>

  <project-components>
    <component>
      <implementation-class>com.intellij.lang.ant.config.impl.AntToolwindowRegistrar</implementation-class>
    </component>
  </project-components>

  <actions>
    <group id="AntBuildGroup" class="com.intellij.lang.ant.config.actions.AntBuildGroup">
      <add-to-group group-id="BuildMenu" relative-to-action="BuildJar" anchor="before"/>
    </group>
    <action id="AddAntBuildFile" class="com.intellij.lang.ant.config.actions.AddAntBuildFile">
      <add-to-group group-id="ToolsXmlGroup" relative-to-action="GenerateDTD" anchor="before"/>
      <add-to-group group-id="EditorPopupMenu" relative-to-action="PackageFile" anchor="after"/>
      <add-to-group group-id="ProjectViewPopupMenu" relative-to-action="ValidateXml" anchor="after"/>
      <add-to-group group-id="FavoritesViewPopupMenu" relative-to-action="ValidateXml" anchor="after"/>
      <add-to-group group-id="ScopeViewPopupMenu" relative-to-action="ValidateXml" anchor="after"/>
      <add-to-group group-id="CommanderPopupMenu" relative-to-action="ValidateXml" anchor="after"/>
    </action>
    <action id="RunTargetAction" class="com.intellij.lang.ant.config.actions.RunTargetAction">
      <add-to-group group-id="BuildMenu" relative-to-action="BuildJar" anchor="before"/>
      <keyboard-shortcut first-keystroke="control shift F10" keymap="$default"/>
    </action>
  </actions>
</idea-plugin>

