|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.atlassian.bamboo.repository.perforce.PerforceManager
public class PerforceManager
This class is designed to be the interface between the perforce library and the repository. TODO Please note that there have been some issues with the legacy perforce api so please only use the tek42 api.
Field Summary | |
---|---|
protected static org.apache.commons.lang.time.FastDateFormat |
dateFormat
|
Constructor Summary | |
---|---|
PerforceManager()
|
Method Summary | |
---|---|
CapabilitySet |
addDefaultPerforceExe(CapabilitySet capabilitySet)
Extracts the default perforce executable from the system properties and creates a capability |
void |
clearCache()
|
java.util.List<Commit> |
getChangeLogEntries(com.tek42.perforce.Depot perforceDepot,
java.util.List<java.lang.Integer> changeNumbers)
Retrieves a list of Bamboo Commit including Commit Files based on list of change numbers |
java.util.List<java.lang.Integer> |
getChangeNumbersFromRevision(com.tek42.perforce.Depot perforceDepot,
java.lang.String clientViewDepot,
int lastRevisionInBamboo,
boolean useClientMapping)
|
java.util.List<java.lang.Integer> |
getChangeNumsBetweenRevisions(com.tek42.perforce.Depot perforceDepot,
java.lang.String depot,
int firstRevision,
int secondRevision,
boolean useClientMapping)
Retrieves a list of change log numbers after the first number and up to (and including) the second number for the depot. |
java.lang.String |
getClientRoot(com.tek42.perforce.Depot perforceDepot)
Retrieves the workspace root as defined in the client configuration |
protected java.lang.String |
getDepotFromView(com.tek42.perforce.Depot perforceDepot,
java.lang.String depotView,
boolean useClientMapping)
Takes in the client view of a depot (right hand side of the view map) and returns the actual depot (left hand side of the view map) If it fails it will return the client view, chances are what you are doing will still work with this. |
java.util.Map<java.lang.String,java.lang.String> |
getDepotViewCache()
|
java.lang.String |
getFileNameForUrl(java.lang.String fileName,
java.lang.String depot,
java.lang.String clientName)
|
java.lang.String |
getHostFromInfo(com.tek42.perforce.Depot perforceDepot)
parses output of perforce indo command to extract out the address of the perforce server |
int |
getLatestChangeNumber(com.tek42.perforce.Depot perforceDepot,
java.lang.String depot,
int latestRevisionInBamboo,
boolean useClientMapping)
retrieves the latest change list number on the perforce server for comparison to the one stored in Bamboo |
java.lang.String |
getWorkingDir(java.lang.String client,
java.lang.String clientRoot,
java.lang.String depot)
Extracts the directory from the depot(client view) and source code directory which will contain the build files |
void |
setupSync(com.tek42.perforce.Depot perforceDepot,
java.io.File sourceDirectory)
Sets the directory for perforce to check the code out to. |
void |
syncToHead(com.tek42.perforce.Depot perforceDepot,
java.lang.String depot,
boolean forceSync)
Syncs the source code to head |
void |
syncToRevision(com.tek42.perforce.Depot perforceDepot,
java.lang.String depot,
int revisionNumber,
boolean forceSync)
Syncs the source code to a specific revision number |
void |
validateClient(ErrorCollection errorCollection,
com.tek42.perforce.Depot depot,
java.lang.String client)
Validates the existence of the specified client of the perforce depot. |
void |
validateConnection(ErrorCollection errorCollection,
com.tek42.perforce.Depot depot)
Validates the connection to the perforce depot. |
void |
validateDepot(ErrorCollection errorCollection,
com.tek42.perforce.Depot validationDepot,
java.lang.String depot)
Validates that the depot string specified is correct. |
void |
validateLogin(ErrorCollection errorCollection,
com.tek42.perforce.Depot depot)
Validates that the login credential supplied (ie user/password combination) is correct. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected static final org.apache.commons.lang.time.FastDateFormat dateFormat
Constructor Detail |
---|
public PerforceManager()
Method Detail |
---|
public void syncToRevision(@NotNull com.tek42.perforce.Depot perforceDepot, @NotNull java.lang.String depot, int revisionNumber, boolean forceSync) throws RepositoryException
perforceDepot
- containing all connection information except client workspace mappingdepot
- client workspace mappingrevisionNumber
- to sync toforceSync
- whether or not to force a full clean checkout
RepositoryException
- if perforce failed to sync the workspacepublic void syncToHead(@NotNull com.tek42.perforce.Depot perforceDepot, @NotNull java.lang.String depot, boolean forceSync) throws RepositoryException
perforceDepot
- containing all connection information except client workspace mappingdepot
- client workspace mappingforceSync
- whether or not to force a full clean checkout
RepositoryException
- if perforce failed to sync the workspacepublic void setupSync(@NotNull com.tek42.perforce.Depot perforceDepot, @NotNull java.io.File sourceDirectory) throws RepositoryException
perforceDepot
- containing connection informationsourceDirectory
- where you want the sync to occur
RepositoryException
- if it fails to connect to the repository@NotNull public java.lang.String getClientRoot(com.tek42.perforce.Depot perforceDepot) throws RepositoryException
perforceDepot
- the client to extract the workspace root for
RepositoryException
- if it fails to connect to the repository@Nullable public java.lang.String getFileNameForUrl(java.lang.String fileName, java.lang.String depot, java.lang.String clientName)
public int getLatestChangeNumber(@NotNull com.tek42.perforce.Depot perforceDepot, @Nullable java.lang.String depot, int latestRevisionInBamboo, boolean useClientMapping) throws RepositoryException
perforceDepot
- containing all connection information except the client workspace mappingdepot
- the client workspace mappinglatestRevisionInBamboo
- the last change list number stored in bamboouseClientMapping
- will use the client side mapping rather than the depot mapping for this command
RepositoryException
- if it fails to connect to the repository@NotNull public java.util.List<java.lang.Integer> getChangeNumsBetweenRevisions(@NotNull com.tek42.perforce.Depot perforceDepot, @Nullable java.lang.String depot, int firstRevision, int secondRevision, boolean useClientMapping) throws RepositoryException
perforceDepot
- containing all connection information except the client workspace mappingdepot
- the client workspace mappingfirstRevision
- change logs will be found which occur after this numbersecondRevision
- change logs will be found up to and including this numberuseClientMapping
- will use the client side mapping rather than the depot mapping for this command
RepositoryException
- on failure to connect to the repositorypublic java.util.List<java.lang.Integer> getChangeNumbersFromRevision(@NotNull com.tek42.perforce.Depot perforceDepot, java.lang.String clientViewDepot, int lastRevisionInBamboo, boolean useClientMapping) throws RepositoryException
RepositoryException
@NotNull public java.util.List<Commit> getChangeLogEntries(@NotNull com.tek42.perforce.Depot perforceDepot, @NotNull java.util.List<java.lang.Integer> changeNumbers) throws RepositoryException
perforceDepot
- containing all connection informationchangeNumbers
- to retrieve changeLog entries for
RepositoryException
- if it fails to connect to the repository@Nullable public java.lang.String getHostFromInfo(@NotNull com.tek42.perforce.Depot perforceDepot)
perforceDepot
- containing connection information
public void validateConnection(@NotNull ErrorCollection errorCollection, @NotNull com.tek42.perforce.Depot depot)
errorCollection
- to add validation errors todepot
- containing connection info to validatepublic void validateLogin(@NotNull ErrorCollection errorCollection, @NotNull com.tek42.perforce.Depot depot)
errorCollection
- to add validation errors todepot
- connection information to testpublic void validateClient(@NotNull ErrorCollection errorCollection, @NotNull com.tek42.perforce.Depot depot, @NotNull java.lang.String client)
errorCollection
- to add any validation errors todepot
- connection information to use to validate client.client
- to check forpublic void validateDepot(@NotNull ErrorCollection errorCollection, @NotNull com.tek42.perforce.Depot validationDepot, @NotNull java.lang.String depot)
errorCollection
- to add any validation errors tovalidationDepot
- connection information to use to validatedepot
- client workspace to validate@Nullable public java.lang.String getWorkingDir(@Nullable java.lang.String client, @Nullable java.lang.String clientRoot, @Nullable java.lang.String depot)
client
- - name of the clientclientRoot
- - the location the source will be checked out todepot
- - the depot(client view) as specified by the user
@NotNull public CapabilitySet addDefaultPerforceExe(@NotNull CapabilitySet capabilitySet)
capabilitySet
- to add the capability to
protected java.lang.String getDepotFromView(@NotNull com.tek42.perforce.Depot perforceDepot, @Nullable java.lang.String depotView, boolean useClientMapping)
perforceDepot
- containing all connection information except the client mappingdepotView
- - the client mapping you want to match
public java.util.Map<java.lang.String,java.lang.String> getDepotViewCache()
public void clearCache()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |