<?xml version="1.0" encoding="UTF-8"?>
<plugin
   id="org.eclipse.team.tests.core"
   name="Eclipse Team Core Tests"
   version="2.1.0"
   provider-name="Eclipse.org"
   class="">

   <runtime>
      <library name="teamtests.jar">
         <export name="*"/>
         <packages prefixes="org.eclipse.team.tests.core"/>
      </library>
   </runtime>
   <requires>
      <import plugin="org.apache.xerces"/>
      <import plugin="org.eclipse.core.tests.harness"/>
      <import plugin="org.eclipse.core.resources"/>
      <import plugin="org.eclipse.core.boot"/>
      <import plugin="org.eclipse.team.core"/>
      <import plugin="org.eclipse.team.cvs.core"/>
      <import plugin="org.eclipse.team.ui"/>
      <import plugin="org.eclipse.team.cvs.ui"/>
      <import plugin="org.eclipse.compare"/>
      <import plugin="org.eclipse.ui"/>
      <import plugin="org.junit"/>
   </requires>


   <extension
         point="org.eclipse.core.tests.harness.tests">
      <test
            id="team.all">
         <run
               class="org.eclipse.team.tests.core.RepositoryProviderTests">
         </run>
      </test>
   </extension>
   <extension
         point="org.eclipse.core.tests.harness.tests">
      <test
            id="target.all">
         <run
               class="org.eclipse.team.tests.core.TargetProviderTests">
         </run>
      </test>
   </extension>
     <extension
         point="org.eclipse.core.tests.harness.tests">
      <test
            id="team.ftp">
         <run
               class="org.eclipse.team.tests.ftp.ClientTest">
         </run>
      </test>
   </extension>
   
	<!-- *************** Repository Providers **************** -->
	<extension
         point="org.eclipse.team.core.repository">
      <repository
      		id="org.eclipse.team.tests.core.bic-provider"
            class="org.eclipse.team.tests.core.RepositoryProviderBic">
      </repository>
	</extension>
	
	<extension
         point="org.eclipse.team.core.repository">
      <repository
      		id="org.eclipse.team.tests.core.naish-provider"
            class="org.eclipse.team.tests.core.RepositoryProviderNaish">
      </repository>
	</extension>
	
	<!-- *************** Bad provider that is not registered **************** 
	<extension
         point="org.eclipse.team.core.repository">
      <repository
      		id="org.eclipse.team.tests.core.other"
            class="org.eclipse.team.tests.core.RepositoryProviderOtherSport">
      </repository>
	</extension>
	-->
	
	<extension
         point="org.eclipse.team.core.repository">
      <repository
      		id="org.eclipse.team.tests.core.linking"
            class="org.eclipse.team.tests.core.RepositoryProviderWithLinking">
      </repository>
	</extension>
	
	<!-- *************** Test application **************** -->
   <extension
         id="testapplication"
         point="org.eclipse.core.runtime.applications">
      <application>
         <run
               class="org.eclipse.team.tests.ftp.TestApplication">
         </run>
      </application>
   </extension>
   
</plugin>
