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

<plugin>
  <extension-point id="runtimeClasspathProviders" name="%extensionPointRuntimeClasspathProviders" schema="schema/runtimeClasspathProviders.exsd"/>
  <extension-point id="runtimeFacetMappings" name="%extensionPointRuntimeFacetMappings" schema="schema/runtimeFacetMappings.exsd"/>
  <extension-point id="serverProfilers" name="%extensionPointServerProfilers" schema="schema/serverProfilers.exsd"/>
  <extension-point id="internalRuntimeComponentProviders" name="internalRuntimeComponentProviders" schema="schema/internalRuntimeComponentProviders.exsd"/>

  <extension point="org.eclipse.jdt.core.classpathContainerInitializer">
    <classpathContainerInitializer
      id="org.eclipse.jst.server.core.container"
      class="org.eclipse.jst.server.core.internal.RuntimeClasspathContainerInitializer"/>
  </extension>

  <extension point="org.eclipse.wst.server.core.moduleTypes">
    <moduleType
       id="jst.web"
       name="%moduleTypeJ2EEWebName"/>
    <moduleType
       id="jst.ejb"
       name="%moduleTypeJ2EEEJBName"/>
    <moduleType
       id="jst.appclient"
       name="%moduleTypeJ2EEClientName"/>
    <moduleType
       id="jst.connector"
       name="%moduleTypeJ2EERARName"/>
    <moduleType
       id="jst.ear"
       name="%moduleTypeJ2EEEARName"/>
    <moduleType
       id="jst.utility"
       name="%moduleTypeJ2EEUtilityName"/>
  </extension>

  <extension point="org.eclipse.wst.server.core.runtimeTypes">
    <runtimeType
       id="org.eclipse.jst.server.core.runtimeType"
       name="%runtimeTypeName"
       description="%runtimeTypeDescription"
       facetRuntimeComponent="org.eclipse.jst.server.core.runtimeType"
       facetRuntimeVersion="1.0"
       class="org.eclipse.jst.server.core.internal.GenericRuntime">
       <moduleType
         types="jst.*"
         versions="*"/>
    </runtimeType>
  </extension>

  <extension point="org.eclipse.jst.server.core.runtimeClasspathProviders">
    <runtimeClasspathProvider
      id="org.eclipse.jst.server.core.runtimeTarget"
      runtimeTypeIds="org.eclipse.jst.server.core.runtimeType"
      class="org.eclipse.jst.server.core.internal.GenericRuntimeClasspathProvider"/>
  </extension>

  <extension point="org.eclipse.wst.server.core.clients">
    <client
      id="org.eclipse.jst.server.jndi"
      name="%launchableJndi"
      description="%launchableJndiDescription"
      priority="-100"
      launchable="org.eclipse.jst.server.core.JndiLaunchable"
      class="org.eclipse.jst.server.core.internal.J2EELaunchableClient"/>
  </extension>

  <extension point="org.eclipse.wst.common.project.facet.core.runtimes">
    <runtime-component-type
       id="org.eclipse.jst.server.core.runtimeType"/>

    <runtime-component-version
       type="org.eclipse.jst.server.core.runtimeType"
       version="1.0"/>

    <adapter>
      <runtime-component
         id="org.eclipse.jst.server.core.runtimeType"/>
      <factory
         class="org.eclipse.jst.server.core.internal.RuntimeClasspathProvider$Factory"/>
      <type
         class="org.eclipse.jst.common.project.facet.core.IClasspathProvider"/>
    </adapter>

    <supported>
      <runtime-component
         id="org.eclipse.jst.server.core.runtimeType"
         version="1.0"/>
      <facet
         id="jst.web"
         version="2.2,2.3,2.4,2.5,3.0"/>
      <facet
         id="jst.ejb"
         version="1.1,2.0,2.1,3.0,3.1"/>
      <facet
         id="jst.ear"
         version="1.2,1.3,1.4,5.0,6.0"/>
      <facet
         id="jst.connector"
         version="1.0,1.5,1.6"/>
      <facet
         id="jst.appclient"
         version="1.2,1.3,1.4,5.0,6.0"/>
      <facet
         id="jst.utility"
         version="1.0"/>
    </supported>
  </extension>

  <extension point="org.eclipse.wst.common.project.facet.core.defaultFacets">
    <default-facets>
      <runtime-component id="org.eclipse.jst.server.core.runtimeType"/>
      <facet id="wst.jsdt.web" version="1.0"/>
    </default-facets>
  </extension>

  <extension point="org.eclipse.wst.server.core.runtimeFacetComponentProviders">
    <runtimeComponentProvider
      id="org.eclipse.jst.server.core.JRERuntimeComponentProvider"
      runtimeTypeIds="*"
      class="org.eclipse.jst.server.core.internal.JRERuntimeComponentProvider"/>
  </extension>
</plugin>