<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>

<plugin id="org.eclipse.wst.server.ui"
  name="%pluginName"
  version="1.0.0"
  provider-name="%providerName"
  class="org.eclipse.wst.server.ui.internal.ServerUIPlugin">

<requires>
  <import plugin="org.eclipse.core.runtime"/>
  <import plugin="org.eclipse.core.resources"/>
  <import plugin="org.eclipse.core.expressions"/>
  <import plugin="org.eclipse.ui"/>
  <import plugin="org.eclipse.ui.ide"/>
  <import plugin="org.eclipse.ui.forms"/>
  <import plugin="org.eclipse.ui.workbench.texteditor"/>
  <import plugin="org.eclipse.debug.core"/>
  <import plugin="org.eclipse.debug.ui"/>
  <import plugin="org.eclipse.wst.server.core"/>
</requires>

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

  <extension-point id="editorPages" name="%extensionPointEditorPages" schema="schema/editorPages.exsd"/>
  <extension-point id="editorPageSections" name="%extensionPointEditorPageSections" schema="schema/editorPageSections.exsd"/>
  <extension-point id="editorActions" name="%extensionPointEditorActions" schema="schema/editorActions.exsd"/>
  <extension-point id="serverImages" name="%extensionPointServerImages" schema="schema/serverImages.exsd"/>
  <extension-point id="wizardFragments" name="%extensionPointWizardFragments" schema="schema/wizardFragments.exsd"/>

<extension point="org.eclipse.ui.ide.projectNatureImages">
  <image
    id="org.eclipse.wst.server.ui.projectNatureImage"
    natureId="org.eclipse.wst.server.core.nature"
    icon="icons/ovr16/server_ovr.gif"/>
</extension>

<extension point="org.eclipse.ui.newWizards">
  <category
    id="org.eclipse.wst.server.ui"
    name="%wizardCategoryTitle"/>

  <wizard
      id="org.eclipse.wst.server.ui.new.server"
      name="%newServer"
      class="org.eclipse.wst.server.ui.internal.wizard.NewServerWizard"
      category="org.eclipse.wst.server.ui"
      icon="icons/ctool16/wiz_new_server.gif">
    <description>%newServerDescription</description>
  </wizard>
</extension>

<!--
<extension point="org.eclipse.ui.importWizards">
  <wizard
      id="org.eclipse.wst.server.ui.import.configuration"
      name="%importServerConfiguration"
      class="org.eclipse.wst.server.ui.internal.wizard.ImportServerConfigurationWizard"
      icon="icons/ctool16/wiz_import_configuration.gif">
    <description>%importServerConfigurationDescription</description>
  </wizard>
</extension>
-->

<extension point="org.eclipse.ui.views"> 
  <category
    id="org.eclipse.wst.server.ui"
    name="%viewCategoryTitle"/>

  <view
    id="org.eclipse.wst.server.ui.ServersView"
    name="%viewServersTitle"
    category="org.eclipse.wst.server.ui"
    class="org.eclipse.wst.server.ui.internal.view.servers.ServersView"
    icon="icons/cview16/servers_view.gif"/>
</extension>

<extension point="org.eclipse.ui.perspectiveExtensions">
  <perspectiveExtension
    targetID="org.eclipse.debug.ui.DebugPerspective">
    <view
      relative="org.eclipse.debug.ui.DebugView"
      relationship="stack"
      id="org.eclipse.wst.server.ui.ServersView">
    </view>
  </perspectiveExtension>
</extension>

<extension point="org.eclipse.ui.preferencePages">
  <page
    id="org.eclipse.wst.server.ui.preferencePage"
    name="%preferenceServersTitle"
    class="org.eclipse.wst.server.ui.internal.ServerPreferencePage"/>
  <page
    id="org.eclipse.wst.server.ui.runtime.preferencePage"
    name="%preferenceRuntimesTitle"
    category="org.eclipse.wst.server.ui.preferencePage"
    class="org.eclipse.wst.server.ui.internal.RuntimePreferencePage"/>
</extension>

<extension point="org.eclipse.ui.editors">
  <editor id="org.eclipse.wst.server.ui.editor"
    name="%serverEditor"
    icon="icons/obj16/server.gif"
    extensions="server"
    default="true"
    class="org.eclipse.wst.server.ui.internal.editor.ServerEditor"
    contributorClass="org.eclipse.wst.server.ui.internal.editor.ServerEditorActionBarContributor"/>
</extension>

<extension point="org.eclipse.ui.elementFactories">
  <factory id="org.eclipse.wst.server.ui.editor.input.factory"
    class="org.eclipse.wst.server.ui.internal.editor.ServerEditorInputFactory"/>
</extension>

<extension point="org.eclipse.ui.propertyPages">
  <page
    id="org.eclipse.wst.server.ui.project.properties"
    name="%propertiesServer"
    objectClass="org.eclipse.core.resources.IProject"
    adaptable="true"
    class="org.eclipse.wst.server.ui.internal.ProjectPropertyPage"/>
</extension>

<extension point="org.eclipse.ui.actionSets">
  <actionSet
    id="org.eclipse.wst.server.ui.new.actionSet"
    label="%actionSetTitle"
    visible="false">
    <action
      id="org.eclipse.wst.server.ui.action.new.server"
      toolbarPath="servers"
      label="%actionSetNewServer"
      tooltip="%actionSetNewServer"
      icon="icons/ctool16/wiz_new_server.gif"
      class="org.eclipse.wst.server.ui.internal.actions.NewServerAction"/>
  </actionSet>
</extension>

<extension point="org.eclipse.debug.ui.launchShortcuts">
   <shortcut id="org.eclipse.wst.server.core.launchShortcut"
      label="%serverLaunchShortcut"
      class="org.eclipse.wst.server.ui.internal.ServerLaunchShortcut"
      modes="run, debug, profile"
      path="aa"
      icon="icons/etool16/run_on_server.gif">
      <contextualLaunch>
        <enablement>
           <with variable="selection">
             <count value="1"/>
             <iterate>
                <test property="org.eclipse.wst.server.ui.isRunnable" value="true"/>
             </iterate>
           </with>
         </enablement>
      
        <contextLabel
           mode="run"
           label="%actionRunOnServer"/>
        <contextLabel
           mode="debug"
           label="%actionDebugOnServer"/>
        <contextLabel
           mode="profile"
           label="%actionProfileOnServer"/>
      </contextualLaunch>
    <perspective id="org.eclipse.wst.server.ui.perspective"/>
    <perspective id="org.eclipse.jdt.ui.JavaPerspective"/>
    <perspective id="org.eclipse.jdt.ui.JavaHierarchyPerspective"/>
    <perspective id="org.eclipse.jdt.ui.JavaBrowsingPerspective"/>
    <perspective id="org.eclipse.debug.ui.DebugPerspective"/>
    <perspective id="com.ibm.etools.j2ee.J2EEPerspective"/>
    <perspective id="org.eclipse.ui.resourcePerspective"/>
   </shortcut>
</extension>

<extension point="org.eclipse.core.expressions.propertyTesters">
   <propertyTester
      id="org.eclipse.wst.server.ui.propertyTester"
      namespace="org.eclipse.wst.server.ui"
      properties="isRunnable"
      type="java.lang.Object"
      class="org.eclipse.wst.server.ui.internal.ServerPropertyTester">
   </propertyTester>
</extension>

  <extension point="org.eclipse.ui.popupMenus">
    <objectContribution
      id="org.eclipse.wst.server.ui.popupMenu"
      objectClass="org.eclipse.wst.server.core.IServer"
      adaptable="true">
      <action
        id="org.eclipse.wst.server.ui.action.modifyModules"
        label="%actionModifyModules"
        icon="icons/ctool16/wiz_modify_modules.gif"
        class="org.eclipse.wst.server.ui.internal.actions.ModifyModulesAction">
      </action>
    </objectContribution>
  </extension>

  <extension point="org.eclipse.wst.server.ui.editorPages">
     <page
        id="org.eclipse.wst.server.editor.overview"
        order="-10000"
        name="%serverEditorOverviewPage"
        typeIds="*"
        insertionIds="org.eclipse.wst.server.editor.overview.left, org.eclipse.wst.server.editor.overview.right"
        class="org.eclipse.wst.server.ui.internal.editor.OverviewEditorFactory"/>
  </extension>

  <extension point="org.eclipse.core.runtime.adapters">
    <factory
      class="org.eclipse.wst.server.ui.internal.ServerAdapterFactory"
      adaptableType="org.eclipse.wst.server.core.IServer">
      <adapter type="org.eclipse.ui.IActionFilter"/>
    </factory>
  </extension>

</plugin>