jetbrains.buildServer.vcs
Class VcsSupport

java.lang.Object
  extended by jetbrains.buildServer.vcs.ServerVcsSupport
      extended by jetbrains.buildServer.vcs.VcsSupport
All Implemented Interfaces:
BuildPatchByCheckoutRules, BuildPatchPolicy, CollectChangesByCheckoutRules, CollectChangesPolicy, TestConnectionSupport, VcsExtension, VcsFileContentProvider, VcsSupportConfig, VcsSupportContext, VcsSupportCore

Deprecated. implement ServerVcsSupport instead

public abstract class VcsSupport
extends ServerVcsSupport
implements CollectChangesByCheckoutRules, BuildPatchByCheckoutRules, VcsFileContentProvider, VcsSupportConfig, TestConnectionSupport

This class should be implemented in order to support any version control system in TeamCity server. Each particular implementation can implement any of interfaces:

AgentSideCheckoutAbility marker indicates that the support allows to check sources out on agent.

VcsPersonalSupport produces possibility to match full version control file path into relative one.


Constructor Summary
VcsSupport()
          Deprecated.  
 
Method Summary
 boolean allowSourceCaching()
          Deprecated. This method is a part of the new VCS support API and isn't called for derivatives of VcsSupport.
abstract  java.util.List<ModificationData> collectBuildChanges(VcsRoot root, java.lang.String fromVersion, java.lang.String currentVersion, CheckoutRules checkoutRules)
          Deprecated.  
 java.util.List<ModificationData> collectChanges(VcsRoot root, java.lang.String fromVersion, java.lang.String currentVersion, CheckoutRules checkoutRules)
          Deprecated. Returns list of the changes between two revisions given.
 BuildPatchByCheckoutRules getBuildPatchPolicy()
          Deprecated.  
 CollectChangesPolicy getCollectChangesPolicy()
          Deprecated.  
 VcsFileContentProvider getContentProvider()
          Deprecated.  
 TestConnectionSupport getTestConnectionSupport()
          Deprecated.  
 boolean ignoreServerCachesFor(VcsRoot root)
          Deprecated. Return true to disable caching of patches built with fromVersion = null for specified VCS root.
 boolean isAgentSideCheckoutAvailable()
          Deprecated.  
 boolean isCurrentVersionExpensive()
          Deprecated. If the obtaining current version is an expensive operation (see VcsSupportCore.getCurrentVersion(VcsRoot)) the implementation may optimize performance by returning true.
abstract  boolean isTestConnectionSupported()
          Deprecated. Returns true if test connection is supported
 boolean sourcesUpdatePossibleIfChangesNotFound(VcsRoot root)
          Deprecated. Must return true if source files in the build checkout directory can be updated even if no changes were detected between some versions.
 
Methods inherited from class jetbrains.buildServer.vcs.ServerVcsSupport
getCheckoutProperties, getCore, getLabelingSupport, getListFilesPolicy, getPersonalSupport, getUrlSupport, getVcsCustomExtension, getVcsExtension, isDAGBasedVcs
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface jetbrains.buildServer.vcs.BuildPatchByCheckoutRules
buildPatch
 
Methods inherited from interface jetbrains.buildServer.vcs.VcsFileContentProvider
getContent, getContent
 
Methods inherited from interface jetbrains.buildServer.vcs.VcsSupportConfig
describeVcsRoot, getCheckoutProperties, getDefaultVcsProperties, getDisplayName, getName, getVcsPropertiesProcessor, getVcsSettingsJspFilePath, getVersionComparator, getVersionDisplayName, isDAGBasedVcs
 
Methods inherited from interface jetbrains.buildServer.vcs.TestConnectionSupport
testConnection
 
Methods inherited from interface jetbrains.buildServer.vcs.VcsSupportCore
getCurrentVersion
 

Constructor Detail

VcsSupport

public VcsSupport()
Deprecated. 
Method Detail

isCurrentVersionExpensive

public boolean isCurrentVersionExpensive()
Deprecated. 
Description copied from interface: VcsSupportCore
If the obtaining current version is an expensive operation (see VcsSupportCore.getCurrentVersion(VcsRoot)) the implementation may optimize performance by returning true. In this case collecting changes for the current version will be done without specifying upper version. Otherwise VcsSupportCore.getCurrentVersion(VcsRoot) will be called first and then the result will be passed to the change collector as the upper version.

Specified by:
isCurrentVersionExpensive in interface VcsSupportCore
Overrides:
isCurrentVersionExpensive in class ServerVcsSupport
Returns:
false by default
See Also:
CollectChangesPolicy

getContentProvider

@NotNull
public VcsFileContentProvider getContentProvider()
Deprecated. 
Specified by:
getContentProvider in interface VcsSupportContext
Returns:
implementation for file content operations

getCollectChangesPolicy

@NotNull
public CollectChangesPolicy getCollectChangesPolicy()
Deprecated. 
Specified by:
getCollectChangesPolicy in interface VcsSupportContext
Returns:
change collecting policy implementation

collectBuildChanges

public abstract java.util.List<ModificationData> collectBuildChanges(VcsRoot root,
                                                                     @NotNull
                                                                     java.lang.String fromVersion,
                                                                     @NotNull
                                                                     java.lang.String currentVersion,
                                                                     CheckoutRules checkoutRules)
                                                              throws VcsException
Deprecated. 
Throws:
VcsException

collectChanges

public java.util.List<ModificationData> collectChanges(@NotNull
                                                       VcsRoot root,
                                                       @NotNull
                                                       java.lang.String fromVersion,
                                                       @Nullable
                                                       java.lang.String currentVersion,
                                                       @NotNull
                                                       CheckoutRules checkoutRules)
                                                throws VcsException
Deprecated. 
Description copied from interface: CollectChangesByCheckoutRules
Returns list of the changes between two revisions given. Check VcsSupportCore.isCurrentVersionExpensive() if you like to have null for currentVersion

Specified by:
collectChanges in interface CollectChangesByCheckoutRules
Parameters:
root - current settings.
fromVersion - collect changes from this version.
currentVersion - collect changes up to this version.
checkoutRules - checkout rules built on union of all checkout rules of all configurations connected to the root. Include rules have 'from' part the same as 'to' one so you can don't map file paths according to include rules.
Returns:
list of changes between specified versions.
Throws:
VcsException - throw this exception if some problem occurred while collecting changes or changes cannot be collected because of invalid configuration. Localized message will be shown on the web page for the corresponding project
See Also:
service method, which allows you to collect changes for each root include rule.

getBuildPatchPolicy

@NotNull
public BuildPatchByCheckoutRules getBuildPatchPolicy()
Deprecated. 
Specified by:
getBuildPatchPolicy in interface VcsSupportContext
Returns:
patch building policy implementation

getTestConnectionSupport

public TestConnectionSupport getTestConnectionSupport()
Deprecated. 
Specified by:
getTestConnectionSupport in interface VcsSupportContext
Overrides:
getTestConnectionSupport in class ServerVcsSupport
Returns:
null by default

isTestConnectionSupported

public abstract boolean isTestConnectionSupported()
Deprecated. 
Returns true if test connection is supported

Returns:
if test connection supported

isAgentSideCheckoutAvailable

public boolean isAgentSideCheckoutAvailable()
Deprecated. 
Specified by:
isAgentSideCheckoutAvailable in interface VcsSupportConfig
Overrides:
isAgentSideCheckoutAvailable in class ServerVcsSupport
Returns:
false by default

ignoreServerCachesFor

public boolean ignoreServerCachesFor(@NotNull
                                     VcsRoot root)
Deprecated. 
Return true to disable caching of patches built with fromVersion = null for specified VCS root.

Returns:
false by default

sourcesUpdatePossibleIfChangesNotFound

public boolean sourcesUpdatePossibleIfChangesNotFound(@NotNull
                                                      VcsRoot root)
Deprecated. 
Description copied from interface: VcsSupportCore
Must return true if source files in the build checkout directory can be updated even if no changes were detected between some versions. This is possible for example if VCS support plugin can't detect changes when a tag/label is moved. Note that if true is returned for some VCS root, plugin should be able to correctly build patch for this VCS root.
For example, if plugin performs changes collecting in the buildPatch method and then creates patch by detected changes, it should create clean patch for VCS root for which it returned true in this method.

Specified by:
sourcesUpdatePossibleIfChangesNotFound in interface VcsSupportCore
Parameters:
root - VCS root
Returns:
always true by default

allowSourceCaching

public boolean allowSourceCaching()
Deprecated. 
This method is a part of the new VCS support API and isn't called for derivatives of VcsSupport. Don't override it.

Specified by:
allowSourceCaching in interface VcsSupportCore
Overrides:
allowSourceCaching in class ServerVcsSupport
Returns:
see javadoc for VcsSupportCore.allowSourceCaching()