<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<plugin
   id="tk.eclipse.plugin.struts"
   name="%plugin.name"
   version="2.0.3"
   provider-name="%plugin.provider"
   class="tk.eclipse.plugin.struts.StrutsPlugin">

   <runtime>
      <library name="strutsplugin.jar">
         <export name="*"/>
      </library>
   </runtime>

   <requires>
      <import plugin="org.eclipse.ui"/>
      <import plugin="org.eclipse.core.runtime"/>
      <import plugin="org.eclipse.jface.text"/>
      <import plugin="org.eclipse.core.resources"/>
      <import plugin="org.eclipse.ui.editors"/>
      <import plugin="org.eclipse.ui.ide"/>
      <import plugin="org.eclipse.ui.workbench.texteditor"/>
      <import plugin="org.eclipse.gef"/>
      <import plugin="org.eclipse.ui.views"/>
      <import plugin="org.eclipse.jdt"/>
      <import plugin="org.eclipse.jdt.ui"/>
      <import plugin="org.eclipse.jdt.core"/>
      <import plugin="tk.eclipse.plugin.htmleditor"/>
   </requires>

   <!--====================================================-->
   <!-- struts-config.xml editor -->
   <!--====================================================-->
   <extension
         point="org.eclipse.ui.editors">
      <!-- struts-config.xml editor -->
      <editor
            class="tk.eclipse.plugin.struts.editors.MultiPageStrutsConfigEditor"
            contributorClass="tk.eclipse.plugin.struts.editors.MultiPageEditorContributor"
            default="true"
            filenames="struts-config.xml"
            icon="icons/struts_config.gif"
            id="tk.eclipse.plugin.struts.editors.MultiPageEditor"
            name="%plugin.editor.strutsconfig">
         <contentTypeBinding contentTypeId="tk.eclipse.plugin.struts.strutsConfigXML"/>
      </editor>
   
      <!-- tiles-defs.xml editor -->
      <editor
            class="tk.eclipse.plugin.struts.editors.TilesXMLEditor"
            contributorClass="tk.eclipse.plugin.xmleditor.editors.XMLEditorContributor"
            default="true"
            filenames="tiles-defs.xml"
            icon="icons/tiles.gif"
            id="tk.eclipse.plugin.struts.editors.TilesXMLEditor"
            name="%plugin.editor.tiles">
         <contentTypeBinding contentTypeId="tk.eclipse.plugin.struts.tiles"/>
      </editor>
   
      <!-- validation.xml editor -->
      <editor
            class="tk.eclipse.plugin.struts.editors.ValidatorXMLEditor"
            contributorClass="tk.eclipse.plugin.xmleditor.editors.XMLEditorContributor"
            default="true"
            filenames="validation.xml,validator-rules.xml"
            icon="icons/validator.gif"
            id="tk.eclipse.plugin.struts.editors.ValidatorXMLEditor"
            name="%plugin.editor.validator">
         <contentTypeBinding contentTypeId="tk.eclipse.plugin.struts.validator"/>
      </editor>
   </extension>
   
   <!--====================================================-->
   <!-- wizards -->
   <!--====================================================-->
   <extension
         point="org.eclipse.ui.newWizards">
      <category
            parentCategory="tk.eclipse.plugin.htmleditor"
            name="%plugin.wizard.category"
            id="tk.eclipse.plugin.struts">
      </category>
      <wizard
            name="%plugin.wizard.strutsJSP"
            icon="icons/webpage_mini.gif"
            category="tk.eclipse.plugin.htmleditor/tk.eclipse.plugin.struts"
            class="tk.eclipse.plugin.struts.wizards.JSPWizard"
            id="tk.eclipse.plugin.struts.wizards.JSPWizard">
      </wizard>
      <wizard
            name="%plugin.wizard.strutsAction"
            icon="icons/action_mini.gif"
            category="tk.eclipse.plugin.htmleditor/tk.eclipse.plugin.struts"
            class="tk.eclipse.plugin.struts.wizards.ActionWizard"
            id="tk.eclipse.plugin.struts.wizards.ActionWizard">
      </wizard>
      <wizard
            name="%plugin.wizard.strutsActionForm"
            icon="icons/bean_mini.gif"
            category="tk.eclipse.plugin.htmleditor/tk.eclipse.plugin.struts"
            class="tk.eclipse.plugin.struts.wizards.ActionFormWizard"
            id="tk.eclipse.plugin.struts.wizards.ActionFormWizard">
      </wizard>
      <wizard
            name="%plugin.wizard.strutsSupport"
            icon="icons/action_mappings_mini.gif"
            category="tk.eclipse.plugin.htmleditor/tk.eclipse.plugin.struts"
            class="tk.eclipse.plugin.struts.wizards.StrutsWizard"
            id="tk.eclipse.plugin.struts.wizards.StrutsWizard">
      </wizard>
   </extension>
   
   <!--====================================================-->
   <!-- nature -->
   <!--====================================================-->
   <extension
         id="StrutsProjectNature"
         name="StrutsProjectNature"
         point="org.eclipse.core.resources.natures">
      <requires-nature
            id="org.eclipse.jdt.core.javanature">
      </requires-nature>
      <runtime>
         <run
               class="tk.eclipse.plugin.struts.StrutsProjectNature">
         </run>
      </runtime>
   </extension>
   
   <!--====================================================-->
   <!-- property page of StrutsProject -->
   <!--====================================================-->
   <!--
   <extension
         id="tk.eclipse.plugin.struts.StrutsProjectPropertyPage"
         point="org.eclipse.ui.propertyPages">
      <page
            objectClass="org.eclipse.core.resources.IProject"
            name="%plugin.project"
            adaptable="true"
            class="tk.eclipse.plugin.struts.StrutsProjectPropertyPage"
            id="tk.eclipse.plugin.struts.StrutsProjectPropertyPage">
         <filter
               name="nature"
               value="tk.eclipse.plugin.struts.StrutsProjectNature">
         </filter>
      </page>
   </extension>
   -->
   
   <!--====================================================-->
   <!-- converter of Struts HTML taglibs -->
   <!--====================================================-->
   <extension
         point="tk.eclipse.plugin.htmleditor.customTagConverter">
      <contributer
            uri="http://jakarta.apache.org/struts/tags-html"
            class="tk.eclipse.plugin.struts.StrutsHTMLCustomTagConverterContributer"/>
      <contributer
            uri="http://struts.apache.org/tags-html"
            class="tk.eclipse.plugin.struts.StrutsHTMLCustomTagConverterContributer"/>
   </extension>
   
   <!--====================================================-->
   <!-- builder -->
   <!--====================================================-->
   <extension
         id="StrutsProjectBuilder"
         name="%plugin.builder"
         point="org.eclipse.core.resources.builders">
      <builder>
         <run class="tk.eclipse.plugin.struts.validator.StrutsProjectBuilder"/>
      </builder>
   </extension>
   
   <!--====================================================-->
   <!-- palette items -->
   <!--====================================================-->
   <extension
         point="tk.eclipse.plugin.htmleditor.paletteItem">
      <contributer
            class="tk.eclipse.plugin.struts.StrutsHTMLPaletteContributer"
            name="Struts HTML"/>
   </extension>
   
   <!--====================================================-->
   <!-- extention for code completion in JSP editor -->
   <!--====================================================-->
   <extension
         point="tk.eclipse.plugin.htmleditor.fileAssistProcessor">
      <processor class="tk.eclipse.plugin.struts.StrutsFileAssistProcessor"/>
   </extension>
   <extension
         point="tk.eclipse.plugin.htmleditor.customTagAttributeAssist">
      <customTagAttributeAssist class="tk.eclipse.plugin.struts.StrutsAttributeAssist"/>
   </extension>
   
   <!--====================================================-->
   <!-- preference pages -->
   <!--====================================================-->
   <extension
         point="org.eclipse.ui.preferencePages">
      <page
            class="tk.eclipse.plugin.struts.StrutsPreferencePage"
            category="tk.eclipse.plugin.htmleditor.category"
            name="%plugin.wizard.category"
            id="tk.eclipse.plugin.struts.category"/>
   </extension>
   
   <extension
         point="org.eclipse.ui.editors.templates">
      <contextType
            class="tk.eclipse.plugin.struts.template.StrutsJSPContextType"
            name="JSP"
            id="tk.eclipse.plugin.struts.StrutsPlugin.templateContextType.jsp"/>
      <include
            file="templates/templates.xml" />
   </extension>
   <extension
         point="org.eclipse.core.runtime.contentTypes">
      <content-type
            base-type="org.eclipse.core.runtime.xml"
            describer="tk.eclipse.plugin.struts.StrutsConfigDescriber"
            file-extensions="xml"
            file-names="struts-config.xml"
            id="strutsConfigXML"
            name="%plugin.contentType.strutsConfig"
            priority="high"/>
      <content-type
            base-type="org.eclipse.core.runtime.xml"
            describer="tk.eclipse.plugin.struts.TilesDescriber"
            file-extensions="xml"
            file-names="tiles-defs.xml"
            id="tiles"
            name="%plugin.contentType.tiles"
            priority="high"/>
      <content-type
            base-type="org.eclipse.core.runtime.xml"
            describer="tk.eclipse.plugin.struts.ValidatorDescriber"
            file-extensions="xml"
            file-names="validation.xml,validator-rules.xml"
            id="validator"
            name="%plugin.contentType.validator"
            priority="high"/>
   </extension>
</plugin>
