<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<!-- =================================================================================== -->
<!-- Team Examples Plug-in Manifest 					                                 -->
<!-- =================================================================================== -->
<plugin
   id="org.eclipse.team.examples.filesystem"
   name="%pluginName"
   version="3.0.0"
   provider-name="%providerName"
   class="org.eclipse.team.examples.filesystem.FileSystemPlugin">

<!-- =================================================================================== -->
<!-- Libraries						 					                                 -->
<!-- =================================================================================== -->

<runtime>
	<library name="teamfilesystem.jar">
    	<export name="*"/>
       	<packages prefixes="org.eclipse.team.examples.filesystem"/>
	</library>
</runtime>
   
<!-- =================================================================================== -->
<!-- Imports						 					                                 -->
<!-- =================================================================================== -->
   
<requires>
	<import plugin="org.eclipse.core.runtime.compatibility"/> 
	<import plugin="org.eclipse.ui.ide" optional="true"/>
	<import plugin="org.eclipse.ui.views" optional="true"/>
	<import plugin="org.eclipse.jface.text" optional="true"/>
	<import plugin="org.eclipse.ui.workbench.texteditor" optional="true"/>
	<import plugin="org.eclipse.ui.editors" optional="true"/>
	<import plugin="org.eclipse.core.resources"/>
	<import plugin="org.eclipse.team.core"/>
	<import plugin="org.eclipse.team.ui"/>
	<import plugin="org.eclipse.compare"/>
	<import plugin="org.eclipse.ui"/>
</requires>

<!-- =================================================================================== -->
<!-- Repository Providers																 -->
<!-- =================================================================================== -->

<extension point="org.eclipse.team.core.repository">
	<repository
    	class="org.eclipse.team.examples.filesystem.FileSystemProvider"
		id="org.eclipse.team.examples.filesystem.FileSystemProvider">
	</repository>
</extension>

<extension point="org.eclipse.team.core.repository">
	<repository
		class="org.eclipse.team.examples.pessimistic.PessimisticFilesystemProvider"
		id="org.eclipse.team.examples.pessimistic.pessimisticnature">
	</repository>
</extension>

<!-- =================================================================================== -->
<!-- Synchronize Participants -->
<!-- =================================================================================== -->

 <extension
       point="org.eclipse.team.ui.synchronizeParticipants">
    <participant
          persistent="false"
          class="org.eclipse.team.examples.filesystem.ui.FileSystemSynchronizeParticipant"
          icon="icons/full/wizards/fsicon_wiz.gif"
          name="File System Example"
          id="org.eclipse.team.examples.filesystem.participant"/>
 </extension>
 
 <extension
       point="org.eclipse.team.ui.synchronizeWizards">
    <wizard
          class="org.eclipse.team.examples.filesystem.ui.SynchronizeWizard"
          icon="icons/full/wizards/fsicon_wiz.gif"
          description="Synchronize files managed with the file system provider."
          name="Synchronize File System Provider"
          id="org.eclipse.team.examples.filesystem.synchronizeWizard"/>
 </extension>
 
 <extension
         point="org.eclipse.team.ui.synchronizeParticipants">
      <participant
            persistent="false"
            icon="icons/full/wizards/synced.gif"
            class="org.eclipse.team.examples.localhistory.LocalHistoryParticipant"
            name="Latest From Local History"
            id="org.eclipse.team.synchronize.example"/>
   </extension>
   
   <extension
         point="org.eclipse.team.ui.synchronizeWizards">
      <wizard
            class="org.eclipse.team.examples.localhistory.LocalHistorySynchronizeWizard"
            icon="icons/full/wizards/synced.gif"
            description="ExampleSynchronizeSupport.wizard1"
            name="Synchronize with Latest From Local History"
            id="ExampleSynchronizeSupport.wizard1"/>
   </extension>
      
<!-- =================================================================================== -->
<!-- Menus for File System Example														 -->
<!-- =================================================================================== -->

   <extension
         point="org.eclipse.ui.popupMenus">
      <objectContribution
            objectClass="org.eclipse.core.resources.IResource"
            adaptable="true"
            id="org.eclipse.team.examples.filesystem.ResourceContributions">
         <filter
               name="projectPersistentProperty"
               value="org.eclipse.team.core.repository=org.eclipse.team.examples.filesystem.FileSystemProvider">
         </filter>
         <action
               label="%Put.name"
               tooltip="%Put.tooltip"
               class="org.eclipse.team.examples.filesystem.ui.PutAction"
               menubarPath="team.main/group1"
               id="org.eclipse.team.examples.filesystem.put">
         </action>
         <action
               label="%Get.name"
               tooltip="%Get.tooltip"
               class="org.eclipse.team.examples.filesystem.ui.GetAction"
               menubarPath="team.main/group1"
               id="org.eclipse.team.examples.filesystem.get">
         </action>
         <action
               label="%Synchronize.name"
               tooltip="%Synchronize.tooltip"
               class="org.eclipse.team.examples.filesystem.ui.SynchronizeAction"
               menubarPath="team.main/group1"
               id="org.eclipse.team.examples.filesystem.synchronize">
         </action>
         <action
               label="%Replace.name"
               tooltip="%ReplaceAction.tooltip"
               class="org.eclipse.team.examples.filesystem.ui.ReplaceAction"
               menubarPath="replaceWithMenu/replaceWithGroup"
               id="org.eclipse.team.examples.filesystem.replace">
         </action>
      </objectContribution>
      <objectContribution
            objectClass="org.eclipse.core.resources.IProject"
            adaptable="true"
            id="org.eclipse.team.examples.filesystem.ProjectContributions">
         <filter
               name="projectPersistentProperty"
               value="org.eclipse.team.core.repository=org.eclipse.team.examples.filesystem.FileSystemProvider">
         </filter>
         <action
               label="%Unmanage.name"
               tooltip="%Unmanage.tooltip"
               class="org.eclipse.team.examples.filesystem.ui.DisconnectAction"
               menubarPath="team.main/group2"
               id="org.eclipse.team.examples.filesystem.unmanage">
         </action>
      </objectContribution>
   </extension>

<!-- =================================================================================== -->
<!-- Sharing Wizards 														 			 -->
<!-- =================================================================================== -->

   <extension
         point="org.eclipse.team.ui.configurationWizards">
      <wizard
            name="%fswizard.name"
            icon="icons/full/wizards/fsicon_wiz.gif"
            class="org.eclipse.team.examples.filesystem.ui.ConfigurationWizard"
            id="org.eclipse.team.examples.filesystem.ui.ConfigurationWizard">
      </wizard>
   </extension>
   
      <extension
         point="org.eclipse.team.ui.configurationWizards">
      <wizard
            name="Pessimistic Simple Provider (Non-Versioning)"
            icon="icons/full/wizards/fsicon_wiz.gif"
            class="org.eclipse.team.examples.pessimistic.ui.ConfigurationWizard"
            id="org.eclipse.team.examples.pessimistic.ui.ConfigurationWizard">
      </wizard>
   </extension>
   
<!-- =================================================================================== -->
<!-- Property Pages																		 -->
<!-- =================================================================================== -->

   <extension
         point="org.eclipse.ui.propertyPages">
      <page
            objectClass="org.eclipse.core.resources.IResource"
            adaptable="true"
            name="%fspropertypage.name"
            class="org.eclipse.team.examples.filesystem.ui.FileSystemPropertiesPage"
            id="org.eclipse.team.examples.filesystem.ui.FileSystemPropertiesPage">
         <filter
               name="projectPersistentProperty"
               value="org.eclipse.team.core.repository=org.eclipse.team.examples.filesystem.FileSystemProvider">
         </filter>
      </page>
   </extension>

<!-- =================================================================================== -->
<!-- Preference Pages																	 -->
<!-- =================================================================================== -->

   <extension
         point="org.eclipse.ui.preferencePages">
      <page
            name="Pessimistic Filesystem Provider"
            category="org.eclipse.team.ui.TeamPreferences"
            class="org.eclipse.team.examples.pessimistic.ui.PessimisticPreferencesPage"
            id="org.eclipse.team.examples.pessimistic.ui.PessimisticPreferences">
      </page>
   </extension>

<!-- =================================================================================== -->
<!-- Decorators																		 -->
<!-- =================================================================================== -->

   <extension
         point="org.eclipse.ui.decorators">
      <decorator
            objectClass="org.eclipse.core.resources.IResource"
            adaptable="true"
            label="Pessimistic Filesystem Provider Decorator"
            state="true"
            class="org.eclipse.team.examples.pessimistic.ui.PessimisticDecorator"
            id="org.eclipse.team.pessimistic.ui.decorator">
         <description>
            Provides simple checked-in, checked-out decorations on files.
         </description>
      </decorator>
   </extension>

<!-- =================================================================================== -->
<!-- Menus for Pessimistic Provider														 -->
<!-- =================================================================================== -->

   <extension
         point="org.eclipse.ui.popupMenus">
      <objectContribution
            objectClass="org.eclipse.core.resources.IResource"
            adaptable="true"
            id="org.eclipse.team.cvs.ui.filesystem.ResourceContributions">
         <filter
               name="projectPersistentProperty"
               value="org.eclipse.team.core.repository=org.eclipse.team.examples.pessimistic.pessimisticnature">
         </filter>
         <action
               label="Checkout"
               tooltip="Check resources out of the repository"
               class="org.eclipse.team.examples.pessimistic.ui.CheckOutAction"
               menubarPath="team.main/group1"
               id="org.eclipse.team.examples.pessimistic.checkout">
         </action>
         <action
               label="Checkin"
               tooltip="Check resources into the repository"
               class="org.eclipse.team.examples.pessimistic.ui.CheckInAction"
               menubarPath="team.main/group1"
               id="org.eclipse.team.examples.pessimistic.checkin">
         </action>
         <action
               label="Uncheckout"
               tooltip="Revert checked out status of resources"
               class="org.eclipse.team.examples.pessimistic.ui.UncheckOutAction"
               menubarPath="team.main/group1"
               id="org.eclipse.team.examples.pessimistic.uncheckout">
         </action>
      </objectContribution>
      <objectContribution
            objectClass="org.eclipse.core.resources.IFile"
            adaptable="true"
            id="org.eclipse.team.cvs.ui.filesystem.ResourceContributions">
         <filter
               name="projectPersistentProperty"
               value="org.eclipse.team.core.repository=org.eclipse.team.examples.pessimistic.pessimisticnature">
         </filter>            
         <action
               label="Add to control"
               class="org.eclipse.team.examples.pessimistic.ui.AddToControlAction"
               menubarPath="team.main/group2"
               id="org.eclipse.team.examples.pessimistic.addToControl">
         </action>
         <action
               label="Remove from control"
               class="org.eclipse.team.examples.pessimistic.ui.RemoveFromControlAction"
               menubarPath="team.main/group2"
               id="org.eclipse.team.examples.pessimistic.removeFromControl">
         </action>
      </objectContribution>              
      <objectContribution
            objectClass="org.eclipse.core.resources.IFolder"
            adaptable="true"
            id="org.eclipse.team.cvs.ui.filesystem.ResourceContributions">
         <filter
               name="projectPersistentProperty"
               value="org.eclipse.team.core.repository=org.eclipse.team.examples.pessimistic.pessimisticnature">
         </filter>            
         <action
               label="Add to control"
               class="org.eclipse.team.examples.pessimistic.ui.AddToControlAction"
               menubarPath="team.main/group2"
               id="org.eclipse.team.examples.pessimistic.addToControl">
         </action>
         <action
               label="Remove from control"
               class="org.eclipse.team.examples.pessimistic.ui.RemoveFromControlAction"
               menubarPath="team.main/group2"
               id="org.eclipse.team.examples.pessimistic.removeFromControl">
         </action>
      </objectContribution>              
      <objectContribution
            objectClass="org.eclipse.core.resources.IProject"
            adaptable="true"
            id="org.eclipse.team.cvs.ui.filesystem.ResourceContributions">
         <filter
               name="projectPersistentProperty"
               value="org.eclipse.team.core.repository=org.eclipse.team.examples.pessimistic.pessimisticnature">
         </filter>
         <action
               label="Stop sharing"
               tooltip="Stop sharing the project using the pessimistic file provider"
               class="org.eclipse.team.examples.pessimistic.ui.DisconnectAction"
               menubarPath="team.main/projectGroup"
               id="org.eclipse.team.examples.pessimistic.disconnect">
         </action>
      </objectContribution>
   </extension>
   
<!-- =================================================================================== -->
<!-- Capability Support (a.k.a. Activities)														 -->
<!-- =================================================================================== -->   
   
	<extension point="org.eclipse.ui.activities">
    
    <!-- File System Provider bindings -->
	<activity
		name="%activity.team.examples.filesystem.name"
		description="%activity.team.examples.filesystem.description"
		id="org.eclipse.team.examples.filesystem">
	</activity> 
	   
	<activityRequirementBinding
		activityId="org.eclipse.team.examples.filesystem"
		requiredActivityId="org.eclipse.team">
	</activityRequirementBinding>
	  
	<activityPatternBinding
		activityId="org.eclipse.team.examples.filesystem"
		pattern="org\.eclipse\.team\.examples\.filesystem/.*filesystem\.ui.*">
	</activityPatternBinding>
	  
	<activityPatternBinding
		activityId="org.eclipse.team.examples.filesystem"
		pattern="org\.eclipse\.team\.examples\.filesystem/.*FileSystemProvider">
	</activityPatternBinding>
	  
	<categoryActivityBinding
		activityId="org.eclipse.team.examples.filesystem"
		categoryId="org.eclipse.categories.teamCategory">
	</categoryActivityBinding>

    <!-- Pessimistic Provider bindings -->   
    <activity
		name="%activity.team.examples.pessimistic.name"
		description="%activity.team.examples.pessimistic.description"
		id="org.eclipse.team.examples.pessimistic">
	</activity> 
	   
	<activityRequirementBinding
		activityId="org.eclipse.team.examples.pessimistic"
		requiredActivityId="org.eclipse.team">
	</activityRequirementBinding>
	  
	<activityPatternBinding
		activityId="org.eclipse.team.examples.pessimistic"
		pattern="org\.eclipse\.team\.examples\.filesystem/.*pessimistic\.ui.*">
	</activityPatternBinding>
	  
	<activityPatternBinding
		activityId="org.eclipse.team.examples.pessimistic"
		pattern="org\.eclipse\.team\.examples\.filesystem/.*pessimisticnature">
	</activityPatternBinding>
	  
	<categoryActivityBinding
		activityId="org.eclipse.team.examples.pessimistic"
		categoryId="org.eclipse.categories.teamCategory">
	</categoryActivityBinding>

	</extension>
</plugin>
