<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<plugin>
  
    <extension
        point="org.eclipse.core.expressions.propertyTesters">
     <propertyTester
           class="org.eclipse.jst.server.generic.ui.internal.AntPublisherPropertyTester"
           id="org.eclipse.jst.server.generic.ui.antPublisherTester"
           namespace="org.eclipse.jst.server.generic.ui"
           properties="isAntPublisher"
           type="java.lang.Object">
     </propertyTester>
  </extension>
  
  <extension point="org.eclipse.debug.ui.launchConfigurationTypeImages">
    <launchConfigurationTypeImage
      id="org.eclipse.jst.server.generic.image.ui.launchConfigurationTypeImage"
      configTypeID="org.eclipse.jst.server.generic.core.launchConfigurationType"
      icon="icons/obj16/server.gif">
    </launchConfigurationTypeImage>
    <launchConfigurationTypeImage
      id="org.eclipse.jst.server.generic.image.ui.ExternalLaunchConfigurationTypeImage"
      configTypeID="org.eclipse.jst.server.generic.core.ExternalLaunchConfigurationType"
      icon="icons/obj16/server.gif">
    </launchConfigurationTypeImage>
  </extension>
  
  <extension point="org.eclipse.debug.ui.launchConfigurationTabGroups">
    <launchConfigurationTabGroup
      id="org.eclipse.jst.server.generic.ui.internal.launchConfigurationTabGroup"
      type="org.eclipse.jst.server.generic.core.launchConfigurationType"
      class="org.eclipse.jst.server.generic.ui.internal.GenericLaunchConfigurationTabGroup">
      <launchMode
            mode="run">
      </launchMode>
      <launchMode
            mode="debug">
      </launchMode>
      <launchMode
            mode="profile">
      </launchMode>      
    </launchConfigurationTabGroup>
    <launchConfigurationTabGroup
      id="org.eclipse.jst.server.generic.ui.internal.launchConfigurationTabGroup"
      type="org.eclipse.jst.server.generic.core.ExternalLaunchConfigurationType"
      class="org.eclipse.jst.server.generic.ui.internal.ExternalLaunchConfigurationTabGroup">
      <launchMode
            mode="run">
      </launchMode>
      <launchMode
            mode="debug">
      </launchMode>      
    </launchConfigurationTabGroup>
  </extension>
  <extension point="org.eclipse.wst.server.ui.editorPageSections">
      <section
         id="org.eclipse.jst.server.generic.ui.internal.editor.serverProperties"
         order="10"
         insertionId="org.eclipse.wst.server.editor.overview.left"
         typeIds="org.eclipse.jst.server.generic.*"
         class="org.eclipse.jst.server.generic.ui.internal.editor.ServerPropertiesEditorSection">
      </section>
      <section
         id="org.eclipse.jst.server.generic.ui.internal.editor.antBuidFileSelection"
         order="1"
         insertionId="org.eclipse.wst.server.editor.overview.right"
         typeIds="org.eclipse.jst.server.generic.*"
         class="org.eclipse.jst.server.generic.ui.internal.editor.AntBuildFileSelectionEditorSection">
         <enablement>
           <test property="org.eclipse.jst.server.generic.ui.isAntPublisher" value="true"/>
         </enablement>
      </section>
   </extension>
   
</plugin>
