Package hudson.scm

Class AbstractIntegritySCM

java.lang.Object
hudson.scm.SCM
hudson.scm.AbstractIntegritySCM
All Implemented Interfaces:
hudson.ExtensionPoint, hudson.model.Describable<hudson.scm.SCM>, Serializable
Direct Known Subclasses:
IntegritySCM

public abstract class AbstractIntegritySCM extends hudson.scm.SCM implements Serializable
Version:
$Revision: $
Author:
Author: asen
See Also:
  • Field Details

    • LOGGER

      protected static final Logger LOGGER
    • projects

      protected static final Map<String,IntegrityCMProject> projects
    • NL

      public static final String NL
    • FS

      public static final String FS
    • MIN_PORT_VALUE

      public static final int MIN_PORT_VALUE
      See Also:
    • MAX_PORT_VALUE

      public static final int MAX_PORT_VALUE
      See Also:
    • DEFAULT_THREAD_POOL_SIZE

      protected static final int DEFAULT_THREAD_POOL_SIZE
      See Also:
    • DEFAULT_CHECKOUT_THREAD_TIMEOUT

      protected static final int DEFAULT_CHECKOUT_THREAD_TIMEOUT
      See Also:
    • DEFAULT_DATE_FORMAT

      public static final String DEFAULT_DATE_FORMAT
      See Also:
    • SDF

      public static final SimpleDateFormat SDF
    • ciServerURL

      protected final String ciServerURL
    • integrityURL

      protected String integrityURL
    • browser

      protected IntegrityRepositoryBrowser browser
    • serverConfig

      protected String serverConfig
    • userName

      protected String userName
    • password

      protected hudson.util.Secret password
    • configPath

      protected String configPath
    • includeList

      protected String includeList
    • excludeList

      protected String excludeList
    • checkpointLabel

      protected String checkpointLabel
    • configurationName

      protected String configurationName
    • cleanCopy

      protected boolean cleanCopy
    • CPBasedMode

      protected boolean CPBasedMode
    • skipAuthorInfo

      protected boolean skipAuthorInfo
    • lineTerminator

      protected String lineTerminator
    • restoreTimestamp

      protected boolean restoreTimestamp
    • checkpointBeforeBuild

      protected boolean checkpointBeforeBuild
    • alternateWorkspace

      protected String alternateWorkspace
    • fetchChangedWorkspaceFiles

      protected boolean fetchChangedWorkspaceFiles
    • deleteNonMembers

      protected boolean deleteNonMembers
    • checkoutThreadPoolSize

      protected int checkoutThreadPoolSize
    • checkoutThreadTimeout

      protected int checkoutThreadTimeout
    • localClient

      protected boolean localClient
    • sandboxScope

      protected String sandboxScope
    • RETURNED_EXIT_CODE

      protected static final String RETURNED_EXIT_CODE
      See Also:
    • SQL_EXCEPTION_CAUGHT

      protected static final String SQL_EXCEPTION_CAUGHT
      See Also:
  • Constructor Details

    • AbstractIntegritySCM

      public AbstractIntegritySCM()
  • Method Details

    • getBrowser

      @Exported public IntegrityRepositoryBrowser getBrowser()
      Overrides:
      getBrowser in class hudson.scm.SCM
    • getServerConfig

      public String getServerConfig()
      Returns the simple server configuration name
      Returns:
    • getUserName

      public String getUserName()
      Returns the project specific User connecting to the Integrity Server
      Returns:
    • getPassword

      public String getPassword()
      Returns the project specific encrypted password of the user connecting to the Integrity Server
      Returns:
    • getSecretPassword

      public hudson.util.Secret getSecretPassword()
      Returns the project specific Secret password of the user connecting to the Integrity Server
      Returns:
    • getConfigPath

      public String getConfigPath()
      Returns the Project or Configuration Path for a Integrity Source Project
      Returns:
    • getIncludeList

      public String getIncludeList()
      Returns the files that will be excluded
      Returns:
    • getExcludeList

      public String getExcludeList()
      Returns the files that will be included
      Returns:
    • getCleanCopy

      public boolean getCleanCopy()
      Returns true/false depending on whether or not the workspace is required to be cleaned
      Returns:
    • getCPBasedMode

      public boolean getCPBasedMode()
      Returns true/false depending on whether CP based or File based change detection mode is used
      Returns:
    • getLineTerminator

      public String getLineTerminator()
      Returns the line terminator to apply when obtaining files from the Integrity Server
      Returns:
    • getRestoreTimestamp

      public boolean getRestoreTimestamp()
      Returns true/false depending on whether or not the restore timestamp option is in effect
      Returns:
    • getSkipAuthorInfo

      public boolean getSkipAuthorInfo()
      Returns true/false depending on whether or not to use 'si revisioninfo' to determine author information
      Returns:
    • getCheckpointBeforeBuild

      public boolean getCheckpointBeforeBuild()
      Returns true/false depending on whether or not perform a checkpoint before the build
      Returns:
    • getCheckpointLabel

      public String getCheckpointLabel()
      Returns the label string for the checkpoint performed before the build
      Returns:
    • getAlternateWorkspace

      public String getAlternateWorkspace()
      Returns the alternate workspace directory
      Returns:
    • getFetchChangedWorkspaceFiles

      public boolean getFetchChangedWorkspaceFiles()
      Returns the true/false depending on whether or not to synchronize changed workspace files
      Returns:
    • getDeleteNonMembers

      public boolean getDeleteNonMembers()
      Returns the true/false depending on whether non members should be deleted before the build
      Returns:
    • getCheckoutThreadPoolSize

      public int getCheckoutThreadPoolSize()
      Returns the size of the thread pool for parallel checkouts
      Returns:
    • getConfigurationName

      public String getConfigurationName()
      Returns the configuration name for this project Required when working with Multiple SCMs plug-in
    • getSandboxScope

      public String getSandboxScope()
    • setSandboxScope

      @DataBoundSetter public void setSandboxScope(String sandboxScope)
    • setBrowser

      @DataBoundSetter public final void setBrowser(IntegrityRepositoryBrowser browser)
      Sets the Integrity SCM web browser
      Parameters:
      browser -
    • setServerConfig

      public void setServerConfig(String serverConfig)
      Sets the server configuration name for this project
      Parameters:
      serverConfig -
    • setUserName

      @DataBoundSetter public final void setUserName(String userName)
      Sets the project specific User connecting to the Integrity Server
    • setPassword

      @DataBoundSetter public final void setPassword(String password)
      Sets the project specific encrypted Password of the user connecting to the Integrity Server
      Parameters:
      password - - The clear password
    • setConfigPath

      public void setConfigPath(String configPath)
      Sets the Project or Configuration Path for an Integrity Source Project
    • setIncludeList

      @DataBoundSetter public final void setIncludeList(String includeList)
      Sets the files that will be not be included
    • setExcludeList

      @DataBoundSetter public final void setExcludeList(String excludeList)
      Sets the files that will be not be included
    • setCleanCopy

      @DataBoundSetter public final void setCleanCopy(boolean cleanCopy)
      Toggles whether or not the workspace is required to be cleaned
    • setCPBasedMode

      @DataBoundSetter public final void setCPBasedMode(boolean CPBasedMode)
      Toggles whether CP based or File based change detection mode to be used
    • setLineTerminator

      @DataBoundSetter public final void setLineTerminator(String lineTerminator)
      Sets the line terminator to apply when obtaining files from the Integrity Server
    • setRestoreTimestamp

      @DataBoundSetter public final void setRestoreTimestamp(boolean restoreTimestamp)
      Toggles whether or not to restore the timestamp for individual files
    • setSkipAuthorInfo

      @DataBoundSetter public final void setSkipAuthorInfo(boolean skipAuthorInfo)
      Toggles whether or not to use 'si revisioninfo' to determine author information
    • setCheckpointBeforeBuild

      @DataBoundSetter public final void setCheckpointBeforeBuild(boolean checkpointBeforeBuild)
      Toggles whether or not a checkpoint should be performed before the build
      Parameters:
      checkpointBeforeBuild -
    • setCheckpointLabel

      @DataBoundSetter public final void setCheckpointLabel(String checkpointLabel)
      Sets the label string for the checkpoint performed before the build
      Parameters:
      checkpointLabel -
    • setAlternateWorkspace

      @DataBoundSetter public final void setAlternateWorkspace(String alternateWorkspace)
      Sets an alternate workspace for the checkout directory
      Parameters:
      alternateWorkspace -
    • setFetchChangedWorkspaceFiles

      @DataBoundSetter public final void setFetchChangedWorkspaceFiles(boolean fetchChangedWorkspaceFiles)
      Toggles whether or not changed workspace files should be synchronized
      Parameters:
      fetchChangedWorkspaceFiles -
    • setDeleteNonMembers

      @DataBoundSetter public final void setDeleteNonMembers(boolean deleteNonMembers)
      Toggles whether or not non members should be deleted
      Parameters:
      deleteNonMembers -
    • setCheckoutThreadPoolSize

      @DataBoundSetter public final void setCheckoutThreadPoolSize(int checkoutThreadPoolSize)
      Sets the thread pool size of parallel checkout threads
      Parameters:
      checkoutThreadPoolSize -
    • setConfigurationName

      public void setConfigurationName(String configurationName)
      Sets the configuration name for this project
      Parameters:
      configurationName - Name for this project configuration
    • supportsPolling

      public boolean supportsPolling()
      Toggles whether or not the Integrity SCM plugin can be used for polling
      Overrides:
      supportsPolling in class hudson.scm.SCM
    • requiresWorkspaceForPolling

      public boolean requiresWorkspaceForPolling()
      Toggles whether or not a workspace is required for polling Since, we're using a Server Integration Point in the Integrity API, we do not require a workspace.
      Overrides:
      requiresWorkspaceForPolling in class hudson.scm.SCM
    • createChangeLogParser

      public hudson.scm.ChangeLogParser createChangeLogParser()
      Overridden createChangeLogParser function Creates a custom Integrity Change Log Parser, which compares two view project outputs
      Specified by:
      createChangeLogParser in class hudson.scm.SCM
      See Also:
      • SCM.createChangeLogParser()
    • getIntegrityProject

      public IntegrityCMProject getIntegrityProject()
      Returns the Integrity Configuration Management Project
      Returns:
    • findProject

      public static IntegrityCMProject findProject(String configurationName)
      Parameters:
      configurationName -
      Returns:
    • hasProject

      public static boolean hasProject(String configurationName)
      Parameters:
      configurationName -
      Returns:
    • getDescriptor

      public IntegritySCM.DescriptorImpl getDescriptor()
      Returns the SCMDescriptorinvalid input: '<'?> for the SCM object. The SCMDescriptor is used to create new instances of the SCM.
      Specified by:
      getDescriptor in interface hudson.model.Describable<hudson.scm.SCM>
      Overrides:
      getDescriptor in class hudson.scm.SCM
    • getCheckoutThreadTimeout

      public int getCheckoutThreadTimeout()
      Returns the timeout for checkout threads
      Returns:
      checkoutThreadTimeout
    • setCheckoutThreadTimeout

      @DataBoundSetter public void setCheckoutThreadTimeout(int checkoutThreadTimeout)
      Sets the timeout for checkout threads
      Parameters:
      checkoutThreadTimeout -
    • getProjectSettings

      public IntegrityConfigurable getProjectSettings()
      Gets the project specific user/password for this build
    • getLocalClient

      public boolean getLocalClient()
    • setLocalClient

      @DataBoundSetter public void setLocalClient(boolean localClient)