<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<!--
  ~ Licensed to the Apache Software Foundation (ASF) under one or more
  ~ contributor license agreements.  See the NOTICE file distributed with
  ~ this work for additional information regarding copyright ownership.
  ~ The ASF licenses this file to You under the Apache License, Version 2.0
  ~ (the "License"); you may not use this file except in compliance with
  ~ the License.  You may obtain a copy of the License at
  ~
  ~    http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  -->

<!-- $Rev$ $Date$ -->

<plugin>
	 <extension point="org.eclipse.wst.server.core.runtimeTypes">
        <runtimeType id="org.apache.geronimo.runtime.11"
            name="%runtimeTypeName" description="%runtimeTypeDescription"
            vendor="%runtimeTypeVendor" version="1.1"
            class="org.apache.geronimo.st.v11.core.GeronimoRuntime">
            <moduleType types="jst.web" versions="2.2, 2.3, 2.4"/>
            <moduleType types="jst.ejb" versions="1.1, 2.0, 2.1"/>
            <moduleType types="jst.connector" versions="1.0, 1.5"/>
            <moduleType types="jst.ear" versions="1.2, 1.3, 1.4"/>
            <moduleType types="jst.utility" versions="1.0"/>
        </runtimeType>
    </extension>
    
    <extension point="org.eclipse.wst.server.core.serverTypes">
        <serverType id="org.apache.geronimo.server.11"
            name="%serverTypeName" description="%serverTypeDescription"
            runtime="true"
            class="org.apache.geronimo.st.v11.core.GeronimoServer"
            initialState="stopped" supportsRemoteHosts="true"
            startTimeout="240000" stopTimeout="30000" startBeforePublish="true"
            runtimeTypeId="org.apache.geronimo.runtime.11"
            launchConfigId="org.apache.geronimo.st.core.launchConfigurationType"
            behaviourClass="org.apache.geronimo.st.v11.core.GeronimoServerBehaviour"
            hasConfiguration="false" launchModes="run,debug,profile">
        </serverType>
    </extension>
    
    <extension point="org.eclipse.wst.server.core.installableRuntimes">
        <installableRuntime id="org.apache.geronimo.runtime.tomcat.11"
            featureVersion="1.1.1"
            featureId="org.apache.geronimo.installableruntime.tomcat.feature"
            featureSite="http://www.apache.org/dist/geronimo/eclipse/updates/"
            path="geronimo-tomcat-j2ee-1.1.1.zip">
        </installableRuntime>
        <installableRuntime id="org.apache.geronimo.runtime.jetty.11"
            featureVersion="1.1.1"
            featureId="org.apache.geronimo.installableruntime.jetty.feature"
            featureSite="http://www.apache.org/dist/geronimo/eclipse/updates/"
            path="geronimo-jetty-j2ee-1.1.1.zip">
        </installableRuntime>
    </extension>
    
    <extension point="org.eclipse.jst.server.core.runtimeFacetMappings">
        <runtimeFacetMapping
            runtimeTypeId="org.apache.geronimo.runtime.11"
            runtime-component="org.apache.geronimo.runtime" version="1.1"/>
    </extension>
    
    <extension point="org.eclipse.wst.common.project.facet.core.facets">        
        <project-facet-version facet="org.apache.geronimo.facet" version="1.1">
            <action type="install" id="geronimo.plan.install">
                <delegate class="org.apache.geronimo.st.v11.core.operations.GeronimoV11FacetInstallDelegate"/>
                <config-factory class="org.apache.geronimo.st.v11.core.DeploymentPlanInstallConfig$Factory"/>
            </action>
            <constraint>
                <or>
                    <requires facet="jst.ear" version="1.2"/>
                    <requires facet="jst.ear" version="1.3"/>
                    <requires facet="jst.ear" version="1.4"/>
                    <requires facet="jst.ear" version="1.4"/>
                    <requires facet="jst.ear" version="5.0"/>
                    <requires facet="jst.appclient" version="1.2"/>
                    <requires facet="jst.appclient" version="1.3"/>
                    <requires facet="jst.appclient" version="1.4"/>
                    <requires facet="jst.appclient" version="5.0"/>
                    <requires facet="jst.connector" version="1.0"/>
                    <requires facet="jst.connector" version="1.5"/>
                    <requires facet="jst.ejb" version="1.1"/>
                    <requires facet="jst.ejb" version="2.0"/>
                    <requires facet="jst.ejb" version="2.1"/>
                    <requires facet="jst.ejb" version="3.0"/>
                    <requires facet="jst.web" version="2.2"/>
                    <requires facet="jst.web" version="2.3"/>
                    <requires facet="jst.web" version="2.4"/>
                    <requires facet="jst.web" version="2.5"/>
                    <requires facet="jst.utility" version="1.0"/>
                </or>
            </constraint>
        </project-facet-version>
    </extension>
    
    <extension point="org.eclipse.wst.common.project.facet.core.defaultFacets" 
    	id="org.apache.geronimo.defaultFacets"
        name="Geronimo Default Facets">
        <default-facets>
            <runtime-component id="org.apache.geronimo.runtime" version="1.1"/>
            <facet id="org.apache.geronimo.facet" version="1.1"/>
        </default-facets>
    </extension>
  
</plugin>
