jetbrains.buildServer.vcs
Interface VcsSupportConfig

All Known Subinterfaces:
VcsSupportCore
All Known Implementing Classes:
ServerVcsSupport, VcsSupport

public interface VcsSupportConfig

Provides configuration information for a VCS support implementation

Since:
4.5

Method Summary
 java.lang.String describeVcsRoot(VcsRoot vcsRoot)
          Returns presentable text describing specified vcs root, for example: svn: http://www.somehost.com/project/
 java.util.Map<java.lang.String,java.lang.String> getCheckoutProperties(VcsRoot root)
          Must return a map of vcs root properties significant for checkout operation.
 java.util.Map<java.lang.String,java.lang.String> getDefaultVcsProperties()
          Returns default VCS property values.
 java.lang.String getDisplayName()
          Returns name to be shown in the UI.
 java.lang.String getName()
          Unique VCS identifier among other installed plugins.
 PropertiesProcessor getVcsPropertiesProcessor()
          Validator for the version control settings as displayed on configuration page for the VCS root.
 java.lang.String getVcsSettingsJspFilePath()
          Version control settings editor page.
 java.util.Comparator<java.lang.String> getVersionComparator()
          Returns comparator which allows to sort modifications by their version.
 java.lang.String getVersionDisplayName(java.lang.String version, VcsRoot root)
          Returns readable presentation of version (this format should be the same as DisplayVersion of VcsModification)
 boolean isAgentSideCheckoutAvailable()
           
 boolean isDAGBasedVcs()
           
 

Method Detail

getName

@NotNull
java.lang.String getName()
Unique VCS identifier among other installed plugins.

Returns:
- unique version control name

getDisplayName

@NotNull
java.lang.String getDisplayName()
Returns name to be shown in the UI.

Returns:
name to be shown to user

getVcsPropertiesProcessor

@Nullable
PropertiesProcessor getVcsPropertiesProcessor()
Validator for the version control settings as displayed on configuration page for the VCS root.

Returns:
- properties validator
See Also:
AbstractVcsPropertiesProcessor

getVcsSettingsJspFilePath

@NotNull
java.lang.String getVcsSettingsJspFilePath()
Version control settings editor page.

Returns:
path to configuration jsp page

describeVcsRoot

@NotNull
java.lang.String describeVcsRoot(VcsRoot vcsRoot)
Returns presentable text describing specified vcs root, for example: svn: http://www.somehost.com/project/

Parameters:
vcsRoot - vcs root to describe
Returns:
vcs root description

getDefaultVcsProperties

@Nullable
java.util.Map<java.lang.String,java.lang.String> getDefaultVcsProperties()
Returns default VCS property values.

Returns:
default configuration values

getCheckoutProperties

@NotNull
java.util.Map<java.lang.String,java.lang.String> getCheckoutProperties(@NotNull
                                                                               VcsRoot root)
                                                                       throws VcsException
Must return a map of vcs root properties significant for checkout operation. If a property is not returned in the map, TeamCity will ignore change in this property for given VCS root. For example, if a property changed and this property is significant for checkout, TeamCity will perform clean checkout. In other words, plugin must return those properties whose change can affect source code on agent. Properties returned by this method also affect checkout directory name on agent. Default implementation in ServerVcsSupport returns all non-secure properties.

Parameters:
root - VCS root of interest
Returns:
see above
Throws:
VcsException - if properties cannot be calculated
Since:
7.1

getVersionDisplayName

@Nullable
java.lang.String getVersionDisplayName(@NotNull
                                                java.lang.String version,
                                                @NotNull
                                                VcsRoot root)
                                       throws VcsException
Returns readable presentation of version (this format should be the same as DisplayVersion of VcsModification)

Parameters:
version - version in internal format
root - root to get version display name for.
Returns:
display format of repository version
Throws:
VcsException - some problem with version control server occurred.

getVersionComparator

@NotNull
java.util.Comparator<java.lang.String> getVersionComparator()
Returns comparator which allows to sort modifications by their version. Latest modification in the sorted collection should be latest modification made in the repository.

Returns:
comparator of two repository versions, both versions were got from VcsModification.getVersion, specific for this support.
See Also:
Service comparator for dates, service comparator for integer versions, service comparator for string versions

isAgentSideCheckoutAvailable

boolean isAgentSideCheckoutAvailable()
Returns:
boolean value indicating agent side checkout ability support

isDAGBasedVcs

boolean isDAGBasedVcs()
Returns:
true if VCS is DAG-based