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 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​(@NotNull
                                         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
        default 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
      • getServerCheckoutProperties

        @NotNull
        default java.util.Map<java.lang.String,​java.lang.String> getServerCheckoutProperties​(@NotNull
                                                                                                   VcsRoot root)
                                                                                            throws VcsException
        This method is used to calculate caching key for VCSEntries when checkout on server mode is used. Affects:
        • Server side patch caching key
        • Hash code for checkout directory name calculation with server-side checkout
        Parameters:
        root - VCS root of interest
        Returns:
        see above
        Throws:
        VcsException - if properties cannot be calculated
        Since:
        9.0
      • 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.
      • isAgentSideCheckoutAvailable

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

        default boolean isDAGBased​(@NotNull
                                   VcsRoot root)
        Parameters:
        root - corresponding VCS Root
        Returns:
        true if given VCS Root is DAG-based
        Since:
        10.0
      • isDAGBasedVcs

        default boolean isDAGBasedVcs()
        Deprecated.
        Not used anymore since 10.0, use isDAGBased(VcsRoot) to provide actual implementation
        Returns:
        true if VCS is DAG-based