<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<!--
    Copyright (c) 2001, 2014 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>

    
<!-- *************** Extension Points **************** -->
   <extension-point id="authenticator" name="%Authenticator" schema="schema/authenticator.exsd"/>
   <extension-point id="connectionmethods" name="%ConnectionMethods" schema="schema/connectionmethods.exsd"/>
   <extension-point id="filemodificationvalidator" name="%FileModificationValidator" schema="schema/filemodificationvalidator.exsd"/>

<!-- *************** Connection Methods **************** -->
   <extension
         id="pserver"
         point="org.eclipse.team.cvs.core.connectionmethods">
      <adapter>
         <run
               class="org.eclipse.team.internal.ccvs.core.connection.PServerConnectionMethod">
            <parameter
                  name="trace"
                  value="false">
            </parameter>
         </run>
      </adapter>
   </extension>
   <extension
         id="ext"
         point="org.eclipse.team.cvs.core.connectionmethods">
      <adapter>
         <run
               class="org.eclipse.team.internal.ccvs.core.connection.ExtConnectionMethod">
            <parameter
                  name="trace"
                  value="false">
            </parameter>
         </run>
      </adapter>
   </extension>
<!-- *************** Repository Provider **************** -->
   <extension
         point="org.eclipse.team.core.repository">
      <repository
            class="org.eclipse.team.internal.ccvs.core.CVSTeamProvider"
            fileSystemScheme="cvs"
            id="org.eclipse.team.cvs.core.cvsnature"
            metaFilePaths="CVS/Root,CVS/Repository"
            typeClass="org.eclipse.team.internal.ccvs.core.CVSTeamProviderType">
      </repository>
   </extension>
<!-- *************** Resource patterns ignored by CVS **************** -->
   <extension
         point="org.eclipse.team.core.ignore">
      <ignore
            enabled="true"
            pattern="RCS">
      </ignore>
      <ignore
            enabled="true"
            pattern="RCSLOG">
      </ignore>
      <ignore
            enabled="true"
            pattern="SCCS">
      </ignore>
      <ignore
            enabled="true"
            pattern="CVS.adm">
      </ignore>
      <ignore
            enabled="false"
            pattern="tags">
      </ignore>
      <ignore
            enabled="false"
            pattern="TAGS">
      </ignore>
      <ignore
            enabled="true"
            pattern=".make.state">
      </ignore>
      <ignore
            enabled="true"
            pattern=".nse_depinfo">
      </ignore>
      <ignore
            enabled="true"
            pattern="*~">
      </ignore>
      <ignore
            enabled="true"
            pattern="#*">
      </ignore>
      <ignore
            enabled="true"
            pattern=".#*">
      </ignore>
      <ignore
            enabled="true"
            pattern=",*">
      </ignore>
      <ignore
            enabled="true"
            pattern="_$*">
      </ignore>
      <ignore
            enabled="true"
            pattern="*$">
      </ignore>
      <ignore
            enabled="true"
            pattern="*.old">
      </ignore>
      <ignore
            enabled="true"
            pattern="*.bak">
      </ignore>
      <ignore
            enabled="true"
            pattern="*.BAK">
      </ignore>
      <ignore
            enabled="true"
            pattern="*.orig">
      </ignore>
      <ignore
            enabled="true"
            pattern="*.rej">
      </ignore>
      <ignore
            enabled="true"
            pattern=".del-*">
      </ignore>
      <ignore
            enabled="false"
            pattern="*.a">
      </ignore>
      <ignore
            enabled="true"
            pattern="*.olb">
      </ignore>
      <ignore
            enabled="true"
            pattern="*.obj">
      </ignore>
      <ignore
            enabled="true"
            pattern="*.o">
      </ignore>
      <ignore
            enabled="false"
            pattern="*.so">
      </ignore>
      <ignore
            enabled="false"
            pattern="*.exe">
      </ignore>
      <ignore
            enabled="true"
            pattern="*.Z">
      </ignore>
      <ignore
            enabled="true"
            pattern="*.elc">
      </ignore>
      <ignore
            enabled="true"
            pattern="*.ln">
      </ignore>
      <ignore
            enabled="true"
            pattern=".DS_Store">
      </ignore>
      <ignore
            enabled="false"
            pattern="core">
      </ignore>
      <ignore
            enabled="false"
            pattern="*.jnilib"/>
      <ignore
            enabled="false"
            pattern="*.sl"/>
      <ignore
            enabled="false"
            pattern="*.dll"/>
      <ignore
            enabled="false"
            pattern="*.bat"/>
      <ignore
            enabled="false"
            pattern="*.com"/>
      <ignore
            enabled="true"
            pattern="*.log"/>
      <ignore
            enabled="false"
            pattern="*.zip"/>
      <ignore
            enabled="false"
            pattern="*.gz"/>
   </extension>

<!-- ************ File Types *************** -->
   <extension
         point="org.eclipse.team.core.fileTypes">
      <fileTypes
            type="text"
            extension="cvsignore">
      </fileTypes>
   </extension>
   <extension
         point="org.eclipse.core.filesystem.filesystems">
      <filesystem scheme="cvs">
         <run class="org.eclipse.team.internal.ccvs.core.filesystem.CVSFileSystem"/>
      </filesystem>
   </extension>
   <extension
         id="changeSetModel"
         name="%ChangeSets"
         point="org.eclipse.core.resources.modelProviders">
      <modelProvider
            class="org.eclipse.team.internal.ccvs.core.mapping.ChangeSetModelProvider"/>
      <extends-model id="org.eclipse.core.resources.modelProvider"/>
   </extension>
   <extension
         point="org.eclipse.core.runtime.adapters">
      <factory
            adaptableType="org.eclipse.team.internal.ccvs.core.mapping.CVSActiveChangeSet"
            class="org.eclipse.team.internal.ccvs.core.mapping.ChangeSetAdapterFactory">
         <adapter type="org.eclipse.core.resources.mapping.ResourceMapping"/>
      </factory>
      <factory
            adaptableType="org.eclipse.team.internal.ccvs.core.mapping.CVSCheckedInChangeSet"
            class="org.eclipse.team.internal.ccvs.core.mapping.ChangeSetAdapterFactory">
         <adapter type="org.eclipse.core.resources.mapping.ResourceMapping"/>
      </factory>
      <factory
            adaptableType="org.eclipse.team.internal.ccvs.core.mapping.UnassignedDiffChangeSet"
            class="org.eclipse.team.internal.ccvs.core.mapping.ChangeSetAdapterFactory">
         <adapter type="org.eclipse.core.resources.mapping.ResourceMapping"/>
      </factory>
   </extension>
   <extension
         point="org.eclipse.team.core.bundleImporters">
      <importer
            id="org.eclipse.team.core.cvs.importer"
            name="%cvsBundleImporter"
            repository="org.eclipse.team.cvs.core.cvsnature">
         <supports
               prefix="scm:cvs:">
         </supports>
         <supports
               prefix="scm:cvs|">
         </supports>
      </importer>
   </extension>
   <extension
         point="org.eclipse.ui.trace.traceComponents">
      <component
            id="org.eclipse.team.cvs.core.trace"
            label="%TraceComponentLabel">
         <bundle
               consumed="false"
               name="org.eclipse.team.cvs.core">
         </bundle>
      </component>
   </extension>
</plugin>
