|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.atlassian.bamboo.v2.build.BaseBuildConfigurationAwarePlugin com.atlassian.bamboo.v2.build.BaseConfigurablePlugin com.atlassian.bamboo.repository.AbstractRepository com.atlassian.bamboo.repository.AbstractStandaloneRepository com.atlassian.bamboo.plugins.hg.HgRepository
public class HgRepository
Nested Class Summary |
---|
Nested classes/interfaces inherited from interface com.atlassian.bamboo.repository.CachingAwareRepository |
---|
CachingAwareRepository.CachableOperation |
Field Summary | |
---|---|
HgRepositoryAccessData |
accessData
|
static Pattern |
branchesPattern
|
static String |
DEFAULT_BRANCH
|
static String |
REPOSITORY_BRANCH
|
static String |
REPOSITORY_HG_AUTHENTICATION
|
static String |
REPOSITORY_HG_BRANCH
|
static String |
REPOSITORY_HG_COMMAND_TIMEOUT
|
static String |
REPOSITORY_HG_PASSWORD
|
static String |
REPOSITORY_HG_REPOSITORY_URL
|
static String |
REPOSITORY_HG_USERNAME
|
static String |
REPOSITORY_HG_VERBOSE_LOGS
|
static String |
REPOSITORY_URL
|
static String |
REPOSITORY_USERNAME
|
Fields inherited from class com.atlassian.bamboo.repository.AbstractRepository |
---|
administrationConfigurationAccessor, BUILD_TRIGGER_IP, buildDirectoryManager, buildLoggerManager, customVariableContext, featureManager, REPO_PREFIX, 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.CommitIsolationAwareRepository |
---|
COMMIT_ISOLATION_OPTION |
Fields inherited from interface com.atlassian.bamboo.plugins.hg.HgRepositoryFacade |
---|
HG_REPOSITORIES_OF_PLAN |
Fields inherited from interface com.atlassian.bamboo.repository.IncludeExcludeAwareRepository |
---|
FILTER_PATTERN_EXCLUDE, FILTER_PATTERN_INCLUDE, FILTER_PATTERN_OPTION, FILTER_PATTERN_REGEX |
Fields inherited from interface com.atlassian.bamboo.repository.FilterChangesetAwareRepository |
---|
CHANGESET_FILTER_PATTERN_REGEX, MAVEN_RELEASE_PLUGIN_EXCLUSION_PATTERN |
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) |
static String |
branchOrDefault(String branch)
|
BuildRepositoryChanges |
collectChangesForRevision(PlanKey planKey,
String targetRevision)
Collects the changes for the targetRevision. |
BuildRepositoryChanges |
collectChangesSinceLastBuild(String planKey,
String lastVcsRevisionKey)
Collects the changes since the lastVcsRevisionKey. |
String |
commit(File sourceDirectory,
String message)
Perform a commit (dvcs commit). |
void |
deleteCaches(Collection<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. |
HgRepositoryAccessData |
getAccessData()
Returns raw access data: - repositoryUrl/branch/username are not substituted - password/sshKey/sshPassphrase are not decrypted |
List<AuthenticationType> |
getAuthenticationTypes()
|
static File |
getCacheBaseDirectory(BuildDirectoryManager buildDirectoryManager)
Separate static method so we can define the cache base directory in one place |
Collection<CacheDescription> |
getCacheDescriptions()
Collection of cache descriptions to be displayed in the admin UI. |
File |
getCacheDirectory()
|
static File |
getCacheDirectory(File baseDirectory,
String repositoryUrl,
String username)
|
CacheId |
getCacheId(CachingAwareRepository.CachableOperation cachableOperation)
Cache id has to fulfill the following: Given two Repository objects A and B, returning equal CacheId (in terms of equals()) and a cachable operation foo(), in the following sequence of calls made in a short time period: 1. |
Map<String,String> |
getCustomVariables()
Return a map containing name->value mapping of the variables. |
CommitContext |
getFirstCommit()
Retrieve the commit that created the Branch. |
String |
getHandlerDescription()
Additional information about this cache type that would be displayed in UI. |
String |
getHgExeCapability()
|
HgRepository |
getHgRepository()
|
String |
getHost()
What's the repository server host |
CommitContext |
getLastCommit()
Retrieve last commit on the branch set on this Repository. |
String |
getLocationIdentifier()
A string representing the location of the repository |
MavenPomAccessor |
getMavenPomAccessor()
|
protected int |
getMaxCommitsToReturn()
|
String |
getName()
The display name for the repository type |
List<VcsBranch> |
getOpenBranches(String context)
Set of open branches that are discovered in the repository. |
String |
getOptionDescription()
|
List<ImmutablePlan> |
getOtherPlansSharingCache(Plan current)
|
Map<String,String> |
getPlanRepositoryVariables()
Return a map containing name->value mapping of the plan repository format variables. |
URI |
getRemoteUri()
|
Set<Requirement> |
getRequirements()
|
String |
getSshExeCapability()
|
HgRepositoryAccessData |
getSubstitutedAccessData()
Returns processed access data: - repositoryUrl/branch/username are substituted - password/sshKey/sshPassphrase are decrypted - username/password are extracted from repositoryUrl if not set explicitly |
VcsBranch |
getVcsBranch()
|
boolean |
isCachingSupportedFor(CachingAwareRepository.CachableOperation cachableOperation)
|
boolean |
isCommitIsolationEnabled()
Whether or not commits will be broken up into individual builds |
boolean |
isHgExecutableSet()
For configuration screens |
boolean |
isMergingSupported()
|
List<BuildRepositoryChanges> |
isolateCommits(BuildRepositoryChanges buildChanges)
Break the single build changes object into a list of BuildRepositoryChanges . |
boolean |
isRepositoryDifferent(Repository repository)
Checks if the current repo is the same as the given repository |
protected boolean |
isWorkspaceEmpty(File sourceCodeDirectory)
|
boolean |
mergeWorkspaceWith(BuildContext buildContext,
File workspace,
String targetRevision)
Merges a workspace located in checkout directory with the target revision. |
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. |
void |
pushRevision(File sourceDirectory,
String vcsRevisionKey)
Push the specified revision to the remote directory. |
String |
retrieveSourceCode(BuildContext buildContext,
String vcsRevisionKey,
File sourceDirectory)
Checks out the latest source code from an appropriate repository to specified directory |
String |
retrieveSourceCode(BuildContext buildContext,
String vcsRevisionKey,
File sourceDirectory,
int depth)
So far mercurial cannot retrieve a "shallow" clone of repository so we're ignoring depth argument |
void |
setBranchIntegrationHelper(BranchIntegrationHelper branchIntegrationHelper)
|
void |
setCapabilityContext(CapabilityContext capabilityContext)
|
void |
setCommitIsolationEnabled(boolean commitIsolationEnabled)
|
void |
setEncryptionService(EncryptionService encryptionService)
|
void |
setHgCacheHandler(HgCacheHandler hgCacheHandler)
|
void |
setI18nResolver(com.atlassian.sal.api.message.I18nResolver i18nResolver)
|
void |
setScopedExclusionService(ScopedExclusionService scopedExclusionService)
|
void |
setSshProxyService(SshProxyService sshProxyService)
|
void |
setVcsBranch(VcsBranch branch)
Set and prepare the repository for using an arbitrary branch. |
org.apache.commons.configuration.HierarchicalConfiguration |
toConfiguration()
Generate a HierarchicalConfiguration from the current state of the object |
boolean |
usePollingForBranchDetection()
If Bamboo generic detection polling should be used for this repository |
ErrorCollection |
validate(BuildConfiguration buildConfiguration)
Validates the properties in the BuildConfiguration object. |
Methods inherited from class com.atlassian.bamboo.repository.AbstractStandaloneRepository |
---|
getAdvancedEditHtml, getAdvancedViewHtml, getEditHtml, getViewHtml, getViewHtml |
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.CacheHandler |
---|
getKey |
Methods inherited from interface com.atlassian.bamboo.repository.AdvancedConfigurationAwareRepository |
---|
getAdvancedEditHtml, getAdvancedViewHtml |
Methods inherited from interface com.atlassian.bamboo.repository.Repository |
---|
checkConnection, getKey, getMinimalEditHtml, getShortKey |
Methods inherited from interface com.atlassian.bamboo.v2.build.repository.RepositoryV2 |
---|
getSourceCodeDirectory |
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.BranchMergingAwareRepository |
---|
getBranchIntegrationEditHtml |
Field Detail |
---|
public static final String DEFAULT_BRANCH
public static final String REPOSITORY_URL
public static final String REPOSITORY_HG_REPOSITORY_URL
public static final String REPOSITORY_BRANCH
public static final String REPOSITORY_HG_BRANCH
public static final String REPOSITORY_HG_AUTHENTICATION
public static final String REPOSITORY_USERNAME
public static final String REPOSITORY_HG_USERNAME
public static final String REPOSITORY_HG_PASSWORD
public static final String REPOSITORY_HG_COMMAND_TIMEOUT
public static final String REPOSITORY_HG_VERBOSE_LOGS
public static final Pattern branchesPattern
public HgRepositoryAccessData accessData
Constructor Detail |
---|
public HgRepository()
Method Detail |
---|
public static String branchOrDefault(@Nullable String branch)
@NotNull public String getName()
Repository
getName
in interface CacheHandler
getName
in interface Repository
getName
in interface DescriptionProvider
getName
in interface NameProvider
public String getHost()
Repository
getHost
in interface Repository
@NotNull public String getLocationIdentifier()
Repository
getLocationIdentifier
in interface Repository
getLocationIdentifier
in class AbstractRepository
public boolean isRepositoryDifferent(@NotNull Repository repository)
RepositoryV2
isRepositoryDifferent
in interface RepositoryV2
repository
- to compare against
@NotNull public File getCacheDirectory()
public static File getCacheBaseDirectory(BuildDirectoryManager buildDirectoryManager)
buildDirectoryManager
- buildDirectoryManager to get the locations from
DeleteHgCacheDirectoryOnAgentMessage
@NotNull public static File getCacheDirectory(File baseDirectory, String repositoryUrl, @Nullable String username)
@NotNull public String commit(@NotNull File sourceDirectory, @NotNull String message) throws RepositoryException
PushCapableRepository
commit
in interface PushCapableRepository
sourceDirectory
- - which workspace directory to perform the commitmessage
- - what message use for commit
RepositoryException
- - when something goes wrongpublic void pushRevision(@NotNull File sourceDirectory, @Nullable String vcsRevisionKey) throws RepositoryException
PushCapableRepository
pushRevision
in interface PushCapableRepository
sourceDirectory
- - the working directory of the repository we want to push fromvcsRevisionKey
- - the revisionKey (usually a branch name) to push
RepositoryException
- - when something goes wrong@NotNull public List<VcsBranch> getOpenBranches(@Nullable String context) throws RepositoryException
BranchDetectionCapableRepository
Set
of open branches that are discovered in the repository. Returns empty collection if no branches at
all (can that happen?). Used for monitoring repositories for new branches.
An open branch is a branch that is considered 'open' by underlying VCS - it has nothing to do with the actual
development on that branch (recent commits or so).
getOpenBranches
in interface BranchDetectionCapableRepository
List
of branch names. May be empty.
RepositoryException
public CacheId getCacheId(@NotNull CachingAwareRepository.CachableOperation cachableOperation)
CachingAwareRepository
getCacheId
in interface CachingAwareRepository
public boolean isCachingSupportedFor(@NotNull CachingAwareRepository.CachableOperation cachableOperation)
isCachingSupportedFor
in interface CachingAwareRepository
@NotNull public VcsBranch getVcsBranch()
getVcsBranch
in interface BranchAwareRepository
public void setVcsBranch(@NotNull VcsBranch branch)
BranchAwareRepository
setVcsBranch
in interface BranchAwareRepository
public CommitContext getLastCommit() throws RepositoryException
BranchDetectionCapableRepository
getLastCommit
in interface BranchDetectionCapableRepository
RepositoryException
public CommitContext getFirstCommit() throws RepositoryException
BranchDetectionCapableRepository
getFirstCommit
in interface BranchDetectionCapableRepository
RepositoryException
protected int getMaxCommitsToReturn()
getMaxCommitsToReturn
in class AbstractRepository
@NotNull public BuildRepositoryChanges collectChangesSinceLastBuild(@NotNull String planKey, @Nullable String lastVcsRevisionKey) throws RepositoryException
RepositoryV2
collectChangesSinceLastBuild
in interface RepositoryV2
lastVcsRevisionKey
- can be null, if null you should ensure the correct vcsrevisionkey is returned in the BuildChanges object.
RepositoryException
- if something goes wrong@NotNull public BuildRepositoryChanges collectChangesForRevision(@NotNull PlanKey planKey, @NotNull String targetRevision) throws RepositoryException
OnceOffCapableRepository
collectChangesForRevision
in interface OnceOffCapableRepository
collectChangesForRevision
in class AbstractRepository
RepositoryException
- if something goes wrong@NotNull public String retrieveSourceCode(@NotNull BuildContext buildContext, @Nullable String vcsRevisionKey, @NotNull File sourceDirectory) throws RepositoryException
CustomSourceDirectoryAwareRepository
retrieveSourceCode
in interface CustomSourceDirectoryAwareRepository
vcsRevisionKey
- - may be null if you want latest codesourceDirectory
- - directory to checkout to
RepositoryException
@NotNull public String retrieveSourceCode(@NotNull BuildContext buildContext, @Nullable String vcsRevisionKey, @NotNull File sourceDirectory, int depth) throws RepositoryException
retrieveSourceCode
in interface BranchMergingAwareRepository
vcsRevisionKey
- - may be null if you want latest codesourceDirectory
- - directory to checkout todepth
- - how many historical revisions we'd like to check out (-1 means all revisions)
RepositoryException
public boolean mergeWorkspaceWith(@NotNull BuildContext buildContext, @NotNull File workspace, @NotNull String targetRevision) throws RepositoryException
BranchMergingAwareRepository
mergeWorkspaceWith
in interface BranchMergingAwareRepository
buildContext
- the build context of build doing the mergeworkspace
- the workspace to use for mergetargetRevision
- the revision to merge with
RepositoryException
public boolean isMergingSupported()
isMergingSupported
in interface BranchMergingAwareRepository
@NotNull public Set<Requirement> getRequirements()
getRequirements
in interface RequirementsAwareRepository
public void addDefaultValues(@NotNull BuildConfiguration buildConfiguration)
BuildConfigurationAwarePlugin
RenderableBuildConfiguration.getEditHtml(com.atlassian.bamboo.ww2.actions.build.admin.create.BuildConfiguration, com.atlassian.bamboo.plan.Plan)
addDefaultValues
in interface BuildConfigurationAwarePlugin
addDefaultValues
in class AbstractRepository
buildConfiguration
- - @NotNullpublic void prepareConfigObject(@NotNull BuildConfiguration buildConfiguration)
BuildConfigurationAwarePlugin
prepareConfigObject
in interface BuildConfigurationAwarePlugin
prepareConfigObject
in class BaseBuildConfigurationAwarePlugin
buildConfiguration
- - @NotNullpublic void populateFromConfig(@NotNull org.apache.commons.configuration.HierarchicalConfiguration config)
ConvertibleFromConfig
HierarchicalConfiguration
populateFromConfig
in interface ConvertibleFromConfig
populateFromConfig
in class AbstractRepository
@NotNull public org.apache.commons.configuration.HierarchicalConfiguration toConfiguration()
ConvertibleFromConfig
HierarchicalConfiguration
from the current state of the object
toConfiguration
in interface ConvertibleFromConfig
toConfiguration
in class AbstractRepository
HierarchicalConfiguration
. Never null@NotNull public Map<String,String> getCustomVariables()
CustomVariableProviderRepository
Null values will be filtered out so it's safe to put them in the map.
getCustomVariables
in interface CustomVariableProviderRepository
@NotNull public Map<String,String> getPlanRepositoryVariables()
CustomVariableProviderRepository
Null values will be filtered out so it's safe to put them in the map.
getPlanRepositoryVariables
in interface CustomVariableProviderRepository
@NotNull public ErrorCollection validate(@NotNull BuildConfiguration buildConfiguration)
BuildConfigurationAwarePlugin
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.
validate
in interface BuildConfigurationAwarePlugin
validate
in class AbstractRepository
buildConfiguration
- - @NotNull
ErrorCollection
keyed by the field name. @NotNull@NotNull public MavenPomAccessor getMavenPomAccessor()
getMavenPomAccessor
in interface MavenPomAccessorCapableRepository
protected boolean isWorkspaceEmpty(File sourceCodeDirectory)
isWorkspaceEmpty
in class AbstractRepository
@NotNull public String getHandlerDescription()
CacheHandler
This should include information about any non-obvious details like scheduling remote agent operations.
getHandlerDescription
in interface CacheHandler
@NotNull public Collection<CacheDescription> getCacheDescriptions()
CacheHandler
getCacheDescriptions
in interface CacheHandler
public void deleteCaches(@NotNull Collection<String> keys, @NotNull com.opensymphony.xwork.ValidationAware feedback)
CacheHandler
deleteCaches
in interface CacheHandler
keys
- keys from CacheDescription.getKey()
feedback
- consumer of UI messagespublic void deleteUnusedCaches(@NotNull com.opensymphony.xwork.ValidationAware feedback)
CacheHandler
It's the responsibility of the implementing class to figure out which caches are currently unused and optionally delete such caches on remote agents.
deleteUnusedCaches
in interface CacheHandler
feedback
- consumer of UI messages@NotNull public List<BuildRepositoryChanges> isolateCommits(@NotNull BuildRepositoryChanges buildChanges)
CommitIsolationAwareRepository
BuildRepositoryChanges
. Must not be null. May return an empty
list but that doesn't actually make any sense. BuildRepositoryChanges
will be more likely to be built than lower changes, which may be discarded.
isolateCommits
in interface CommitIsolationAwareRepository
public boolean isCommitIsolationEnabled()
CommitIsolationAwareRepository
isCommitIsolationEnabled
in interface CommitIsolationAwareRepository
public void setCommitIsolationEnabled(boolean commitIsolationEnabled)
public HgRepositoryAccessData getAccessData()
public HgRepositoryAccessData getSubstitutedAccessData()
public boolean isHgExecutableSet()
@Nullable public String getHgExeCapability()
@Nullable public String getSshExeCapability()
@Nullable public URI getRemoteUri()
public void setCapabilityContext(CapabilityContext capabilityContext)
public void setHgCacheHandler(HgCacheHandler hgCacheHandler)
public void setSshProxyService(SshProxyService sshProxyService)
@NotNull public List<AuthenticationType> getAuthenticationTypes()
public List<ImmutablePlan> getOtherPlansSharingCache(Plan current)
public void setI18nResolver(com.atlassian.sal.api.message.I18nResolver i18nResolver)
public void setEncryptionService(EncryptionService encryptionService)
public String getOptionDescription()
public void setBranchIntegrationHelper(BranchIntegrationHelper branchIntegrationHelper)
public void setScopedExclusionService(ScopedExclusionService scopedExclusionService)
public boolean usePollingForBranchDetection()
BranchInformationProvider
usePollingForBranchDetection
in interface BranchInformationProvider
@Nullable public HgRepository getHgRepository()
getHgRepository
in interface HgRepositoryFacade
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |