<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?><!--
    Copyright (c) 2002, 2011 IBM Corporation and others.
    All rights reserved. This program and the accompanying materials
    are made available under the terms of the Eclipse Public License v1.0
    which accompanies this distribution, and is available at
    http://www.eclipse.org/legal/epl-v10.html
   
    Contributors:
        IBM Corporation - initial API and implementation
 -->

<plugin>

    
<!-- *************** Connection Methods **************** -->
   <extension
         id="pserver"
         point="org.eclipse.team.cvs.core.connectionmethods">
      <adapter>
         <run
               class="org.eclipse.team.tests.ccvs.core.TestConnectionMethod">
            <parameter
                  name="trace"
                  value="false">
            </parameter>
         </run>
      </adapter>
   </extension>
<!-- **************** TESTS ******************* -->
   <extension
         point="org.eclipse.help.toc">
      <toc
            file="toc.xml"
            primary="true">
      </toc>
   </extension>
   <extension
         point="org.eclipse.ui.perspectives">
      <perspective
            class="org.eclipse.team.tests.ccvs.ui.PerspectiveFactory"
            id="org.eclipse.team.tests.cvs.ui.perspective1"
            name="CVS Test Perspective"/>
   </extension>
   <extension
         id="modelProvider"
         point="org.eclipse.core.resources.modelProviders">
      <modelProvider
            class="org.eclipse.team.tests.ccvs.core.mappings.TestModelProvider"
            name="CVS Test Model"/>
   </extension>
   <extension
         point="org.eclipse.ui.editors">
      <editor
            class="org.eclipse.team.tests.ccvs.ui.TestEditor"
            extensions="cvsTest"
            icon="icons/sample.gif"
            id="org.eclipse.team.tests.cvs.core.editor1"
            name="CVS Test Editor">
      </editor>
   </extension>

<!-- Other declarations -->
   
   <!-- ***** Nature that identifies model projects used in tests for bug 302163 ***** -->
   <extension
         id="bug302163_ModelNature"
         name="Project nature for bug 302163"
         point="org.eclipse.core.resources.natures">
     <runtime>
        <run class="org.eclipse.team.tests.ccvs.core.mappings.model.ModelNature"/>
     </runtime>
   </extension>
 
   <!-- ***** Model provider for the model used in tests for bug 302163 ***** -->
   <extension
         id="bug302163_ModelProvider"
         name="Model Provider for bug 302163"
         point="org.eclipse.core.resources.modelProviders">
      <modelProvider class="org.eclipse.team.tests.ccvs.core.mappings.model.mapping.CustomModelProvider"/>
      <extends-model id="org.eclipse.core.resources.modelProvider"/>
      <enablement>
          <test property="org.eclipse.core.resources.projectNature" value="org.eclipse.team.tests.cvs.core.bug302163_ModelNature" />
      </enablement>
   </extension>
</plugin>
