com.atlassian.bamboo.plugins.hg
Class HgRepository

java.lang.Object
  extended by com.atlassian.bamboo.v2.build.BaseBuildConfigurationAwarePlugin
      extended by com.atlassian.bamboo.v2.build.BaseConfigurablePlugin
          extended by com.atlassian.bamboo.repository.AbstractRepository
              extended by com.atlassian.bamboo.plugins.hg.HgRepository
All Implemented Interfaces:
ConvertibleFromConfig, InitablePluginModule, CacheHandler, CleanCheckoutAwareRepository, CleanWorkingDirectoryAwareRepository, CustomVariableProviderRepository, IncludeExcludeAwareRepository, MavenPomAccessorCapableRepository, QuietPeriodAwareRepository, Repository, DescriptionProvider, NameProvider, BambooPluginModule, BuildConfigurationAwarePlugin, ConfigurablePlugin, RenderableBuildConfiguration, PostConfigurableRepository, RepositoryV2, java.io.Serializable

public class HgRepository
extends AbstractRepository
implements PostConfigurableRepository, MavenPomAccessorCapableRepository, CustomVariableProviderRepository, CacheHandler

See Also:
Serialized Form

Field Summary
 
Fields inherited from class com.atlassian.bamboo.repository.AbstractRepository
BUILD_TRIGGER_IP, buildDirectoryManager, buildLoggerManager, CLEAN_CHECKOUT_PARAM, CLEAN_WORKING_DIRECTORY_PARAM, customVariableContext, repositoryModuleDescriptor, templateRenderer, textProvider
 
Fields inherited from class com.atlassian.bamboo.v2.build.BaseBuildConfigurationAwarePlugin
moduleDescriptor
 
Fields inherited from interface com.atlassian.bamboo.repository.Repository
SELECTED_REPOSITORY, UNKNOWN_HOST
 
Fields inherited from interface com.atlassian.bamboo.repository.IncludeExcludeAwareRepository
FILTER_PATTERN_EXCLUDE, FILTER_PATTERN_INCLUDE, FILTER_PATTERN_OPTION, FILTER_PATTERN_REGEX
 
Constructor Summary
HgRepository()
           
 
Method Summary
 void addDefaultValues(BuildConfiguration buildConfiguration)
          Extension point for adding default values to the form for RenderableBuildConfiguration.getEditHtml(com.atlassian.bamboo.ww2.actions.build.admin.create.BuildConfiguration, com.atlassian.bamboo.plan.Plan)
 BuildChanges collectChangesSinceLastBuild(java.lang.String planKey, java.lang.String lastVcsRevisionKey)
          Collects the changes since the lastVcsRevisionKey
 void deleteCaches(java.util.Collection<java.lang.String> keys, com.opensymphony.xwork.ValidationAware feedback)
          Delete the specified caches, handling internal data updates etc.
 void deleteUnusedCaches(com.opensymphony.xwork.ValidationAware feedback)
          Delete all unused caches.
 AuthenticationType getAuthenticationType()
           
 java.util.List<AuthenticationType> getAuthenticationTypes()
           
 java.lang.String getBranch()
           
static java.io.File getCacheBaseDirectory(BuildDirectoryManager buildDirectoryManager)
          Separate static method so we can define the cache base directory in one place
 java.util.Collection<CacheDescription> getCacheDescriptions()
          Collection of cache descriptions to be displayed in the admin UI.
 java.io.File getCacheDirectory()
           
static java.io.File getCacheDirectory(java.io.File baseDirectory, java.lang.String repositoryUrl, java.lang.String username)
           
 int getCommandTimeout()
           
 java.util.Map<java.lang.String,java.lang.String> getCustomVariables()
          Return a map containing name->value mapping of the variables.
 java.lang.String getHandlerDescription()
          Additional information about this cache type that would be displayed in UI.
 java.lang.String getHgExeCapability()
           
 java.lang.String getHost()
          What's the repository server host
 java.lang.String getLocationIdentifier()
          A string representing the location of the repository
 MavenPomAccessor getMavenPomAccessor()
           
 java.lang.String getName()
          The display name for the repository type
 java.lang.String getOptionDescription()
           
 java.util.List<Plan> getOtherPlansSharingCache(Plan current)
           
 java.lang.String getPassword()
           
 java.net.URI getRemoteUri()
           
 java.lang.String getRepositoryUrl()
           
 boolean getSshCompression()
           
 java.lang.String getSshExeCapability()
           
 java.lang.String getSubstitutedBranch()
           
 java.lang.String getSubstitutedRepositoryUrl()
           
 java.lang.String getSubstitutedUserName()
           
 java.lang.String getUsername()
           
 boolean isHgExecutableSet()
          For configuration screens
 boolean isRepositoryDifferent(Repository repository)
          Checks if the current repo is the same as the given repository
 boolean isVerboseLogs()
           
protected  boolean isWorkspaceEmpty(java.io.File sourceCodeDirectory)
           
 void performPostConfiguration(BuildConfiguration buildConfiguration, Plan plan)
          Allows any other configuration to be performed after another repository has been created.
 void performPostConfigurationForSelectedRepository(BuildConfiguration buildConfiguration, Plan plan)
          Allows any other configuration to be performed after this repository has been created
 void populateFromConfig(org.apache.commons.configuration.HierarchicalConfiguration config)
          Update the current object with data in the HierarchicalConfiguration
 void prepareConfigObject(BuildConfiguration buildConfiguration)
          Do any preprocessing work before validation occurs.
 java.lang.String retrieveSourceCode(BuildContext buildContext, java.lang.String vcsRevision)
          Checks out the latest source code to an appropriate repository
 java.lang.String retrieveSourceCode(java.lang.String planKey, java.lang.String vcsRevisionKey)
          Deprecated. 
 void setAuthenticationType(AuthenticationType authenticationType)
           
 void setBranch(java.lang.String branch)
           
 void setCapabilityContext(CapabilityContext capabilityContext)
           
 void setCommandTimeout(int commandTimeout)
           
 void setHgCacheHandler(HgCacheHandler hgCacheHandler)
           
 void setPassword(java.lang.String password)
           
 void setRepositoryModuleDesciptor(RepositoryModuleDescriptor repositoryModuleDescriptor)
           
 void setTextProvider(com.opensymphony.xwork.TextProvider textProvider)
           
 void setUsername(java.lang.String username)
           
 void setVerboseLogs(boolean verboseLogs)
           
 org.apache.commons.configuration.HierarchicalConfiguration toConfiguration()
          Generate a HierarchicalConfiguration from the current state of the object
 ErrorCollection validate(BuildConfiguration buildConfiguration)
          Validates the properties in the BuildConfiguration object.
 
Methods inherited from class com.atlassian.bamboo.repository.AbstractRepository
checkConnection, createStringFromList, customizeBuildRequirements, getDescription, getEditHtml, getFilterFilePatternOption, getFilterFilePatternRegex, getKey, getMavenPomCheckoutAccessEditHtml, getMaxRetries, getMinimalEditHtml, getQuietPeriod, getShortKey, getSourceCodeDirectory, getSourceCodeDirectory, getTriggerIpAddress, getViewHtml, getWorkingDirectory, init, isCleanCheckout, isCleanWorkingDirectory, isQuietPeriodEnabled, referencesDifferentRepository, removeBuildRequirements, setBuildDirectoryManager, setBuildLoggerManager, setCleanCheckout, setCleanWorkingDirectory, setCustomVariableContext, setFilterFilePatternOption, setFilterFilePatternRegex, setReferencesDifferentRepository, setTemplateRenderer, setTriggerIpAddress, setWorkingDir, substituteString
 
Methods inherited from class com.atlassian.bamboo.v2.build.BaseConfigurablePlugin
customizeBuildRequirements, removeBuildRequirements
 
Methods inherited from class com.atlassian.bamboo.v2.build.BaseBuildConfigurationAwarePlugin
isConfigurationMissing, populateContextForEdit, populateContextForView
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.atlassian.bamboo.repository.Repository
checkConnection, getKey, getMinimalEditHtml, getShortKey, getTriggerIpAddress, setReferencesDifferentRepository
 
Methods inherited from interface com.atlassian.bamboo.v2.build.repository.RepositoryV2
getSourceCodeDirectory, getSourceCodeDirectory, referencesDifferentRepository
 
Methods inherited from interface com.atlassian.bamboo.v2.build.ConfigurablePlugin
customizeBuildRequirements, removeBuildRequirements
 
Methods inherited from interface com.atlassian.bamboo.v2.build.RenderableBuildConfiguration
getEditHtml, getViewHtml
 
Methods inherited from interface com.atlassian.bamboo.utils.DescriptionProvider
getDescription
 
Methods inherited from interface com.atlassian.bamboo.repository.CacheHandler
getKey
 

Constructor Detail

HgRepository

public HgRepository()
Method Detail

getName

@NotNull
public java.lang.String getName()
Description copied from interface: Repository
The display name for the repository type

Specified by:
getName in interface CacheHandler
Specified by:
getName in interface Repository
Specified by:
getName in interface DescriptionProvider
Specified by:
getName in interface NameProvider
Returns:
name for the supported cache type

getHost

public java.lang.String getHost()
Description copied from interface: Repository
What's the repository server host

Specified by:
getHost in interface Repository
Returns:
The host!

getLocationIdentifier

@NotNull
public java.lang.String getLocationIdentifier()
Description copied from interface: Repository
A string representing the location of the repository

Specified by:
getLocationIdentifier in interface Repository
Overrides:
getLocationIdentifier in class AbstractRepository
Returns:

isRepositoryDifferent

public boolean isRepositoryDifferent(@NotNull
                                     Repository repository)
Description copied from interface: RepositoryV2
Checks if the current repo is the same as the given repository

Specified by:
isRepositoryDifferent in interface RepositoryV2
Parameters:
repository - to compare against
Returns:
true of repositories are different, false if the same;

getCacheDirectory

@NotNull
public java.io.File getCacheDirectory()

getCacheBaseDirectory

public static java.io.File getCacheBaseDirectory(BuildDirectoryManager buildDirectoryManager)
Separate static method so we can define the cache base directory in one place

Parameters:
buildDirectoryManager - buildDirectoryManager to get the locations from
Returns:
base directory where the caches should be created
See Also:
DeleteHgCacheDirectoryOnAgentMessage

getCacheDirectory

@NotNull
public static java.io.File getCacheDirectory(java.io.File baseDirectory,
                                                     java.lang.String repositoryUrl,
                                                     java.lang.String username)

collectChangesSinceLastBuild

@NotNull
public BuildChanges collectChangesSinceLastBuild(@NotNull
                                                         java.lang.String planKey,
                                                         @Nullable
                                                         java.lang.String lastVcsRevisionKey)
                                          throws RepositoryException
Description copied from interface: RepositoryV2
Collects the changes since the lastVcsRevisionKey

Specified by:
collectChangesSinceLastBuild in interface RepositoryV2
lastVcsRevisionKey - - can be null, if null you should ensure the correct vcsrevisionkey is returned in the BuildChanges object.
Returns:
A build changes object with the appropriate build changes
Throws:
RepositoryException - if something goes wrong

retrieveSourceCode

@NotNull
public java.lang.String retrieveSourceCode(@NotNull
                                                   BuildContext buildContext,
                                                   @Nullable
                                                   java.lang.String vcsRevision)
                                    throws RepositoryException
Description copied from interface: RepositoryV2
Checks out the latest source code to an appropriate repository

Specified by:
retrieveSourceCode in interface RepositoryV2
vcsRevision - - may be null if you want latest code
Returns:
vcsRevisionKey - the revision
Throws:
RepositoryException

performPostConfiguration

public void performPostConfiguration(BuildConfiguration buildConfiguration,
                                     Plan plan)
Description copied from interface: PostConfigurableRepository
Allows any other configuration to be performed after another repository has been created.

Specified by:
performPostConfiguration in interface PostConfigurableRepository

performPostConfigurationForSelectedRepository

public void performPostConfigurationForSelectedRepository(BuildConfiguration buildConfiguration,
                                                          Plan plan)
Description copied from interface: PostConfigurableRepository
Allows any other configuration to be performed after this repository has been created

Specified by:
performPostConfigurationForSelectedRepository in interface PostConfigurableRepository

retrieveSourceCode

@Deprecated
@NotNull
public java.lang.String retrieveSourceCode(@NotNull
                                                              java.lang.String planKey,
                                                              @Nullable
                                                              java.lang.String vcsRevisionKey)
                                    throws RepositoryException
Deprecated. 

Description copied from interface: RepositoryV2
Checks out the latest source code to an appropriate repository

Specified by:
retrieveSourceCode in interface RepositoryV2
vcsRevisionKey - - may be null if you want latest code
Returns:
vcsRevisionKey - the revision
Throws:
RepositoryException

addDefaultValues

public void addDefaultValues(@NotNull
                             BuildConfiguration buildConfiguration)
Description copied from interface: BuildConfigurationAwarePlugin
Extension point for adding default values to the form for RenderableBuildConfiguration.getEditHtml(com.atlassian.bamboo.ww2.actions.build.admin.create.BuildConfiguration, com.atlassian.bamboo.plan.Plan)

Specified by:
addDefaultValues in interface BuildConfigurationAwarePlugin
Overrides:
addDefaultValues in class AbstractRepository
Parameters:
buildConfiguration - - @NotNull

prepareConfigObject

public void prepareConfigObject(@NotNull
                                BuildConfiguration buildConfiguration)
Description copied from interface: BuildConfigurationAwarePlugin
Do any preprocessing work before validation occurs. For repository, builder and web repository plugins this will only be called if the plugin is select by the user.

Specified by:
prepareConfigObject in interface BuildConfigurationAwarePlugin
Overrides:
prepareConfigObject in class BaseBuildConfigurationAwarePlugin
Parameters:
buildConfiguration - - @NotNull

populateFromConfig

public void populateFromConfig(@NotNull
                               org.apache.commons.configuration.HierarchicalConfiguration config)
Description copied from interface: ConvertibleFromConfig
Update the current object with data in the HierarchicalConfiguration

Specified by:
populateFromConfig in interface ConvertibleFromConfig
Overrides:
populateFromConfig in class AbstractRepository

toConfiguration

@NotNull
public org.apache.commons.configuration.HierarchicalConfiguration toConfiguration()
Description copied from interface: ConvertibleFromConfig
Generate a HierarchicalConfiguration from the current state of the object

Specified by:
toConfiguration in interface ConvertibleFromConfig
Overrides:
toConfiguration in class AbstractRepository
Returns:
Always returns an HierarchicalConfiguration. Never null

getCustomVariables

@NotNull
public java.util.Map<java.lang.String,java.lang.String> getCustomVariables()
Description copied from interface: CustomVariableProviderRepository
Return a map containing name->value mapping of the variables.

Null values will be filtered out so it's safe to put them in the map.

Specified by:
getCustomVariables in interface CustomVariableProviderRepository
Returns:
Map with variable substitutions

validate

@NotNull
public ErrorCollection validate(@NotNull
                                        BuildConfiguration buildConfiguration)
Description copied from interface: BuildConfigurationAwarePlugin
Validates the properties in the BuildConfiguration object. The name of the properties match those passed in through the form fragments in RenderableBuildConfiguration.getEditHtml(com.atlassian.bamboo.ww2.actions.build.admin.create.BuildConfiguration, com.atlassian.bamboo.plan.Plan) template.

Specified by:
validate in interface BuildConfigurationAwarePlugin
Overrides:
validate in class AbstractRepository
Parameters:
buildConfiguration - - @NotNull
Returns:
ErrorCollection keyed by the field name. @NotNull

getMavenPomAccessor

@NotNull
public MavenPomAccessor getMavenPomAccessor()
Specified by:
getMavenPomAccessor in interface MavenPomAccessorCapableRepository

isWorkspaceEmpty

protected boolean isWorkspaceEmpty(java.io.File sourceCodeDirectory)
Overrides:
isWorkspaceEmpty in class AbstractRepository

getHandlerDescription

@NotNull
public java.lang.String getHandlerDescription()
Description copied from interface: CacheHandler
Additional information about this cache type that would be displayed in UI.

This should include information about any non-obvious details like scheduling remote agent operations.

Specified by:
getHandlerDescription in interface CacheHandler
Returns:
additional information about this cache type that would be displayed in UI

getCacheDescriptions

@NotNull
public java.util.Collection<CacheDescription> getCacheDescriptions()
Description copied from interface: CacheHandler
Collection of cache descriptions to be displayed in the admin UI.

Specified by:
getCacheDescriptions in interface CacheHandler
Returns:
collection of all found caches of given type.

deleteCaches

public void deleteCaches(@NotNull
                         java.util.Collection<java.lang.String> keys,
                         @NotNull
                         com.opensymphony.xwork.ValidationAware feedback)
Description copied from interface: CacheHandler
Delete the specified caches, handling internal data updates etc.

Specified by:
deleteCaches in interface CacheHandler
Parameters:
keys - keys from CacheDescription.getKey()
feedback - consumer of UI messages

deleteUnusedCaches

public void deleteUnusedCaches(@NotNull
                               com.opensymphony.xwork.ValidationAware feedback)
Description copied from interface: CacheHandler
Delete all unused caches.

It's the responsibility of the implementing class to figure out which caches are currently unused and optionally delete such caches on remote agents.

Specified by:
deleteUnusedCaches in interface CacheHandler
Parameters:
feedback - consumer of UI messages

isHgExecutableSet

public boolean isHgExecutableSet()
For configuration screens

Returns:
true if mercurial capability is set

getHgExeCapability

@Nullable
public java.lang.String getHgExeCapability()

getSshExeCapability

@Nullable
public java.lang.String getSshExeCapability()

getRepositoryUrl

public java.lang.String getRepositoryUrl()

getSubstitutedRepositoryUrl

public java.lang.String getSubstitutedRepositoryUrl()

getRemoteUri

@Nullable
public java.net.URI getRemoteUri()

getBranch

public java.lang.String getBranch()

getSubstitutedBranch

public java.lang.String getSubstitutedBranch()

setBranch

public void setBranch(java.lang.String branch)

getUsername

public java.lang.String getUsername()

getSubstitutedUserName

public java.lang.String getSubstitutedUserName()

setUsername

public void setUsername(java.lang.String username)

getPassword

public java.lang.String getPassword()

setPassword

public void setPassword(java.lang.String password)

getSshCompression

public boolean getSshCompression()

getCommandTimeout

public int getCommandTimeout()

setCommandTimeout

public void setCommandTimeout(int commandTimeout)

isVerboseLogs

public boolean isVerboseLogs()

setVerboseLogs

public void setVerboseLogs(boolean verboseLogs)

setCapabilityContext

public void setCapabilityContext(CapabilityContext capabilityContext)

setHgCacheHandler

public void setHgCacheHandler(HgCacheHandler hgCacheHandler)

getAuthenticationTypes

@NotNull
public java.util.List<AuthenticationType> getAuthenticationTypes()

getOtherPlansSharingCache

public java.util.List<Plan> getOtherPlansSharingCache(Plan current)

getAuthenticationType

@NotNull
public AuthenticationType getAuthenticationType()

setAuthenticationType

public void setAuthenticationType(AuthenticationType authenticationType)

setTextProvider

public void setTextProvider(com.opensymphony.xwork.TextProvider textProvider)
Overrides:
setTextProvider in class AbstractRepository

setRepositoryModuleDesciptor

public void setRepositoryModuleDesciptor(RepositoryModuleDescriptor repositoryModuleDescriptor)

getOptionDescription

public java.lang.String getOptionDescription()


Copyright © 2011 Atlassian. All Rights Reserved.